希望实现用户微信扫码,然后绑定设备的功能。
参考http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6,调用getqrcode接口,得到如下内容
{
"base_resp": {
"errcode": 0,
"errmsg": "ok"
},
"deviceid": "gh_928e703fd28c_349eca4456010150",
"qrticket": "http://we.qq.com/d/AQD78ym-E3O5mDOUiFg_Ee_UfL4fAmqk1TRIqMRi"
}
有两种方式进行设备绑定:
第一种:调用getqrcode接口获取的二维码字符串转成二维码图片,然后逐一打印出来再贴到设备上
第二种:调用getqrcode得到的deviceid,烧写到设备中,用户通过AirKiss获取deviceid进行绑定。
这两种方法都存在问题:不能自己定义deviceid,必须从微信getqrcode获取deviceid后才能绑定。
这样搞是不是意味着必须生产设备的时候,要为每一个设备单独准备固件或二维码,每一个都不一样,不是很崩溃?
是我的理解不对吗?还是有别的办法??
楼主你好 ,请问下 调用getqrcode接口时报{"errcode":48001,"errmsg":"api unauthorized"} 是怎么处理的??说是api未认证没权限
谢谢1楼的回复
按1楼说的接口试了下,可以自定义deviceid了。
实例如下:
https://api.weixin.qq.com/device/authorize_device?access_token=TOKEN
{
"device_num": "1",
"device_list": [
{
"id": "dev1",
"mac": "XXXXXXXXXXXX",
"connect_protocol": "4",
"auth_key": "",
"close_strategy": "2",
"conn_strategy": "1",
"crypt_method": "0",
"auth_ver": "0",
"manu_mac_pos": "-1",
"ser_mac_pos": "-2",
"ble_simple_protocol": "0"
}
],
"op_type": "0",
"product_id": "38637"
}
返回:
{
"resp": [
{
"base_info": {
"device_type": "gh_928e703fd28c",
"device_id": "dev1"
},
"errcode": 0,
"errmsg": "ok"
}
]}
与http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6所描述的主要的差别在于op_type的不同。
这个文档的描述是这样的:
设备的产品编号(由微信硬件平台分配)。可在公众号设备功能管理页面查询。
当 op_type 为‘0’,product_id 为‘1’时,不要填写 product_id 字段(会引起不必要错误);
当 op_typy 为‘0’,product_id 不为‘1’时,必须填写 product_id 字段;
当 op_type 为 1 时,不要填写 product_id 字段。
容易产生误解,product_id就是公众平台上面申请到的硬件的“产品编号”,我的是产品编号38637,一般不会是1吧?这样的描述以为还有别的地方的id。
另外试过op_type为1的情况下调用,返回的结果如下:
还有疑问再麻烦1楼兄弟解答一下:
1、文档中存在“设备授权”和“设备授权新接口”两个章节, 以后会不会“设备授权”旧接口?感觉新接口并不方便使用,新接口有其他的优势吗?
http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-5