
蓝牙的原理,就不在这里细说了。因为百度搜索一下非常的多,并且异常的复杂,
这里简单的归类总结:蓝牙是一种短距离无线通讯技术,最大的优势就是集成在手机里面了。同时不算大也不算小的带宽,就能支持音乐播放,同时跳频机制,就增加了蓝牙的稳定性
蓝牙模块,串口蓝牙模块等等产品,顾名思义就是实现蓝牙功能的半成品模块产品。主要由蓝牙芯片和外围元器件组成,从而形成一个可以直接供用户使用的产品。正因为蓝牙芯片的种类繁多,所以很多工程师在选择的时候,不知道该怎么选
选择合适的蓝牙模块,最重要的是选择蓝牙模块最核心的主控芯片,因为主控芯片的性能,直接决定了蓝牙模块的功能,以及一些重要的参数,比如:蓝牙版本、模块体积、功耗、音频、BLE速率等等核心的参数
上篇文章中,我们主要介绍了蓝牙模块,传统/经典蓝牙模块BT和低功耗蓝牙BLE及其相关的API,不熟悉的可以查看 Android蓝牙开发(一)蓝牙模块及核心API 进行了解。
本篇主要记录用到的经典蓝牙开发流程及连接通讯。
蓝牙连接前,给与相关系统权限:
安卓60以上系统要动态请求及获取开启GPS内容:
蓝牙核心对象获取,若获取对象为null则说明设备不支持蓝牙:
判断蓝牙是否开启,没有则开启:
蓝牙扫描:
取消扫描:
蓝牙监听广播,监听蓝牙开关,发现设备,扫描结束等状态,定义状态回调接口,进行对应 *** 作,例如:监听到蓝牙开启后,进行设备扫描;发现设备后进行连接等。
客户端,与服务端建立长连接,进行通讯:
服务端监听客户端发起的连接,进行接收及通讯:
客户端连接及服务端监听基类,用于客户端和服务端之前Socket消息通讯,进行消息或文件的发送、接收,进行通讯关闭 *** 作等:
我这里只是简单记录了项目中用到的蓝牙通讯,两个设备之间不通过配对进行连接、通讯。
相关详细内容及使用请查看Github项目: >
python提供了丰富的module 对串口的 *** 作同样有对应的module:serial
环境:python35 蓝牙模块:HC-05 波特率38400
首先导入serial模块(通过pip install serial 安装)
获取串口ser 通过serialSerial(地址,波特率,超时时间)
创建线程监听串口数据
使用 serin_waiting() 获知数据量 这个函数返回当前串口收到的数据长度
收取数据后进行详细 *** 作
蓝牙模块接收到的是一个怎样的数据,这个很笼统。蓝牙与蓝牙之间传输的音乐、文档、视频……这些都是数据。
像SKYLAB做的一个关于蓝牙模块的方案,主要是通过手机上安装一个控制灯颜色以及亮暗程度的APP,手机蓝牙和灯的蓝牙模块相连,用APP控制灯。这个过程就是APP颜色和亮度的的指令给手机蓝牙,手机蓝牙传输给灯的蓝牙模块,实现灯颜色以及亮度的改变。
1、首先需要校准时间的手机上安装的应用程序开启计时程序模块,时间提供源手机的蓝牙模块接收到指令后,通过应用程序发送至与该实时时钟模块连接的时间提取模块中,提取当前时间信息。
2、其次通过其应用程序和蓝牙模块发送至需要校准时间的手机的蓝牙模块。
3、最后再发送至其应用程序,终止计时程序模块,计算终止计时和开始计时的时间差,并将其与接收到的当前时间相加后,得到此刻的标准时间数据,发送至需要校准时间的手机的实时时钟模块并显示。
计算机端配蓝牙适配器 十几块民币吧
单片机端配蓝牙串口模块 二十几块 淘宝找找
于计算机单片机都串口通信接口完全需其程序
(唯要注意市面蓝牙模块基本都支持模式蓝牙模块没9位数据模式)
所^_^
以上就是关于蓝牙模块的原理与结构全部的内容,包括:蓝牙模块的原理与结构、Android蓝牙开发(二)经典蓝牙消息传输实现、python对串口蓝牙模块的 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)