接到一个需求,设备是蓝牙的,使用AirSync进行通讯;为了开发方便,硬件供应商取消了蓝牙auth加密。
微信官方文档就是一坨屎。
这里只写关键的步骤,文档地址:
http://iot./wiki/new/index.html?page=3-4-5
POST数据示例如下:{"device_num":"1","device_list":[{"id":"dev1","mac":"123456789ABC","connect_protocol":"3","auth_key":"","close_strategy":"1","conn_strategy":"1","crypt_method":"0","auth_ver":"0",//无auth加密的话,这里是0"manu_mac_pos":"-1","ser_mac_pos":"-2","ble_simple_protocol": "0"}],"op_type":"0","product_id": "12222"}
这里设备授权给MP后台需要的几个参数:
id:是指device_id
mac:是指蓝牙硬件的MAC地址
product_id:是指MP后台的硬件设备自然编号
1. 获取product_id
打开微信MP后台,打开设备管理(这里都找不到的话就不用看了)
点击添加产品,并完善相应信息
完成两步的操作后,点击保存,回到设备列表页面:
如图所示的25925就是product_id。
2. 获取MAC地址
只能使用安卓系统进行操作,微信提供了工具:http://iot./wiki/doc/blue/AirSyncDebugger2.3.0.apk
相关文档见:http://iot./wiki/new/index.html?page=4-2-3
检查蓝牙设备列表后得到MAC地址(注意,填到接口数据时,无冒号)
3. 获取device_id
使用微信接口调试工具:http://mp./debug/
此处操蛋了,返回结果是:
竟然报错了,提示account quota note enough
解决方法是:
复制请求的接口连接,并在后面附加参数&product_id=25925
得到正确的返回结果:
4. 得到以上三个参数后,组织数据体向文章开始提到的接口进行提交。不出意外的话,应该已经成功了。