微信硬件平台技术方案

上传人:第*** 文档编号:57291474 上传时间:2018-10-20 格式:PDF 页数:34 大小:1.06MB
返回 下载 相关 举报
微信硬件平台技术方案_第1页
第1页 / 共34页
微信硬件平台技术方案_第2页
第2页 / 共34页
微信硬件平台技术方案_第3页
第3页 / 共34页
微信硬件平台技术方案_第4页
第4页 / 共34页
微信硬件平台技术方案_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《微信硬件平台技术方案》由会员分享,可在线阅读,更多相关《微信硬件平台技术方案(34页珍藏版)》请在金锄头文库上搜索。

1、 微信硬件平台技术方案 V1.0.1 Tencent Confidential 文档变更日志 起始人员 Ryan, Harl, Clinton, Koukou, Louis 版本 描叙 撰写人员 日期 1.0.1 初稿 ryanlin 2014/11/10 目录 硬件平台介绍 6 微信简介 6 微信公众平台简介 6 微信硬件平台简介 6 平台支持情况 7 平台价值 8 微信用户场景介绍 9 场景:扫码绑定设备 9 场景:操作设备 10 场景:排行榜 10 接入流程 . 11 开发流程 . 12 开发总流程 12 典型技术 13 蓝牙 13 公众平台 13 JSAPI . 14 重要的概念 14

2、 注册设备 14 绑定设备 14 收发消息 15 典型场景技术流程 15 场景:注册设备和生成二维码 15 场景:扫码绑定 16 场景:蓝牙设备连接 17 场景:Wifi/3g 设备连接 . 19 场景:操作蓝牙设备 20 场景:操作 Wifi/3g 设备 22 场景:Html 连接蓝牙设备 . 23 场景:Html 收发蓝牙设备数据 . 24 场景:Html 扫描绑定蓝牙设备 . 25 场景:Html 绑定蓝牙/wifi 设备 25 场景:Html 使得 wifi 设备连上家里路由器 26 生产流程 . 27 MAC地址 . 27 设备ID . 28 设备二维码 28 MAC地址,设备 ID

3、,设备二维码 28 烧写设备 29 制作设备二维码 29 生产流程分类 29 无需烧设备 id,无需制作二维码 . 30 无需烧写设备 id,需制作二维码 . 31 需烧写设备 id,无需制作二维码 . 32 需烧写设备 id,需制作二维码 . 33 硬件平台介绍 微信简介 一款跨平台的移动社交 App,日活跃用户 4.38 亿。 目前具有 ios,android,wp,mac 等多个版本。 微信可以发送视频, 语音, 文字等消息, 具有朋友圈, 摇一摇, 查看附近的人, 漂流瓶,游戏,钱包等功能。 微信公众平台简介 微信公众平台允许第三方向微信用户发送视频,语音,文字等消息,并接受来自微信用

4、户的消息,还允许第三方获取地理位置,语音文字互转等。 厂商通过调用公众平台服务器 API 的方式,可以收发来自用户的信息,获取微信用户的地理位置等。 微信硬件平台简介 微信硬件平台提供设备,微信,厂商服务器三方数据通讯的功能,并通过厂商的微信公众号操作设备,和用户交互。 硬件平台基于微信公众平台,蓝牙设备的架构如下: WIFI 设备架构如下: 通过硬件平台,厂商可以方便的绑定设备和用户,可以对设备和用户收发消息,并可使用微信平台的多种能力,提升产品的价值。 平台支持情况 目前平台支持蓝牙设备(经典蓝牙,低功耗蓝牙) ,以及 wifi/ 3G 设备,支持 Android和 ios 版微信。 目前

5、已有大量设备厂商和芯片厂商接入,并发布多款产品。例如华为手环,九安腕表,乐心手环,海康摄像头,博通,ti 等。 平台价值 优秀的 app:微信的月活跃用户有 4.38 亿,用户每天都会长时间使用微信。微信app 提供了强大的功能,厂商可以在微信上非常简单的实现之前自己开发的 app的功能之外,并且可以利用微信提供的额外的能力,例如语音输入,位置定位,排行榜等等。基于微信 app 的能力和价值,可开发出提升硬件价值的公众号。 强大的关系链:微信强大的关系链,可以把消息在家庭,朋友,同事间快速传播。可以方便的实现各种社交的功能,例如家庭的医疗群,朋友的步数排行榜等。 稳定高效安全的数据通道: 微信

