学会开发蓝牙设备与微信平台对接的技术,非工程师也可以学
发布日期:2017.04.21 浏览次数:227
如果你需要身边的设备实现蓝牙功能只要将蓝牙模块嵌入至设备中,利用手机APP程序进行连接通讯,若不用APP也可以利用微信对设备进行蓝牙功能的管理。现在我来介绍一下如何利用微信管理蓝牙设备!主要介绍模块嵌入微信协议的技术说明,其中包括使用方法、应用场景、主要功能、逻辑结构、及其他各项指标特性。
应用原理介绍
设备所用的蓝牙模块是可以兼容蓝牙4.0及以上版本的蓝牙版本,可以满足超低功耗、低时延、短距离无线通信的需求,微信昇润蓝牙模块可以让你不用了解低功耗蓝牙协议层面的知识,直接使用类似串口的通信方式、便可以开发支持低功耗蓝牙通信和微信平台的智能产品。
组网透传蓝牙模块可以把所有来自外部 其他MCU 的串口数据经过 BLE无线信道透明传输给微信平台 ,然后再传输到设备厂商的服务器。设备厂商服务器的数据也可以通过微信平台透传给外部 MCU。
微信平台与设备外部MCU的原理图框通信原理
在模块和微信平台进行通信之前,需要在微信后台对模块进行授权(具体操作方法在微信后台的接口文档有相关教程),对模块上电后可自动进行广播,打开微信的公众平台,微信 APP 便会自动的与模块进行连接。原理模型如下图。
模块脚位及相关配置
对应参数表:
串口配置
TX:DIO-3
RX:DIO-2
WAKEUP:IO0_4
115200bps, no parity, one stop bit。
蓝牙配置
蓝牙服务:
SERVICE UUID:FEE7
Write Characteristics UUID:FEC7
Indicate Characteristics UUID:FEC8
Read Characteristics UUID:FEC9
AT指令
具体实施步骤:
1. 参照以上所述原理框图把硬件搭建好。
2. MCU 在向模块发送串口数据前需先拉低 WU/P0.4 引脚来唤醒模块。延迟1ms 后,再发送数据。在数据发送期间,WU/P0.4 必须始终保持为低电平,数据发送完毕后再拉高 WU/P0.4 引脚,使其可以进入睡眠状态,降低功耗。 通常每次向模块连续发送的串口数据一般不要超过 250 个字节。
3. 模块在向 MCU 发送串口数据之前会自动拉低 P0.5 引脚以通知 MCU 接收数据。如果 MCU 是不处于睡眠状态的,则就可以不需要处理此引脚。
补充:AT指令说明
1. "AT " :
作用:测试串口是否正常
参数个数:无
响应:通讯成功返回“AT+OK”,否则无响应
2. “AT+BAUD=n ” :
作用:设置串口波特率
参数个数:1
参数取值:n 的取值范围 0-4,实际对应波特率为:
(1)0: 9600bps
(2)1: 19200bps
(3)2: 38400bps
(4)3: 57600bps
(5)4: 115200bps
模块只支持上面(参数取值)的 5 个波特率,且其默认的波特率为 115200bps。当 MCU 向模块发送该指令后,模块会直接改变自身的波特率。MCU 也应该改变自己的波特率,以保持和模块一致,避免产生误码。
若忘记了已设置好的波特率,你也可以尝试在不同的波特率下发送 getRole(或 其他 get 指令),直到得到正确的回复,可以通过方式来确定模块当前的波特率。