
本文目录
1.准备工具
2.阿里云生活物联网平台(飞燕平台)
3.固件和配置文件烧录
4.PB-01/02开发板接入天猫精灵
5.对接协议调试及说明
(附件:设备参数列表)
2.1 进入阿里云生活物联网平台(飞燕平台)

点击“确认”,授权登录。

2.2 添加新产品
点击“创建新项目”,进行设置。



在新项目里创建新产品,我们先来创建一个灯。

协议类型——非低功耗



1.支持png格式,最大不能超过1M,图片尺寸需大于或等于160px*160px
2.请遵守视觉规范设计图片 查看视觉规范
3.文件名仅限英文、数字、下划线(_)输入,20个字符以内。
填写APP展示产品名称。
展示名称由品牌、名称、型号组合而成,请仔细填写。
品牌设置为“安信可·Ai-Thinker”,其他可自定义。全部设置好后,点击“保存”。






3.1 固件及三元组下载
烧录Boot和APP固件,以及CSV表格的三元组。关于模组烧录可以参考上一篇PB系列的入门教程。
也可以用AT+AliGenie=pid,mac,secret的指令设置天猫精灵三元组。

BLE设备正常启动的串口信息如下。

3.2 CSV文件内容格式描述
创建CSV格式文件,用记事本的方式编辑打开,按照以下范例整理申请到的三元组。

4.1 天猫精灵音箱联网
| AT+State?| Con_State:1 表示已连接天猫精灵| Con_State:0 表示未连接天猫精灵

4.2 手机天猫精灵APP控制智能设备

5.1 语音调试

5.2 语料对应的数据协议控制
语料 |
设备接收的数据 |
备注 |
打开灯 |
|
|
关闭灯 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":8202,"data_len":4,"data":003F4100}} |
|
|
调到100 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":5,"data":FFFF4D4100}} |
|
把灯的亮度 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":5,"data":8FC2DD4100}} |
→FFFF |
|
|
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":5,"data":0040AE4100}} |
→8F02 |
把灯的亮度 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":5,"data":0040E84100}} |
→8F02 |
把灯的亮度 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":5,"data":8FC2204100}} |
→FFFF |
把灯的亮度 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824c,"data_len":4,"data":FFFF9E4100}} |
|
把灯的亮度 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":824C,"data_len":5,"data":8F02C04100}} |
|
把灯调成 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":dla801,"data_len":9,"data":FD230100800000FFFF}} |
|
把灯调成 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":dla801,"data_len":9,"data":2D23010080AAAAFFFF}} |
|
把灯调成 |
{"aliGenie_data1":{"daddr":282c,"saddr":30,"opcode":dla801,"data_len":9,"data":5C230100805555FFFF}} |
|
把灯的色温 |
{"aliGenie_data1":{"daddr":12f3,"saddr":30,"opcode":825e,"data_len":9,"data":14AEA0280000DF4100}} |
|
把灯的色温 |
{"aliGenie_data1":{"daddr":12f3,"saddr":30,"opcode":825e,"data_len":9,"data":14AEA0280000BD4100}} |
|
把灯的色温 |
{"aliGenie_data1":{"daddr":12f3,"saddr":30,"opcode":825e,"data_len":9,"data":14AE20210000D64100}} |
|
把灯调到最冷 |
{"aliGenie_data1":{"daddr":12f3,"saddr":30,"opcode":825e,"data_len":9,"data":14AE204E0000884100}} |
|
把灯调到最暖 |
{"aliGenie_data1":{"daddr":12f3,"saddr":30,"opcode":825e,"data_len":9,"data":14AE20030000E34100}} |
天猫精灵平台提供标准的语料,特定的语料需要通过走工单的形式跟平台人员联系。
设备接收的数据格式为json字符串,包括daddr目标地址,saddr源地址,opcode操作码,数据长度data_len,data数据内容。我们可以通过蓝牙设备接收到天猫精灵下发的opcode+data有限数据来判断对应的语音控制命令。
根据上面多获取的数据协议,我们打开平台上的设备调试,直接发Opencode和参数的命令对已配对天猫精灵的BLE设备进行操控。
如下,输入Opencode:8202,参数01334100,设备的串口就会有响应,说明是可以正常控制的。

