如何使树莓派变身蓝牙mesh Provisioner?

winniewei 提交于 周四, 11/08/2018
如何使树莓派变身蓝牙mesh Provisioner?

作者:蓝牙技术联盟亚太区开发者关系经理  任凯

蓝牙mesh在去年7月正式发布,至今已经过去了一年多的时间。在过去的一年中,蓝牙mesh的开发者社区有哪些最新的更新?

  • 多家会员公司推出了面向开发者的蓝牙mesh SDK;
  • 相关的开源社区已经提供了关于蓝牙mesh和蓝牙5的开源项目;
  • 相关会员公司提供了蓝牙mesh 的IP解决方案;
  • 现有的蓝牙协议分析仪器供应商逐步支持蓝牙mesh协议解析;
  • 以及采用蓝牙mesh的终端产品;

综上所述,蓝牙mesh的开发者社区在过去的一年中有着非常快速的发展。对于蓝牙mesh的开发者,随着蓝牙mesh的开发者社区生态逐渐的完善,将会有越来越多的开发者投入其中。如果大家要开发蓝牙mesh的产品或者是原型,首要的问题就是需要有一个蓝牙mesh的Provisioner,因为Provisioner负责为新加入的设备分配unicast address,网络密钥network key,设备密钥 device key,IV Index等等这些重要的信息,那么如何能够以最快的速度搭建一个蓝牙mesh的Provisioner?任凯为大家提供一个自己的解决方案:在树莓派3上面部署BlueZ,使其成为一个蓝牙mesh的Provisioner。

有蓝牙开发经验的工程师应该都听说过BlueZ,BlueZ是官方的Linux蓝牙协议栈,从BlueZ v5.47开始,BlueZ加入一款名为meshctl的工具。通过这款工具,开发者可以通过PB-GATT 和GATT Proxy 的方式对于新加入的设备进行provisioning以及相关的model configuration。在看到BlueZ支持蓝牙mesh之后,着实激动了好几天,试图在树莓派3主板上部署BlueZ v5.49,但是有几个障碍让我感到困惑和挣扎,我花了大约两周时间在互联网上寻找解决方案,并与Linux专家讨

论解决问题并使其能够正常工作。解决的问题可能是开发人员必须面对的问题,作为蓝牙技术联盟的开发者关系经理,我认为我有责任向开发人员分享我的知识和经验。所以,我总结了我解决的问题,收集了相应的信息,然后我为开发人员编写了一个教程,希望开发人员可以使用本教程来搭建一个属于自己的蓝牙mesh Provisioner。

本教程包括:

  • 准备工作;
  • 如何配置树莓派3;
  • 如何为BlueZ v5.49安装依赖项;
  • 如何获取BlueZ v5.49源代码;
  • 如何在树莓派3上编译和安装BlueZ;
  • 如何重新编译和安装树莓派3的内核为meshctl工具搭建运行条件;
  • 如何验证内核安装;

最后,为开发者附上教程的下载地址,希望开发者们踊跃尝试!

相关文章