从零开始搭建微信的硬件开发环境

  首先要说明的是这不是微歌的原创,是转载自 CSDN 的,作者是嵌入式企鹅圈(原文地址见本文末)。觉得这篇文章非常有收藏价值,于是转载了下来,主要是为了自己以后学习用,当然也是为了和有兴趣的朋友们分享。作者也表示,他这篇文章是为了指引和帮助任何有兴趣于物联网开发的同学们快速掌握微信硬件开发流程,作者称只需要一个小时,而不需要通过揣摩微信硬件浩瀚的文档资料来完成艰难构建。

  以下是原文:

  笔者决定在嵌入式企鹅圈 2016 年的首篇文章中,发表微信硬件物联领域极具实践价值的文章,它将能指引和帮助任何有兴趣于物联网开发的童鞋们快速掌握微信硬件开发流程,只需一个小时,而再不需要通过揣摩微信硬件浩瀚的文档资料来完成艰难构建。

  笔者之前曾经撰写过一篇文章《基于微信硬件公众平台的智能控制开发流程》介绍微信硬件开发的流程,但该篇文章是理论性的描述。而本篇文章是完全可操作实践的,请结合两篇文章理解。

  本篇文章的目的是快速搭建微信硬件开发的环境,完成微信硬件物联 Demo。直接上图,傻瓜式教程!

  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、公众号连上微信蓝牙开发板后,即可以发开灯和关灯指令,对微信蓝牙开发板进行控制。

  OK, 所有的微信硬件开发流程全部完成!

  原文:从零开始搭建微信硬件开发环境全过程——1 小时掌握微信硬件开发流程

欢迎留下宝贵意见和建议!