本篇博文最后修改时间:2016年09月11日,16:38。
一、简介
本文介绍微信硬件的快速入门知识。
二、实验平台
协议栈版本:ble_cc26xx_2_01_00_44423
编译软件:IAR Embedded Workbench for ARM Version 7.40
硬件平台:CC26xxDK开发板
仿真器:XDS100V3(香瓜)
三、版权声明
博主:甜甜的大香瓜
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.NET/feilusia
联系方式:897503845@qq.com
香瓜BLE之CC2541群:127442605
香瓜BLE之CC2640群:557278427
香瓜单片机之STM8/STM32群:164311667
香瓜单片机之Linux群:512598061
香瓜单片机之职场交流群:450154342
香瓜单片机之职场交流群:450154342
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
四、
实验前提
1、在进行本文步骤前,请先阅读以下博文:
1)微信硬件平台官网
http://iot.weixin.qq.com/wiki/new/index.html?page=2-1
2)《基于微信硬件公众平台的智能控制开发流程》
http://blog.csdn.net/yueqian_scut/article/details/47380109
3)《从蓝牙开发的视觉解读微信Airsync协议》
http://mp.weixin.qq.com/s?__biz=MzA4MTkzMjE5Nw==&mid=401204867&idx=1&sn=c4e6866cc91deac0605855cd7190e372&scene=23&srcid=1130VBGlXHw0HonIQUmBQbtP#rd&ADUIN=897503845&ADSESSION=1448880861&ADTAG=CLIENT.QQ.5425_.0&ADPUBNO=26509#userconsent#
4) 《 Protocol buffer序列化及其在微信蓝牙协议中的应用 》
http://mp.weixin.qq.com/s?__biz=MzA4MTkzMjE5Nw==&mid=210470086&idx=1&sn=7865704d0fa848e078415552de9b932e&scene=23&srcid=0225GH07nXiz30gDlMaiCoFg#rd&ADUIN=897503845&ADSESSION=1456897187&ADTAG=CLIENT.QQ.5445_.0&ADPUBNO=26531#userconsent#
5) 《 从零开始搭建微信硬件开发环境全过程—1小时掌握微信硬件开发流程 》
http://mp.weixin.qq.com/s?__biz=MzA4MTkzMjE5Nw==&mid=402454440&idx=1&sn=7fc067185acf44743de198c7bc4745e2&scene=23&srcid=0225q3WBNgY8lfs9SvLVyDo2#rd&ADUIN=897503845&ADSESSION=1456897187&ADTAG=CLIENT.QQ.5445_.0&ADPUBNO=26531#userconsent#
注:其中1是官网,一定要看;2~4是设备端开发必须要看的概况、airysnc协议、protoclo协议;5是如何使用测试号,香瓜表示做到一半就做不下去了,服务器不会配置。
2、在进行本文步骤前,请先
实现
以下博文:
暂无
五、基础知识
1、什么是微信硬件?
答:能与微信通信的硬件。通信方式有wifi、蓝牙、有线等方式。
2、微信硬件是如何控制的?
答:
如上图,从用户的角度来说,用户可直接通过微信的公众号进行操作设备(例如开关灯的操作)。
而实际上微信只是数据的中转站,用于厂商服务器或html与设备之间的数据传递。
厂商有两种方式对设备进行数据通信:
1)设备-微信app-微信后台-厂商服务器。这种方式需要经过微信后台,因此耗费时间较长。
1)设备-微信app-厂商html。这种方式不需要经过微信后台,因此速度较快,实时性要求较高的项目可选择此方案。(注意微信app与厂商html之间的是jsapi接口)
1)设备-微信app-微信后台-厂商服务器。这种方式需要经过微信后台,因此耗费时间较长。
1)设备-微信app-厂商html。这种方式不需要经过微信后台,因此速度较快,实时性要求较高的项目可选择此方案。(注意微信app与厂商html之间的是jsapi接口)
3、使用微信硬件有什么好处?
答:目前大多数的蓝牙设备公司,都会有自己的蓝牙设备、蓝牙app、服务器。
这样对于用户,每买一家公司的电子产品就要安装一个公司的蓝牙app,买10个设备就需要安装10个app,显然是件令用户头疼的事情。
而微信硬件则只需要用户安装微信,然后关注对应公司的公众号,即可对设备进行操作。大大增加了用户体验。
4、想实现微信控制自己的硬件,需要做些什么?
答:
1)需要以公司的名义去注册公众号
个人不可以,且每年需要缴给微信一定费用。
2)让蓝牙设备支持微信
①广播协议支持微信的airsync协议。也就是在广播数据中增加一个微信相关的数据段,包含厂商信息、mac等数据。
②使用微信要求的服务、特征值UUID。
注意微信用的通知方式是indicate,而不是notify。
③数据包支持Protobuf协议。
3)微信端开发
主要是公众号的界面相关。
4)厂商服务器开发
根据上述第2点所说的,不同的方案,厂商服务器与微信之间的接口协议也不一样。
5、公众号是怎么一回事?
答:相信大家使用微信过程中,经常被要求各种关注公众号。
其实公众号分为:订阅号、服务号、企业号。
不同的号有不同的权限,当然费用和条件肯定也是不一样的。
详情可以百度一下。
6、个人想开发微信硬件,但是没有公众号怎么办?
答:
方法一:注册测试号。测试号与正式的公众号大部分功能一致,可用于开发阶段调试。它同样需要配置厂商服务器之类的,总之香瓜研究了一半木有搞定,个人能搞定的小伙伴请告知我一声。
方法二:使用AirSyncDebugger(推荐)。微信硬件平台的官网,提供了AirSyncDebugger用于设备端开发人员快速调试。只要跟AirSyncDebugger通信过了,设备端也就基本上开发好了,剩下就是微信端和服务器端开发人员的事情。
7、微信硬件的开发,有必要学吗?
答:微信硬件不一定会火起来(因为它是收费的),但微信硬件的这种方式是一种趋势。
就像如今手机、电脑都可以登录网页一样,这种方式能实现消除平台的障碍。
因此,香瓜认为有必要进一步学习学习。