5.4 对接天猫精灵协议详解
5.4.1 BLE SIG Mesh 的初始化
BLE设备完成BLE初始化后,就会获取天猫精灵三元组,并创建mesh设备,完成Mesh功能的初始化。
5.4.2、配网前的mesh广播包
蓝牙mesh设备上电后如处于未配网状态,需要广播Unprovisioned Device Beacon,每次广播时长40ms,广播间隔100ms,广播持续时间默认10分钟。具体产品的广播启动方式和广播持续时间以产品的需求为准。超时后仍未被配网则进入静态广播状态,低功耗不需要进入静默广播状态。就是说未配网的设备一般会向外部广播自身的信息,我们的BLE SIG Mesh设备支持PB-GATT与PB-ADV两种配网方式。
Field |
Size |
Notes |
| CID |
2 |
公司ID,设置为0x01A8:Taobao |
| PID |
1 |
bit0-3 蓝牙广播包版本号,目前是0x01 |
| ProductID |
4 |
阿里巴巴平台颁布,一型一号 |
MAC |
6 |
阿里巴巴平台颁布,一机一号 |
Feature |
1 |
bit7-1:uuid版本号,目前版本为1 |
| RFU |
2 |
0x00 Reserved for future use |
SIG Mesh配网协议,配网协议的基本数据单元PDU,包含三种类型:start PDU、ack PDU、连续传输PDU。PB-GATT方式建立在BLE连接上,PB-ADV方式是通过广播包。配网时,由天猫精灵/手机APP生成随机的linkID,配网者与未配网的设备之间通过link_open(包括linkid)和link_ack消息建立配网承载层连接,配网结束通过link_close消息关闭配网承载层连接。

5.4.4、mesh设备配网流程
Provisioning Capabilities阶段
Provisioning Public Key Exchange阶段
① No OOB的public key
② static OOB方式的auth method
1、天猫精灵先将自身的public key发给BLE设备;
2、BLE设备再将自身的public key发给天猫精灵。
Authentication阶段
Provisioning Data阶段
Provision完成配置及绑定AppKey阶段
5.4.5、mesh数据发送和接收
5.4.6、操作码和操作参数介绍
操作码格式如下表。
| Opcode Format |
Notes |
| 0xxxxxxx(excluding 01111111) |
1-octet Opcodes |
| 01111111 |
Reserved for Future Use |
| 10xxxxxx xxxxxxxx |
2-octet Opcodes |
| 11xxxxxx zzzzzzzz |
3-octet Opcodes |
附件、Mesh蓝牙设备参数列表

表①、颜色推荐-数据定义
| 0 |
黑色 | 8900331 |
天蓝色 |
| 139 |
深蓝色 | 10824234 |
棕色 |
| 255 |
蓝色 | 15631086 |
紫罗兰 |
| 35723 |
深青色 | 16711680 |
红色 |
| 65280 |
绿色 | 16711935 |
洋红 |
| 65535 |
青色 | 16753920 |
橙色 |
| 4915330 |
靛青 | 16761035 |
粉红 |
| 7048739 |
浅褐色 | 16776960 |
黄色 |
| 8087790 |
蓝灰色 | 16777215 |
白色 |
| 8388736 |
紫色 |
表②、模式-数据定义
| 3 |
阅读模式 |
226 |
明亮模式 |
| 4 |
影院模式 |
353 |
正常模式 |
| 5 |
温暖模式 |
378 |
休闲模式 |
| 6 |
夜灯模式 |
409 |
定时休息模式 |
| 14 |
睡眠模式 |
651 |
麦克风模式 |
| 15 |
生活模式 |
652 |
炫彩模式 |
| 33 |
音乐模式 |
653 |
摇一摇模式 |
| 57 |
护眼模式 |

开发板活动
本篇文章留言前5名的用户,可参与PB-01/02开发板买一送一活动!

活动规则:
本次活动为买 1 个PB-01/02开发板,送 1 个串口转TTL的转接板CP2102;
本篇文章留言前五名的朋友,可向公众号发送“买一送一”,获取客服的微信(前5名以公众号手动回复的消息为准哦);
参与活动的用户可添加微信获取福利,没有参与的朋友可关注下期活动哦!
本活动支持包邮!




