2016-04-05 52 views
0

我不是一个活泼的老师,我曾在一些模块上公开一些简单的配对和bla bla服务:9 我们的一位客户问我是否可以控制mcu gpio,一个信标服务正在运行。对于我所知道的信标标准只是一个灯塔来检查接近(流简单的数据包uuid,信号强度等),唯一的办法就是暴露与信标同时运行的新服务(实际上发送多个包类型)。我不希望配对(信标< - >设备应用程序),不要担心竞争条件,如果多设备设置/重置gpio,这不是我的业务。Ble 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

您能否详细介绍一下您正试图解决的用例:“我们的一位客户问我是否可以控制mcu gpio”?如果我理解正确,您希望gpio成为输出,并且您希望根据与信标进行通信的外部设备触发的事件来控制输出线路上的电压。它是否正确?描述你会这样做的情况可能会有帮助。由于信标通常只是传输,所以这种用例听起来像可能需要非典型实现。 – davidgyoung

+0

正确。客户希望控制连接到信标板的一些LED,但理论上应该有许多由gpio信标板控制的设备。问题很简单,如何将信标放入接收模式,以及如何将数据从设备发送到信标灯? – sukoy

回答

2

标准信标(iBeacon显示,埃迪斯通,AltBeacon)是只传送设备。他们只是以固定的速率发送广告与唯一的标识符。一些制造商将专有配置接口作为读写蓝牙LE GATT服务。但是没有标准的GATT服务,它可以做到这一点,制造商特定的方案专门设计用于设置信标标识符和其他操作参数。

我不认为有特定的信标库或扩展,这将有助于与此,除iOS和Android的标准蓝牙LE SDKs。为了实现与北欧BLE模块你就需要建立自己的自定义系统这一目标:

  1. 编写自定义的北欧固件(坐在旁边信标传输固件)是暴露了一个新的蓝牙LE GATT服务。该服务将公开一个可写的GATT属性来控制GPIO引脚。

  2. 编写连接到此GATT服务的自定义移动应用程序代码(iOS上的CoreBluetooth和Android上的android.bluetooth),并写入GATT属性以控制引脚。

你必须注意的一件事是,连接到GATT服务通常会阻止蓝牙外设广告(意味着它不会作为信标传输)。因此,您可能希望快速放弃连接,以防止移动设备或其他蓝牙中心停止信标传输。