微信硬件平台框架说明及接入流程
1 / 15 硬件平台框架说明及接入流程 V0.5 Tencent Confidential 硬件平台框架说明及接入流程 2 / 15 文档变更日志 部门 微信事业群\开放平台创新部\创新二组 版本 描述 撰写人员 更新日期 V0.1 初稿 jeffqi、genewu 2014/07/8 V0.2 加入Q&A jeffqi、genewu 2014/07/8 V0.3 针对常见问题,增加说明。流程图优化。 jeffqi、genewu 2014/07/9 V0.4 添加“保密”水印,文档名字修正。 jeffqi、genewu 2014/07/10 V0.5 Q&A补充 jeffqi、genewu 2014/07/15 硬件平台框架说明及接入流程 3 / 15 目录 1. 微信硬件公众平台整体架构 ................................................................................. 4 1.1 经典蓝牙(BT) 、低功耗蓝牙(BLE)连接方案 ................................................ 4 1.2 Wifi、GPRS、3G连接方案 ....................................................................................... 6 2. 微信硬件公众平台接入流程 ................................................................................. 8 2.1 目的 ................................................................................................................................. 8 2.2 前提 ................................................................................................................................. 8 2.3 接入流程 ......................................................................................................................... 8 2.3.1 开发阶段 ................................................................................................................. 9 2.3.2 正式上线与发售 .................................................................................................. 10 3. Q&A .................................................................................................................................. 13 4. 参考文档 .......................................................................................................................... 15 4.1 微信蓝牙外设协议 1.0.1beta ................................................................................... 15 4.2 设备接入接口协议 V2.0beta(PDF) ................................................................... 15 硬件平台框架说明及接入流程 4 / 15 1. 微信硬件公众平台整体架构 1.1 经典蓝牙(BT) 、低功耗蓝牙(BLE)连接方案 外设和厂商服务器,由厂商开发完成。 微信提供手机接口以对接厂商的外设(如下文中的微信蓝牙外设协议),提供服务器接口以对接厂商的服务器。 A. 外设与手机 WeChat 通过 BT/BLE 连接,蓝牙协议见参考文档 《微信蓝牙外设协议1.0.1beta》 。 B. 未涉及外设数据传输的请求(如同步后的数据查询、排行查询等),数据流通过路径①传输。此时需要调用的接口为微信的公共接口,详细见 http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5 ② ① 蓝牙设备连接示意图 手机WeChat 外设 微信服务器 厂商服务器 BT/BLE ① ② ② 硬件平台框架说明及接入流程 5 / 15 C. 涉及外设数据传输的请求(如数据同步、电量查询等),数据流通过路径②传输。此时需要调用的接口为微信的硬件接口。此外,设备授权、设备二维码生成、设备绑定/解绑等都涉及到微信的硬件接口。 相关接口文档详见参考文档《设备接入接口协议V2.0beta》 。 以下是设备接入流程以及相关接口的简单介绍: a. 设备授权。通过调用设备授权的 API,厂商将设备 deviceID 以及其属性信息提交公众平台进行授权(详见《设备接入接口协议 2.0》中1.6 节) b. 由 deviceID生成二维码。 调用设备二维码获取API,厂商可通过授权后的设备deviceID从公众平台批量获取设备二维码(详见《设备接入接口协议2.0》中 1.5 节) c. 绑定设备/解绑设备。微信用户绑定设备后,设备会通过微信给第三方发送消息。 (详见《设备接入接口协议 2.0》中1.2节) d. 设备收信息。第三方发送消息给设备主人的微信终端,并最终送达设备。 (详见《设备接入接口协议2.0》中1.3节) e. 设备发信息。设备通过微信同第三方通信,并且接收第三方的响应。 (详见《设备接入接口协议2.0》中1.1 节) f. 其他辅助功能。其他功能如设备状态查询、验证二维码等接口内容详细介绍见接口协议文档。 硬件平台框架说明及接入流程 6 / 15 1.2 Wifi、GPRS、3G 连接方案 外设和厂商服务器,由厂商开发完成。 微信提供连接方案以及相关接口对接厂商服务器,使外设与微信之间能进行通信。 A. 外设和手机 WeChat 无直接连接关系。微信提供连接方案以及相关接口,将设备 ID(deviceID)与用户微信号(openID)绑定,从而实现外设与微信之间的通信。 B. 设备授权、设备二维码生成、设备绑定/解绑等涉及到微信的硬件接口。相关接口文档详见参考文档《设备接入接口协议V2.0beta》 。 以下是设备接入流程以及相关接口的简单介绍: a. 设备授权。通过调用设备授权的 API,厂商将设备 deviceID 以及其属性信息提交公众平台进行授权(详见《设备接入接口协议 2.0》中1.6 节) 手机WeChat 外设 微信服务器 厂商服务器 wifi设备连接示意图 硬件平台框架说明及接入流程 7 / 15 b. 由 deviceID生成二维码。 调用设备二维码获取API,厂商可通过授权后的设备deviceID从公众平台批量获取设备二维码(详见《设备接入接口协议2.0》中 1.5 节) c. 绑定设备/解绑设备。微信用户绑定设备后,设备会通过微信给第三方发送消息。 (详见《设备接入接口协议 2.0》中1.2节) d. 设备收/发信息。 Wifi设备收发信息需要调用微信的公共接口,而不需要调用硬件接口,厂商可忽略《设备接入接口协议 2.0》中的1.1 节与 1.3节。 e. 其他辅助功能。其他功能如设备状态查询、验证二维码等接口内容详细介绍见接口协议文档。 硬件平台框架说明及接入流程 8 / 15 2. 微信硬件公众平台接入流程 2.1 目的 微信硬件公众平台接入流程详细介绍了接入平台的各个步骤,帮助厂商更好地接入微信硬件公众平台和使用微信硬件公众号。 2.2 前提 厂商已经与微信硬件团队接触并达成合作意愿。 2.3 接入流程 接入流程图: 正 式 上 线 与 发 售 阶 段 开 发 阶 段 硬件平台框架说明及接入流程 9 / 15 接入流程分为两部分,一为开发阶段,二为正式上线与销售阶段。开发阶段厂商可以通过测试号进行设备的开发与测试;正式上线与销售阶段,厂商必须要注册服务号并通过微信认证才能正式上线产品与销售。 2.3.1 开发阶段 1.申请测试号 要接入微信硬件公众平台的厂商需要先申请测试号以便于硬件功能的开发与测试。 测试号折叠在订阅号中,头像与名称不可更改。除了模版消息功能外,测试号拥有服务号所具有的功能。 测试号申请地址为: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.开通硬件功能权限 测试号与正式硬件公众号都需要开通硬件功能权限才可以使用硬件功能。 厂商需要向微信硬件团队产品经理提供公众帐号原始 ID(原始ID为“gh_”开头的一串字符)以申请开通公众号的硬件功能。 3.设备开发 A.设备授权:通过调用设备授权的 API,厂商将设备 deviceID 以及其属性信息提交公众平台进行授权。 (详见《设备接入接口协议 2.0》中1.6 节) B.获取设备专属二维码:调用设备二维码获取 API,厂商可通过授权后的设备 deviceID从公众平台批量获取设备二维码。 (详见《设备接入接口协议2.0》中 1.5 节) C.设备测试:生产样品设备并测试。 硬件平台框架说明及接入流程 10 / 15 2.3.2 正式上线与发售 1.注册服务号 厂商需在微信公众平台注册服务号作为正式的硬件公众号。 服务号注册地址为:https://mp.weixin.qq.com/ 2.微信认证 厂商需要对此硬件公众帐号进行“微信认证”,认证成功后,会在公众帐号上的 Profile 页面看到“微信认证”标识。 3.开通硬件功能权限 测试号与正式硬件公众号都需要开通硬件功能权限才可以使用硬件功能。 厂商需要向微信硬件团队产品经理提供公众帐号原始 ID(原始ID为“gh_”开头的一串字符)以申请开通公众号的硬件功能。 硬件平台框架说明及接入流程 11 / 15 4.设备生产 A.设备授权:通过调用设备授权的 API,厂商将设备 deviceID 以及其属性信息提交公众平台进行授权。 (详见《设备接入接口协议 2.0》中1.6 节) B.获取设备专属二维码:调用设备二维码获取 API,厂商可通过授权后的设备 deviceID从公众平台批量获取设备二维码。 (详见《设备接入接口协议2.0》中 1.5 节) C.设备生产,贴二维码:生产设备过程中,将二维码与其对应的设备统一包装。 (有屏幕的设备亦可在屏幕上显示二维码) 5.设备销售 A.设备销售:设备将与专属二维码一起销售给消费者。 B.扫描二维码:用户获取设备后,可通过微信扫描设备专属二维码与设备建立关系。 C.关注公众账号:用户关注厂商的硬件公众号后,该公众号可以接收用户消息以及向用户发送消息,同时设备的 deviceID 与用户微信号的 openID 将绑定。通过调用获取绑定的 openID的API,硬件公众号可获取绑定设备的用户 openID。 (详见《设备接入接口协议2.0》中1.4 节) 硬件平台框架说明及接入流程 12 / 15 D.连接状态显示:用户关注厂商的硬件公众号后,公众号会向用户发出问候消息,用户与厂商硬件公众号的聊天对话页面上也会显示设备与手机的连接状态。对于蓝牙设备,微信通过手机可以获取连接状态;对于 Wi-Fi 设备,需要通过厂商服务器向微信硬件公众平台提供设备的网络连接状态再在微信上显示(此功能正在开发中)。 E.更多功能:用户可以通过微信硬件公众号以语音消息、文本消息、HTML5 页面等途径获得厂商提供的多种服务。 硬件平台框架说明及接入流程 13 / 15 3. Q&A Q:公众账号原始ID就是公众账号的微信号吗? A:否。登录mp.weixin.qq.com ,在设置公众号设置内查看。 Q:接入微信硬件公众平台需要缴费吗? A:暂时不需要。 Q:如何申请测试号? A: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 用手机扫描网页上二维码,按照网站提示申请。 Q:测试号有限制吗? A: 测试号折叠在订阅号中,头像与名称不可更改。除了模版消息功能外,测试号拥有服务号所具有的功能。此外,测试号有效期为 1年。 Q:注册服务号后如何开通硬件权限? A: 厂商需要向微信硬件团队产品经理提供公众帐号原始ID以申请开通公众号的硬件功能。 Q:申请微信认证是否需要缴纳300 元? A:是。 硬件平台框架说明及接入流程 14 / 15 Q:设备授权有数量上限吗? A: 测试过程中数量上限为1000 个。正式生产时,按照需求与微信硬件产品经理协商沟通。 Q:“注册服务号”与“微信认证”在开发过程中非必须流程,具体什么意思? A:测试与开发的过程中,仅需测试号,不需要注册服务号,也不需要对账号进行微信认证。 Q:一个用户只能绑定一个设备吗? A:是。在已绑定设备且未解绑的情况下,再扫描绑定另一设备时,前者会被取代,绑定的是后一设备。 微信不建议允许同一用户绑定多个设备,若一定需要绑定多个设备,微信能在自定义菜单中提供“添加设备”功能,由厂商负责管理。此时,通过扫描二维码的方式不能绑定新设备,而需要用户在公众号内输入新设备的deviceID,由厂商在后台处理。 Q:同一设备是否能被多个用户扫描绑定吗? A:是。 Q:能否实现以下情况:用户A 与用户B都同时绑定设备 1和设备2? A:否。 硬件平台框架说明及接入流程 15 / 15 4. 参考文档 4.1 微信蓝牙外设协议 1.0.1beta 4.2 设备接入接口协议 V2.0beta (以上文档请见附件)