不懂基于微信平台的开发?没关系,一文分享其整体架构与开发流程

发布时间:2018-04-29 22:29:52编辑:丝画阁阅读(360)

随着微信公众号及微信小程序的崛起,手机app的缺点开始凸显出来,尤其像一些功能不多,画面也不用很炫的app,完全是可以用微信公众号或者小程序来替代的。

不懂基于微信平台的开发?没关系,一文分享其整体架构与开发流程

一、微信硬件公众平台整体架构

不懂基于微信平台的开发?没关系,一文分享其整体架构与开发流程

微信硬件公众平台整体架构

各部分的角色和分工如下

1、微信硬件公众号平台服务器:是物联网的基础和核心部分,其负责外设设备ID的认证。目前微信平台的设备ID由两部分组成,一部分是厂商运维的公众号(即手机微信关注的公众号)的原始ID,称为设备类型,即代表生产商;另一部分就是设备的ID,设备由厂商负责生产,要保证厂商生产的所有设备的ID是唯一的。

注:负责将微信发过来的消息转发给厂商服务器,或者转发厂商的服务器给微信,这些操作的前提都是要通过验证。

2、手机微信:其实指的是用户微信关注的公众号页面。其调用微信封装的蓝牙接口和蓝牙外设进行通信。蓝牙接口实现的协议是微信定义的“蓝牙外设协议Airsync”。

3、厂商服务器:对微信硬件公众平台转发的消息进行验证(在厂商数据库中检测该用户是否已经绑定了自家的设备),然后按照和蓝牙外设拟定的自定义消息协议生成自定义消息。发给微信硬件公众平台,再通过微信发给蓝牙外设。

注:厂商服务器是和微信硬件公众平台直接交互的,厂商服务器需要遵循微信定义的“设备接入接口协议”。

4、蓝牙外设:由厂商负责生产和销售,购买该外设的终端用户只需要关注该设备的二维码即可用手机的公众号菜单来进行控制。

二、基于微信硬件公众平台的智能控制开发流程

不懂基于微信平台的开发?没关系,一文分享其整体架构与开发流程

1、搭建云服务器,如百度云、新浪云。微信公众号的后台服务一般选择PHP+MySQL+Apache架构,而微信提供的微信硬件公众平台后台服务demo是JSP,所以后台架构一般选择tomcat+java+MySQL。

2、创建微信公众号,并进行认证,开通硬件设备功能。公众号进入开发者模式,配置厂商服务器的域名服务地址和token。

3、微信公众号创建菜单,如开灯和关灯命令。微信提供接口进行创建。

4、设备分配ID,并到微信硬件公众平台进行授权,需要提供厂商ID、设备ID和蓝牙的mac地址。

5、厂商服务程序开发,需要遵循微信拟定的“设备接入接口协议”,并制定自定义消息协议,用于和蓝牙外设通信。

6、蓝牙外设程序开发,需要遵循微信拟定的“蓝牙外设协议Airsync”,并根据自定义消息协议对外围设备进行控制。

以上过程可以通过“微信公众平台接口调试工具” 进行调试。

关键字