安卓APP和单片机(stm32外设屏幕显示)蓝牙实现数据通信的步骤和要掌握的知识有哪些?

安卓APP和单片机STM32蓝牙数据通信步骤:

1.建立通讯模型

Android端APP通过蓝牙和蓝牙模块比如HC05通讯数据,蓝牙模块通过串口将Android端发送的数据传递给STM32单片机;STM32接收到蓝牙模块数据再驱动LCD显示出来。STM32通过串口发送AT指令来配置蓝牙模块。

安卓APP和单片机(stm32外设屏幕显示)蓝牙实现数据通信的步骤和要掌握的知识有哪些?安卓APP和单片机(stm32外设屏幕显示)蓝牙实现数据通信的步骤和要掌握的知识有哪些?

现在蓝牙通信已经是非常成熟的无线通讯技术了,在手机、智能穿戴设备等产品中几乎是标配了。正是因为如此,现在市面上已经有很多蓝牙芯片了,这大大降低了蓝牙技术的开发难度。

单片机要通过蓝牙与手机实现无线通讯,方案成熟,要实现这一功能,需要涉及如下几个方面:

▲单片机系统硬件电路的设计;

▲蓝牙芯片硬件电路的设计;

▲单片机程序以及蓝牙协议栈程序的编写;

▲手机端APP应用软件的编写;

1.单片机/蓝牙系统硬件电路的设计

这一部分要求所选用的单片机具有UART的片上资源,单片机要通过串口和蓝牙芯片实现数据的交互,蓝牙芯片将数据打包成符合蓝牙标准的数据实现与手机的通信。单片机和蓝牙的通信需要用到四根线:VCC,GND,TXD,RXD。

安卓APP和单片机(stm32外设屏幕显示)蓝牙实现数据通信的步骤和要掌握的知识有哪些?

本周三,瑞典斯德哥尔摩举办了第 19 届隐私增强技术研讨会。来自波士顿大学的两名研究人员,讨论了他们的最新研究成果。

其声称,蓝牙通信协议中的一个缺陷,或导致使用现代设备的用户泄露身份凭证,导致其易被识别和追踪。

别有用心者可借此实现对用户的监视,配备蓝牙模块的 Windows 10、iOS 和 macOS 设备均受到影响。

安卓APP和单片机(stm32外设屏幕显示)蓝牙实现数据通信的步骤和要掌握的知识有哪些?

(截图 via ZDNet)

该漏洞影响包括 iPhone / iPad / Apple Watch / MacBook,以及微软平板与笔记本电脑在内的诸多设备。值得庆幸的是,Android 设备并未受到影响。

在这篇题为《追踪匿名蓝牙设备》的研究论文(PDF)中,其宣称许多蓝牙设备都存在着 MAC 地址。

即便有随机 MAC 地址的选项,但他们发现了可以绕过这一层的方法,以实现对特定设备的永久性监控。

识别令牌通常与 MAC 地址搭配使用,而 David Starobinski 和 Johannes Becker 开发的“地址携带”新算法,能够利用有效载荷的异步特性和地址变化,来实现超越设备地址随机化的追踪方案。

其写到,该算法无需消息解密、或已任何方式破坏蓝牙的安全性,因其完全基于公共、未加密的‘广播流量’(advertising traffic)。

这项研究主要针对 2010 年引入的低功耗蓝牙规范(同样被用于蓝牙 5.0),在实验室中,研究人员建立了基于苹果和微软设备的测试平台,以分析 BLE 广播频道和标准蓝牙接近度内的‘广告事件’。

测试期间,研究人员使用了 Xianjun Jiao 的 BTLE 软件套件和定制版本的嗅探器。通过被动收集一段时间内的广告事件和日志文件,分析相关信息并引出显示设备 ID 令牌的数据结构。

研究指出,多数计算机和智能手机操作系统都会默认实施 MAC 地址的随机化,以防止被长期被动追踪,因为永久标识符是不会被广播的。

然而研究人员在运行 Windows 10、iOS 或 macOS 的设备上发现,系统会定期发送包含自定义数据结构的广告事件,它们会被用于与 BLE 范围内其它设备 / 特定平台的交互。

结果就是,通过为攻击者提供所谓的“临时 / 次要伪装身份”数据,研究人员可以通过算法筛出这些标识符,实现规避地址随机化的设备追踪。

有趣的是,这一缺陷并不影响 Android 设备,因为该移动操作系统不会不间断地发送广告信息。相反,Android SDK 会扫描附近的广播,而不是持续地暴露自身。

研究人员总结道:“如果不改变老旧的算法策略,任何定期发布广播信息的数据设备都会受到影响”。

预计 2019 至 2022 年间,蓝牙设备数量会从 42 亿增加到 52 亿。想要在未加密的通信信道上建立反追踪方法,将是至关重要的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论