【发布时间】:2018-02-09 23:05:24
【问题描述】:
我正在编写一个 C 程序来与我手机上的 nrf connect android 应用程序进行交互。我在我的 linux 机器上安装了 libbluetooth-dev 进行开发。要求是我需要在 nrf 连接应用程序上找到我的 Linux 机器上的蓝牙 USB 加密狗。然后我需要从移动应用程序连接到 Linux 机器,然后交换数据。为了实现这一点,我编写了这样的程序,它首先创建一个 RFComm 套接字,侦听它并在有人想要连接时接受连接,然后使用读/写调用来交换数据。问题是我不知道如何使 USB 加密狗可见,以便在 nrf 连接应用程序上可以发现它。
我尝试了很多谷歌搜索,但找不到任何可行的建议。
【问题讨论】:
-
RFComm 不是蓝牙低功耗协议。 nRFConnect 应用程序查找并显示低功耗蓝牙设备。要在 nRF Connect 应用程序中找到您的设备,您的 USB 加密狗应该是蓝牙 4.0,并且它应该做广告。你需要在你的 Linux 机器上创建 GATT 服务来交换数据。
-
感谢您的回复。是的,我知道 RFComm 只是主机上使用的传输协议之一。是的,我的 USB 蓝牙适配器是 4.1。做广告与使可发现性相同吗?我不明白这两者之间的区别。所以在使用 RFComm 创建套接字之后,我应该只做广告并启动 GATT 服务,然后调用“accept”? NRf connect 可以看到我的 USB 加密狗吗?如果您有任何示例来源,请提供给我 Ravi 吗?
标签: bluetooth bluetooth-lowenergy bluez