我将问一个非常主观的问题,但这是很重要的,因为我希望从失败中恢复有效地使用BlueZ编程。
基本上,我设想的是一个运行在微型计算机上的IoT边缘设备(Ex: Raspberry pi或Intel计算棒)。然后,该设备将运行AlpineLinux操作系统并与云交互。
由于它是IoT环境,因此在ISM频段上蓝牙BLE的重要性就更不用说了。因此,能够定制和使用BlueZ至关重要。
我希望用BlueZ来做几件事,包括但不限于
由于我需要对数据进行完全控制,因此对于数据处理和与云(边缘人工智能或云上的数据科学)的交互,我将研究三种使用BlueZ的方法:
1号是我失败的地方。构造和导出DBus对象然后调用BlueZ方法的工作量太大了。此外,没有保证你将能够处理所有的BLE问题。
NO2看起来非常有希望,我想充分探讨修改BlueZ代码以满足我的需要的可行性。
3号是最不理想的选择,但我还是想让它作为后备方案。
根据我的问题陈述,未来最可行的策略是什么?我大声要求这样做,这样我就不会犯更多的错误,也不会花费自己的时间和精力。
发布于 2019-06-18 08:11:32
您的最佳策略是从第二种方法开始(您已经发现这是很有希望的),因为这是一个可行的解决方案,许多开发人员使用这个方法来创建他们的BlueZ程序。以下是我要做的:-
到这个过程结束时,您将能够更好地理解蓝牙‘ll/btmgmt和D-BUS API的内部结构,这样您就可以完全将代码从原始的蓝牙’ll/btmgmt中分离出来,或者从头开始创建程序。
您可能已经知道这一点,但是在修改工具时,这是源代码的起点:-
有关使用蓝牙命令和btmgmt的更多参考资料,请参见以下链接:-
我希望这能帮到你。
https://stackoverflow.com/questions/56364377
复制相似问题