前言
智能硬件现在是热火朝天,BLE是智能硬件非常重要的一块,像手环,手表,电子秤,从中兴出来后参加的一个创业公司做的也是智能硬件相关,从那时候开始组建了自己的技术交流群,从开始的7个人到现在的三百多人,中途不断有人加入,也不断有人被踢出去,有一个销售非常任性,每次进来都不修改名字,被我踢出去了又加进来,后面进来的时候名字改成了“踢掉-篮球”,刚好我的群昵称就是“深圳-篮球”,从开始到现在也认识了非常有趣有爱的伙伴,这篇文章就是一个伙伴贡献出来的。希望大家在工作学习的时候有自己的小伙伴,这样工作学习才会有更多的乐趣。
02
正文
1、微信公众号
1.1 申请测试公众号
首先需要先到http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 申请一个用于测试的公众号。
申请的步骤:打开上面的网址,点击登陆后,出现二维码,用微信扫一下,在弹出的页面点确认登陆,然后网页会自动进入测试号界面,如下图:
需要注意的是,上图中的appID 和appsecret 这两个值在获取access_token 会用到。
1.2 添加蓝牙产品
在测试号的界面,找到“功能服务”->设备功能->开启->设置->确定,如下图:
点击确定之后,进行下一步。
点击“添加产品”。然后如下图配置选项(红圈地方需要注意,其他随便填):
点击“添加”,离开此页。
这样就成功添加了一个产品,如下图所示:
每个产品可以授权100 个。添加完后,并不表示进入公众号后就可以去连蓝牙了,这只是将公众号配置成具有蓝牙功能,想要连接蓝牙设备,还得继续往下。另外,注意上图标红圈的那个值24033它是产品ID(product_id),在授权时会用到。
1.3 添加蓝牙设备
上面的步骤只是添加了一类产品,我们还需要添加我们具体的蓝牙设备。
A.首先打开http://mp.weixin.qq.com/debug,接口类型和接口列表按下图填写:
上图中的appid 与secret 需要填入的值就是图1 中提到的appID 和appsecret 值,填入完毕之后,点击检查问题,如上图所示就是正确的。
B.然后我们需要获取到deviceid 这个值,按照下图填入:
我们需要在access_token 里面填写ACCESS_TOKEN&product_id=PRODUCT_ID,ACCESS_TOKEN 在图7 里面可以看到,然后PRODUCT_ID 就在图6 中的24033。
如果只是单纯的填入access_token,会产生错误提示:
{
"base_resp":{
"errcode":100020,
"errmsg":"accountquotanotenough"
}
}
原因是deviceid 的产生需要指定产品ID,表明它是基于哪个产品。解决方法是:在access_tokey 里填写ACCESS_TOKEN&product_id=PRODUCT_ID,如下:
填写完毕后,点击“检查问题”,返回如下图所示:
会产生一个deviceid 和一个二维码地址。这个二维码地址是对应该设备的,它与公众号二维码的不同是,它加入了设备信息,用户在扫描二维码后,可以绑定设备,而扫描公众号二维码,则不会要求绑定设备。二维码地址可以通过这个网站http://cli.im/url 来产生二维码图片。
C.最后一步就是配置蓝牙设备的属性。首先将接口类型选择为“硬件接入API 接口调试”,接口列表选择为“设备授权-利用deviceid 更新设备属device/authorize_device”:
Body 中填入:
{
"device_num": "1",
"device_list": [
{
"id": "gh_27c7dfdbf95f_d861293015853e8e",
"mac": "E98252236C83",
"connect_protocol": "3",
"auth_key": "1234567890ABCDEF1234567890ABCDEF",
"close_strategy": "1",
"conn_strategy": "1",
"crypt_method": "1",
"auth_ver": "1",
"manu_mac_pos": "-1",
"ser_mac_pos": "-2",
"ble_simple_protocol": "1"
}
],
"op_type": "1",
"product_id": "24033"
}
我们来解读一下BODY 的信息,BODY 是一个json 结构,即“变量”:“值”的格式构成,不清楚的可以查一下。
{
"device_num":"1",//表示device_list 里有多少项,1 表示1 项,如果是2,list 就得有两项。
"device_list":[//设备列表
{
"id":"gh_27c7dfdbf95f_541afd8d1130e487",//这个值要与BLE 固件里的DEVICE_ID 一致,可以自定义,也可通过微信HTTP 接口生成。
"mac":"E98252236C83",//这个值是硬件篇提到的BLE 设备的MAC 地址,与广播数据里的MAC 地址顺序一样,也和手机扫描到的MAC 地址顺序一样。
"connect_protocol":"3",//3 表示BLE 蓝牙协议
"auth_key":"000102030405060708090a0b0c0d0e0f",//和BLE 固件里的aes_key 值一致。
"close_strategy":"1",//1:退出公众号页面时即断开连接
"conn_strategy":"1",//1:(第1bit 置位)在公众号对话页面,不停的尝
试连接设备
"crypt_method":"1",//1:AES 加密
"auth_ver":"1",//加密版本,0 是不加密
"manu_mac_pos":"-1",//-1:MAC 地址在尾部
"ser_mac_pos":"-2"//-2:表示serialnumber 不包含mac 地址
}
],
"op_type":"0",//0 表示新增新设备,1 表示更改已经写入的设备的属性,第一次用0,之后用1。
"product_id":"24033"//对用添加的产品号,op_type=0 时需要。
特别需要注意这些参数的配置,具体的介绍可以在这个网址查询
http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-5
最后点击检查问题,如果正确就返回下面的值:
2.蓝牙设备二维码的生成
首先打开网址http://cli.im/url,然后填入图10 中生成的二维码地址,如下图
3.绑定蓝牙设备
使用微信扫描二维码,然后点击“绑定设备”,点击“进入公众号”
进入公众号之后,公众号就会自动连接蓝牙设备,如果连接成功就会显示“已连接1 个设备”
这样我们就可以将手环的运动步数上传到微信运动公众号的排行榜了。(需要先关注微信运动公众号)进入微信运动公众号,然后点击排行榜,手环数据就可以上传到微信运动。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。