本方案是通过蓝牙Mesh模组接入天猫精灵IoT开放平台。开发过程如下:
首先下载Airoha SDK包,解压安装SDK包后(开发环境也是集成在SDK里的),打开AB161X(2.0.3)-Build Environment,默认的路径是SDK的根目录,需要通过在编译环境的命令行输入"make ./projects/MESH/ali_mesh_device/release_1611.setting_build"进行编译。执行后就可以在窗口看到编译的信息,如果有错误也会提示在这里。

编译完成后的bin文件是放在当前工程的output目录下,这个时候就需要使用的Airoha的MP Tool下载bin文件和三元组。Airoha提供的SDK里已经完成MESH标准协议和接入天猫精灵的接口,并提供了源代码,客户可以根据自己的需要再新增功能。


蓝牙Mesh模组要接入天猫精灵Iot开放平台,需要满足《天猫精灵蓝牙mesh软件基础规范》 。 烧录了ali_mesh_device程序 AB1611的Mesh板上电后,如果是初次上电,还处于未配网状态,就会广播Uniprovisionied Device Beacon,每次广播时长40ms等待天猫精灵发现设备。广播间隔100ms,持续10分钟。10分钟后仍未被配网则进入静默广播状态。需要注意的是广播中的Device UUID是识别设备的关键信息,要想成功接入天猫精灵,还需要开发者去天猫精灵开发者网站申请三元组,三元组包括MAC地址,Product ID, Secret,用于设备鉴权。三元组只能使用Airoha提供的MP Tool预先烧录到AB1611的 Flash区域。
如果在AB1611 Mesh板广播的时间内,对天猫精灵说“找队友”或者“发现设备”,天猫精灵就会发现模拟为智能灯的AB1611的 Mesh 板,并且将“智能灯”进行配网。配网分为Provisioning Capabilities,Provisioning Confirmation,Provisioning Data阶段,Provision完成配置阶段。在Provisioning Capabilities阶段,mesh设备在Provisioning Capabilities阶段提供OOB方式,要求唯一支持Static OOB方式,其中的AuthValue计算过程如下:AuthValue = SHA256(Product ID,MAC,Secret)。在Provisioning Confirmation阶段会对设备进行认证是否是合法的设备,天猫精灵和mesh设备会使用Static OOB方式来做认证,如果天猫精灵和mesh设备两边计算得到的Confirmation值不相同,则认证失败,结束流程。配网成功后,就可以通过Mesh网络控制灯的开关,和亮度。对天猫精灵说打开灯,则Mesh板子上的LED灯就会亮起来。