最近有幸拿到了Sensoro提供的Smart Tag Kit,一套支持微信AirSync蓝牙协议的开发套件。开发套件的包装看起来是花了一番心思,让冷冰冰的电路板立即变的暖暖的。
套件到手之前,笔者以为这个套件可能是一个基于STM32核心板加扩展板的套件。拿到手之后才发现原来是一套兼容Arduino的核心板加扩展板,非常开心。因为市面上Arduino扩展模块非常多,而笔者最近也在捣鼓一些基于Arduino的创意制作项目。
更让人激动的是这个套件中的扩展板已经包含了几个很常用的模块,比如红外传感器,温湿度传感器,电机和一个可以调色的RGB灯。
微信目前已经开放了客户端与蓝牙设备之前的通讯协议AirSync,蓝牙设备可以通过该协议与微信客户端之间直接通讯,数据也可以经过微信客户端透传到设备厂商的云端。AirSync协议对蓝牙手环、体重秤、玩具、公仔等厂商的开发人员非常有用。
Smart Tag Kit已经实现了微信的AirSync蓝牙协议,套件中的蓝牙模块封装了微信与硬件之间的通讯协议,将微信客户端的命令模拟成串口命令输出给硬件。
在开通了设备功能的服务号中,可以在HTML5页面中调用相应的JSAPI来进行设备与微信客户端间蓝牙通讯,这一点非常有吸引力。比如,可以在HTML5页面中设置手环的震动提醒时间,完成蓝牙设备系统设置等。
Smart Tag Kit主要有三部分:
Smart Tag
从官网了解到的信息看Smart Tag其实是一个采用了Nordic nRF51822系统芯片(SoC)的蓝牙模块。Smart Tag是通过类似TF卡插座(可能就是TF卡插座)的形式插在扩展板上的,可以随时从扩展板上取下。
插口
正面芯片
核心板
套件的核心板是一个Arduino Uno兼容的开发板,之所以说兼容是因为这个板子是基于Arduino Uno的电路的,但有一个关键点不一样。它用的USB转串口芯片不是Atmega16U2而是CH340。
那么问题就来了,它需要安装芯片的USB转串口驱动电脑才可以认出来。好在开发板在Github上有发布串口驱动,源代码,原理图和相关介绍文档。如果要通过Arduino IDE来写代码或修改开发板原厂代码,记得需要安装驱动才可以。
图中红框内的就是USB转串口芯片。
扩展板
套件的扩展板是一个标准的Arduino Uno(Arduino Mega应该也可以)的扩展板。扩展板上有一个类似TF卡的基座,Smart Tag以一个小卡的形式插接在插座上。板上右边有红外、温湿度传感器、电机和一个RBG灯。同时,在左侧还将Arduino的A0-A5模拟Pin脚和D8-D13数字Pin脚做了引出,与VCC和GND并排排布,这样接一些额外的传感器时就非常的方便了。
Smart Tag Kit利用微信客户端,通过语音控制智能硬件设备,只需 10 分钟快速上手。通过微信扫描二维码绑定设备后,可以在 SENSORO 公众号下的 iot 页面对设备发送命令。
主要使用了微信JSSDK来实现语音命令解析,通过 Smart Tag 透明传输命令,通过智能硬件开发板解析命令,通过扩展板来响应命令。
接下来我们体验一下Smart Tag Kit与微信的交互过程。
第一步,使用USB电源线为Smart Tag Kit供电,此时电源提示灯点亮。
第二步,使用微信“扫一扫”扫描包装盒上附带的微信互联设备二维码。关注微信公众号后,Smart Tag Kit就会和你的微信号绑定。这个二维码是微信互联设备专用的二维码,通过了微信互联认证的设备都可以获取到这种二维码。
第三步,绑定后进入公众号,点击最右边的“微信硬件之旅”则可以进入HTML5的控制页面。发送微信语音或点击页面上的控制命令均可以控制开发板上的RBG灯、电机。整体体验非常不错。
这也是一个典型的微信蓝牙设备的通讯过程,微信客户端可以在公众号中与蓝牙设备直接通讯。
微信硬件的协议和接口在这里都可以找到:
http://iot.weixin.qq.com
当然了,我们前边已经说过了。Smart Tag Kit的核心板和扩展板都是Arduino兼容的,我们当然还可以把它当Arduino Uno使用,结合Arduino IDE使用时与Uno没有差别。同时也支持S4A(Scratch for Arduino)等环境。
所有的源代码和原理图都可以在Github上下载到:
https://github.com/sensoro/iot
上图是从Github下载到的源代码,代码中可以看到蓝牙模组串口通讯用掉了Arduino的6和7Pin脚,Arduino在烧写代码时要用到0,1两个串口Pin脚。因此用6和7Pin脚做串口通讯时需要引入SoftwareSerial库才可以。
同时,因为要使用到RGB灯、电机和温湿度传感器,也需要引入官方提供的Moto, RGBLED, DHT1这三个库。这样灯、电机和温湿度传感器的操作和读取,可以直接在Arduino IDE中调用了。
套件只是提供了与微信结合的一些基本的例子,在实际的创意项目或产品开发中远不止这些,但免去了调试蓝牙协议的时间。因此,如果想了快速使用微信AirSync蓝牙协议来做一些实验,或产品原型方案测试的话,Smart Tag Kit会是个很有用的工具和帮手。
关于作者
微信高级产品经理
业余程序员
嵌入式发烧友
DIY发烧友
乐器发烧友
联系客服