博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始搭建微信硬件开发环境全过程——1小时掌握微信硬件开发流程
阅读量:5130 次
发布时间:2019-06-13

本文共 1930 字,大约阅读时间需要 6 分钟。

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

笔者之前曾经撰写过一篇文章《》介绍微信硬件开发的流程,但该篇文章是理论性的描述。而本篇文章是完全可操作实践的,请结合两篇文章理解。技术咨询请发邮件至yqwucheng@163.com

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

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

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

 

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

 

开启后如下图:

 

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

点击设置进行添加:

 

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

4.   蓝牙设备授权

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

授权我们通过微信网页调试工具进行,链接是:。

1)  获取access_tocken

 

      2) 设备授权

 

      授权字段定义请参考:。也可以按照以下修改:

 

这里要特别注意,微信硬件平台有时更新了策略又没说明白,坑很多。应该在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地址。

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

 

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

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

 

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

 

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

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

deviceID即是设备授权时的deviceID

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

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

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

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

转载于:https://www.cnblogs.com/Free-Thinker/p/5559808.html

你可能感兴趣的文章
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
VC6.0调试技巧(一)(转)
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
STM32单片机使用注意事项
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
springboot No Identifier specified for entity的解决办法
查看>>