我不是一个大师,我在一些模块上做了一些简单的服务,配对和bla bla:9 我们的一位客户问我是否可以通过运行信标服务来控制mcu gpio。据我所知,beacon标准只是一个检查接近度的灯塔(流式传输简单数据包uuid,信号强度等等),这样做的唯一方法是公开一个与beacon同时运行的新服务(实际上发送多个包的类型)。我不想要配对(beacon< - >设备应用)并且不担心竞争条件,如果多个设备设置/重置gpio,这不是我的事。
我发现了类似的https://community.estimote.com/hc/en-us/articles/217429867-What-is-GPIO-How-to-set-it-up-,您的想法是什么?
有图书馆或eddystone的扩展吗?关于github的一些项目?
我们更喜欢使用Nordic ble模块,但如果你知道基于其他mcu的解决方案,欢迎你。
感谢您的帮助
答案 0 :(得分:2)
标准信标(iBeacon,Eddystone,AltBeacon)仅为传输设备。它们只是以固定速率发送带有唯一标识符的广告。一些制造商将专有配置接口公开为读写蓝牙LE GATT服务。但是没有标准的GATT服务可以做到这一点,而制造商特定的方案专门用于设置信标标识符和其他操作参数。
除了适用于iOS和Android的标准蓝牙LE SDK之外,我认为除此之外还有特定于信标的库或扩展程序 。为了使用北欧BLE模块实现这一目标,您需要构建自己的自定义系统:
编写定制的北欧固件(与信标传输固件并列),以暴露新的蓝牙LE GATT服务。该服务将公开一个可写的GATT属性,用于控制GPIO引脚。
编写连接到此GATT服务的自定义移动应用程序代码(iOS上的CoreBluetooth和Android上的android.bluetooth),并写入GATT属性以控制该引脚。
您必须注意的一件事是,连接到GATT服务通常会阻止蓝牙外围设备进行广告宣传(意味着它不会作为信标传输)。因此,您可能希望快速断开连接,以防止移动设备或其他蓝牙中心停止信标传输。