6、精良的客户端架构, 遍布全球的分布式服务器架构,可以保证设备和用户数据的安全高速的传输。 低成本和低开发门槛:硬件平台尽量减低厂商的成本,减低开发难度,兼容现有硬件设计。厂商无需修改硬件架构,无需增加额外的硬件,只需要修改软件以符合微信的协议。目前接入硬件平台微信无收取任何费用。硬件平台通过提供调试工具,公开的文档,示例源代码,以及和芯片厂商合作提供集成模块等,减低厂商的开发难度。 微信用户场景介绍 现在我们通过用户的角度,来对硬件平台有个初步的印象。 首先,用户拿到了一个设备(蓝牙,wifi 或 3g 等) ,需要把设备和自己的微信号绑定。 绑定完成后,用户进入设备的公众号,对设备进行各种操

7、作。以蓝牙手环为例,例如点击公众号的菜单:查看我今天的步数。用户会看到一条消息,显示今天走的步数。 场景:扫码绑定设备 绑定有多种方式。 扫描设备二维码绑定的用户场景如下: 场景:操作设备 进入设备公众号聊天界面之后,可以通过菜单或者 html 控制设备。这里以设置蓝牙手环闹钟为例子。 场景:排行榜 不同种类的蓝牙手环可以参与排行榜。 接入流程 对平台有了一个感性的了解之后,来大概了解一下接入硬件平台的整个流程: a. 厂商签订合作协议。 b. 开通公众号,及公众号硬件功能。 c. 开发完成产品。 d. 送产品给微信检验。 e. 发布产品。 具体细节见文档: 硬件平台框架说明及接入流程 。 开

8、发流程 设备厂商的开发流程包含两个方面:开发设备,开发公众平台服务器后台。 开发总流程 a. 了解微信,了解如何开发微信公众平台 b. 阅读文档: 微信硬件平台技术方案 (本文档) ,了解整个背景,典型的用户场景,典型技术,典型场景的技术流程。 阅读文档: 微信蓝牙外设协议 (设备端协议) , 设备接入接口协议 (服务器端协议) ,了解具体细节。 阅读相关的开发介绍文档。 c. 初步开发完成设备:厂商可以独自完成研发,也可用微信合作厂商的芯片,可节省协议本身的开发量。对于蓝牙设备,微信提供了开发包:包括调试工具,可复用的源代码等,推荐开发者使用。 d. 初步开发完成公众平台厂商服务器:处理设备

9、的绑定通知。如果是蓝牙设备,服务器还需要完成能和设备收发消息的功能。 e. 优化产品的功能和细节:了解更多微信平台的功能,如语音输入,地理位置,JSAPI绑定设备,JSAPI 收发设备数据,设计更好的产品。 典型技术 蓝牙 微信支持经典蓝牙和低功耗蓝牙。 为了让微信可以和设备通信, 微信规定了广播包的格式, 经典蓝牙的 rfcomm 的 uuid,低功耗蓝牙的几个特征值等。 对于低功耗蓝牙, 还规定了如何通过读特征值和写特征值完成数据的传输。 公众平台 微信公众平台分为三种类型:服务号,订阅号,企业号。 以招商银行为例: 官网:https:/ JSAPI 微信提供了特有的 java scrip

10、t 的 API, 让厂商可以在自定义的 html 上, 通过 javascript API,可以调用到微信原生 app 的一些功能(例如获取网络状态,隐藏微信中网页右上角按钮等) 。 微信也提供了硬件平台相关的 JSAPI,例如扫描蓝牙设备,连接蓝牙设备等,具体见蓝牙外设协议的 JSAPI 一章。 重要的概念 注册设备 厂商需要在微信公众平台上先注册设备(通过调用公众平台的 API) ,才能对该设备进行操作,如:绑定,收发消息等。 注册完成后,设备即有了设备 ID。 绑定设备 绑定是指:微信用户和设备关联的过程。 绑定有多种方式, 其中一种如用户用微信扫描一下设备的二维码, 即可完成用户和设备

11、的绑定。 绑定完成后,厂商服务器会收到公众平台的通知,并可以知道绑定设备的用户的资料,如昵称,性别等。 收发消息 厂商通过公众平台 API 可以对设备收发设备消息。该消息收发的对象是设备,消息不在用户界面上显示。 另外公众平台提供对微信用户收发消息的接口,如发送图文消息,视频消息等。注意,这些消息的收发对象是用户,并且会在用户的微信的公众号界面上显示。 设备消息和用户消息是不同。 典型场景技术流程 a. 基本场景:厂商一般需要完成注册设备(可选择在注册完成后,生成二维码) ,绑定(可选择扫码绑定) ,连接操作设备等几个基本场景。 b. 可选场景:如:Html 绑定设备,Html 连接设备,Ht

