如果我们只想用电脑端的蓝牙来接收数据,而不用串口模块,下边是关于BLE低功耗蓝牙的使用代码介绍。
运行下列matlab代码获取到环境中的BLE设备
blelist
我的ESP32BLE蓝牙的名字取为了“ESP32”(arduino代码写入ESP32的)
// Create the BLE Device
BLEDevice::init("ESP32");
matlab可以用这句话获得此BLE蓝牙的句柄
b = ble("esp32")
查看这个蓝牙的服务和特性
b.Characteristics
得到蓝牙的服务与特性为:
我们可以通过UUID来连接到我们需要的服务与特性
c = characteristic(b, "4FAFC201-1FB5-459E-8FCC-C5C9C331914B", "BEB5483E-36E1-4688-B7F5-EA07361B26A8")
此时我们就可以接收数据了,如果ESP32的BLE是广播模式的话,我们可以通过回调函数来进行读取数据
c.DataAvailableFcn = @displayCharacteristicData
函数如下
function displayCharacteristicData(src,evt)
[data,timestamp] = read(src,'oldest');
disp(data);
disp(timestamp);
end
这样每次广播新的数据的时候都会进入回调函数,在回调函数中处理我们的数据即可。
关于广播接收数据或者是,写数据等资料可以通过查询BLE官方文档得到