搭建微信硬件开发环境教程(9)

2017年09月25日 08:28 | 3111次浏览

1.   申请微信硬件测试公众号

链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,用自己的微信扫一扫即可以完成注册申请。微信测试公众账号重要信息包括:appID、appsecret和微信号。开发工程师代表厂商/运营商的角色,所以这里的微信号其实是代表厂商/运营商的微信ID.

2.   开通测试微信公众账号的设备功能接口

开启后如下图:

3.   添加设备产品,获得产品编号

点击设置进行添加:

添加后可以看到产品的编号,如下图。这里只是演示,选择设备品类为“血压计”,其编号是4735. 表明要生成微信蓝牙血压计(其实是笔者的微信蓝牙开发板)。

4.   蓝牙设备授权

微信硬件平台的核心功能之一就是对硬件设备进行身份管理。授权即是硬件设备的身份注册,其需要硬件设备的唯一地址码MAC(例如新生儿的指纹)以及人为给这个硬件设备起的名字id(例如新生儿的姓名)。

授权我们通过微信网页调试工具进行,链接是:http://mp.weixin.qq.com/debug/。

1)  获取access_tocken

  2) 设备授权

授权字段定义请参考:http://iot.weixin.qq.com/document-2_6.html。也可以按照以下修改:

这里要特别注意,微信硬件平台有时更新了策略又没说明白,坑很多。应该在2015年9月前注册的测试号可以在不写product_id时也能成功授权,但最近注册的测试号如果不写这个product_id会报以下错误:

      {"errcode":100020,"errmsg":"accountquota not enough"}

说是“账号设备授权配额已用完,需重新申请”。晕倒,我刚注册的账号,配额就用完了,天知道微信为什么要这么搞。最后增加产品编号product_id即可以完成注册。

5.   微信硬件测试公众号自定义菜单

 1)  获取access_tocken,同上。

  2)  自定义菜单,定义两个按钮


自定义菜单的效果如下:如果用户关注了该公众号,则进入该公众号后会看到底部有开灯和关灯两个button:

6.   部署后台开发环境

1)   安装JDK,安装后设置系统高级环境变量JAVA_HOME,指向JDK的安装目录。

2)   安装tomcat,修改apache-tomcat-7.0.64\conf\server.xml,将web服务端口改为80

3)   启动tomcat, 点击apache-tomcat-7.0.64\bin\startup.bat

4)   安装MyEclipse

5)   MyEclipse配置Tomcat

6)   下载微信蓝牙后台服务样例工程roseblue

7)   MyEclipse导入roseblue工程

8)   MyEclipse配置服务推送,即生成类文件并拷贝到tomcat的对应目录(apache-tomcat-7.0.64\webapps)。


9)       后台工程配置,修改工程配置属性指向微信测试账号

7.   配置微信测试公众号的第三方服务地址,指向tomcat所在的web服务目录

8.   MyEclipse生成设备二维码

这里的device_id和mac两个值和设备授权时的值务必保持一致。Device_id可以任意取值,而mac必须是蓝牙设备的真实MAC地址。

以Java application直接运行这个类可以生成设备二维码,生成路径可以修改:

9.   手机用户扫描关注这个设备二维码,完成设备绑定。

例如昵称为O的微信用户绑定了这个设备,则在微信测试公众号的后台可以看到它的微信号。

10.修改roseblue工程的通信设备配置

暂时不使用数据库,可以将所有的数据库操作注释掉,并直接硬编码。

deviceType即是第1步里面的微信号

deviceID即是设备授权时的deviceID

openID是绑定这个设备的用户的手机微信ID,如昵称为O的微信ID。

11.实现Airsync协议的微信蓝牙开发板上电,开始广播。

12.微信昵称为O的用户打开订阅的微信测试公众号,开始自动扫描并连接微信蓝牙开发板。

13.公众号连上微信蓝牙开发板后,即可以发开灯和关灯指令,对微信蓝牙开发板进行控制。



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程