12、ml 收发设备数据等。 场景:注册设备和生成二维码 在调试设备之前,需要先在调用公众平台接口,注册设备。 为了调试方便,可以先选用扫码绑定的方式。采用这种方式的话,注册设备后,接着调用公众平台接口,生成设备二维码。 二维码可以印刷在纸上,也可以放在设备屏幕上: 二维码也可以显示在手机的厂商的 app 上。 厂商的 app 连上了设备之后, 即可以在 app里显示该设备的二维码。 场景:扫码绑定 扫描设备二维码绑定是很基本的绑定方式,适用于所有设备类型。流程如下: 注意: a. 用户关注公众号的通知,和绑定设备的通知,到达的先后顺序不定。 场景:蓝牙设备连接 用户绑定设备后,进入公众号,开始连接

13、设备。流程如下: 注意: a. 进入公众号会开始扫描。蓝牙设备需不断的发送符合微信规定的广播包。 b. 当设备被微信连接上之后,需要做 auth,再做 init,两者不可缺少。Auth 有多种方式,厂商按自己的实际情况选取一种:例如用设备 id 的 md5 做认证,并选择加密,或者直接用 mac 地址做认证,不加密。 c. 如果厂商服务器关心设备在线状态,可让设备在连上微信之后,发送一个设备消息(内容为已连接上微信)给厂商服务器。 场景:Wifi/3g 设备连接 Wifi 和 3g 设备是连接到厂商服务器的,厂商服务维护设备的状态,并把最新状态同步到微信硬件平台。 场景:操作蓝牙设备 进入设备

14、公众号聊天界面之后,可以通过菜单或者 html 控制设备。这里以设置蓝牙手环闹钟为例子。 注意: a. 微信公众号里可以跳转到厂商自定义的 html 菜单,html 可以通过 ajax 等方式和厂商服务器通信。 b. 服务器下发消息给设备,服务器是不会收到回包的。如果服务器需要确认设备收到了包,那么可以让设备再发送一个请求包上来。 场景:操作 Wifi/3g 设备 用户点击菜单:打开空调,家里的空调就打开。 或者点击菜单跳到厂商自定义的 html 操作界面,在操作界面里点击打开空调。 注意: a. 操作 wifi/3g 设备所需要的 API 和普通公众号是一样的,例如接受菜单点击的消息通知,发

15、图文消息给用户的 API 等。 场景:Html 连接蓝牙设备 微信允许厂商通过 Html 连接/断开设备,这给厂商更大的设计上的自由。 厂商可以设计独特的控制界面。 场景:Html 收发蓝牙设备数据 当微信连上蓝牙设备之后,可以对设备收发数据。 场景:Html 扫描绑定蓝牙设备 Html 可以调用微信 app 提供的 JSAPI 扫描周边的设备, 再通过调用微信公众平台接口的绑定接口,完成用户和设备的绑定。 场景:Html 绑定蓝牙/wifi 设备 另一种可能的绑定方式是:用输入串号的方式进行用户绑定设备。 假设厂家对每个设备记一个串号, 并且厂家后台服务器可以通过串号查找到 deviceId

16、,那么实际上,可以让用户在厂家的 html 里,输入串号,然后把请求发给厂商后台,厂商后台调用微信公众平台接口进行绑定。 场景:Html 使得 wifi 设备连上家里路由器 用户要让家里的 wifi 设备连上家里的路由器,是比较困难的事情。 微信提供一种新的方式,允许用户在手机上输入家里的路由器的 ssid 和密码,即可让设备连接上家里的路由器。 生产流程 当开发完成,并送检完成后,进入生产流程。 生产流程和 mac 地址,设备 id,二维码有关。 Mac 地址 对于目前的蓝牙/wifi/3g 设备,都具有 mac 地址。在微信硬件平台注册设备的时候,注意 mac 地址必须唯一, 且必须保证该 mac 地址归设备厂商所有 (购买芯片自带 mac,或自己申请 mac 等都可) ,即不能占用其他厂商的设备的 mac 地址(这里可能造成纠纷,一定要注意) 。 硬件平台允许注册设备时 mac 为空,但是出厂之前,必须把硬件平台上注册的空白的mac 地址,更新到实际设备

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号