如何用开发板实现蓝牙从设备功能
简介
蓝牙是一种短距离的无线通信技术,工作在2.4GHZ频段,使用IEEE802.15协议。见指南
步骤
蓝牙从模式,先init,再poweron,再data_trans把收到的数据回传。如下:ble_test = {init, poweron,data_trans}
1、初始化init
注册响应core蓝牙消息的函数,rtos.on(rtos.MSG_BLUETOOTH, function(msg)…).
2、上电开始poweron
btcore.open(0) --打开蓝牙从模式。
3、数据传输data_trans
先等待连接成功_, bt_connect = sys.waitUntil(“BT_CONNECT_IND”) ;
再_, bt_recv = sys.waitUntil(“BT_DATA_IND”) --等待接收到数据;最后数据回传btcore.send(data, 0xfee2, bt_connect.handle)–发送数据(数据 对应特征uuid 连接句柄)。
本文以demo/bluetooth/为例做演示。
1.下载脚本到开发板。
2.手机nRF连接“Luat_Air724UG”发送测试数据如图
3.开发收到并回复,这里用的串口1打印。避免用USB打印开机前的一些日志没有、和不休眠。如图
nRF收到回复
4.手机nRF发送close,开发板关闭连接
常见问题
1.需要增加信号强度,用外置天线。
这个0欧姆电阻跨到那个ipex头那里,可以接外置天线。
2.3029版本固件,当模块重启时,蓝牙MAC会变化。
是没有写蓝牙MAC导致的。带蓝牙功能的模块出厂都会写一个唯一的蓝牙MAC的。可以用AT+BTMAC?查询验证。
解决办法,可以自己手动写一个蓝牙MAC。用AT+BTMAC=