首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux识别我的BLE?

Linux识别我的BLE?
EN

Stack Overflow用户
提问于 2017-01-05 15:37:55
回答 0查看 257关注 0票数 0

我有一个BLE SoC (QN9021)通过UART接口连接到linux系统(beagle bone运行openwrt)。我希望linux能够识别与系统连接的BLE,并且像gatttool, hcitool这样的命令应该可以与我的BLE一起工作。

此外,我正在使用Bluez,我希望BlueZ库能够找到我的BLE并直接与其通信。

看起来bluez中的源文件使用socket()函数调用来与蓝牙适配器通信。我已经发布了包含套接字调用的hcitool.c源文件的一节:

代码语言:javascript
复制
/* Open HCI device.
 * Returns device descriptor (dd). */
int hci_open_dev(int dev_id)
{
struct sockaddr_hci a;
int dd, err;

/* Check for valid device id */
if (dev_id < 0) {
    errno = ENODEV;
    return -1;
}

/* Create HCI socket */
dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI);
if (dd < 0)
    return dd;

/* Bind socket to the HCI device */
memset(&a, 0, sizeof(a));
a.hci_family = AF_BLUETOOTH;
a.hci_dev = dev_id;
if (bind(dd, (struct sockaddr *) &a, sizeof(a)) < 0)
    goto failed;

return dd;

failed:
err = errno;
close(dd);
errno = err;

return -1;
}

如前所述,我将通过通用异步收发器连接BLE。如何让我的BLE识别为蓝牙,并像socket()这样的函数调用应该打开我的BLE的描述符?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41479580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档