首先吐槽一下微信文档太分散,各类难找....html
先列一下须要用到的一些官方文档:前端
后端开发:html5
1、微信硬件平台 :http://iot.weixin.qq.com/wiki/document-2_1.htmlsegmentfault
前端开发:后端
1、微信JSSDK(通用api,不分使用场景):api
https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html服务器
2、微信JSAPI(微信硬件jsapi是专门用来给微信硬件) :微信
http://iot.weixin.qq.com/wiki/new/index.html?page=4-7app
3、微信网页端调试工具:工具
http://mp.weixin.qq.com/debug/
参考文档:
一、http://www.javashuo.com/article/p-aplrvqmc-gc.html (简单说明,对一些名词有必定的解解)
二、http://www.vxzsk.com/87.html (建议看这个,详细全流程说明)
开始以前,先用面向对象,分析一下在微信中打开的H5页面链接AirSync,有哪些对象,以下图:
对于这个图中,各个对象就很少解解了,但强调一点,留意到『微信app』这边会作一个分流,就是区分应该与『厂商HTML』通讯,仍是与『厂商服务器』通讯,经过蓝牙模块设备的type值来作判断的(当type为空或者等于0时,表示发送给厂商服务器【图中黑箭头流程】;当type为10001时,表示发送给微信客户端html5界面【图中红箭头流程】),因此有人遇到H5页面如何都收不到设备的消息,就要注意检查这个值了,这个坑好大。官方文档
关于申请设备、公众号配置的可参考这里详细的说明,我这只描述关键的业务流程,直接上图:
须要特别注意的是,用户最终都是须要与设备绑定后才能够链接、通讯;而微信支持两种绑定的业务模式:
1、经过每一个机器惟一的二维码绑定,应用场景为:
一、厂家在微信公众后台(mp.weixin.qq.com)批量申请设备id(deviceId),也能够自定义生成的;
二、经过特定的方式,为每一台实际生产的设备与上一步中申请的 deviceId关联;
三、再经过『获取设备二维码』接口,取得设备的二维码,并贴在设备外壳上;
四、用户经过微信扫描二维码,可直接关注并绑定该设备。
好处在于将公众号与绑定设备在一个操做中完成了,提早作了绑定,用户链接时方便,进入公众号便可自动发现并链接,H5页面只要发送数据便可。
2、用户链接时才绑定,参考流程图中『没有绑定设备』的过程。
更多细节和操做方面后继再补充吧,欢迎加我QQ:285367155 交流。