【BLE-CC2640】CC2640之微信硬件快速入门

来源:互联网 发布:激光slam算法 编辑:程序博客网 时间:2024/06/06 01:16

本篇博文最后修改时间: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

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):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接口)

3、使用微信硬件有什么好处?
答:目前大多数的蓝牙设备公司,都会有自己的蓝牙设备、蓝牙app、服务器。
这样对于用户,每买一家公司的电子产品就要安装一个公司的蓝牙app,买10个设备就需要安装10个app,显然是件令用户头疼的事情。
而微信硬件则只需要用户安装微信,然后关注对应公司的公众号,即可对设备进行操作。大大增加了用户体验。

4、想实现微信控制自己的硬件,需要做些什么?
答:
1)需要以公司的名义去注册公众号
个人不可以,且每年需要缴给微信一定费用。

2)让蓝牙设备支持微信
①广播协议支持微信的airsync协议。也就是在广播数据中增加一个微信相关的数据段,包含厂商信息、mac等数据。
②使用微信要求的服务、特征值UUID。

注意微信用的通知方式是indicate,而不是notify。
③数据包支持Protobuf协议。

3)微信端开发
主要是公众号的界面相关。

4)厂商服务器开发
根据上述第2点所说的,不同的方案,厂商服务器与微信之间的接口协议也不一样。

5、公众号是怎么一回事?
答:相信大家使用微信过程中,经常被要求各种关注公众号。
其实公众号分为:订阅号、服务号、企业号。
不同的号有不同的权限,当然费用和条件肯定也是不一样的。
详情可以百度一下。

6、个人想开发微信硬件,但是没有公众号怎么办?
答:
方法一:注册测试号。测试号与正式的公众号大部分功能一致,可用于开发阶段调试。它同样需要配置厂商服务器之类的,总之香瓜研究了一半木有搞定,个人能搞定的小伙伴请告知我一声。
方法二:使用AirSyncDebugger(推荐)。微信硬件平台的官网,提供了AirSyncDebugger用于设备端开发人员快速调试。只要跟AirSyncDebugger通信过了,设备端也就基本上开发好了,剩下就是微信端和服务器端开发人员的事情。

7、微信硬件的开发,有必要学吗?
答:微信硬件不一定会火起来(因为它是收费的),但微信硬件的这种方式是一种趋势。
就像如今手机、电脑都可以登录网页一样,这种方式能实现消除平台的障碍。
因此,香瓜认为有必要进一步学习学习





0 0