微信硬件平台官方最近发布了一款接入微信的智能跑鞋,借力微信社交进行品牌营销。相比以前运动手环通常经过微信精简协议来接入微信运动,智能跑鞋是使用微信蓝牙airsync协议实现接入,其支持自定义应用协议,可以实现更加丰富的功能。前者在微信前端界面只是实现了单一的微信运动排行榜,然后者还能够经过定制商家的微信公众平台来实现步数累加、积分兑换、邀请好友竞技等等。后者利用微信好友社交有更好的体验。前端
嵌入式企鹅圈半年前就已经研发并试产过面向儿童的智能防丢计步鞋,使用了DA14580+Lis3dh重力加速度传感器。如今低功耗蓝牙单芯片DA14580上集成微信airsync,并已经完成后端的研发接入。有兴趣邮件咨询yqwucheng@163.com.算法
现将嵌入式企鹅圈的微信智能跑鞋方案的技术要点进行一一说明。后端
1、框架图安全
2、DA14580蓝牙应用开发微信
1. 计步算法微信公众平台
通常都是基于某款加速度传感器或者陀螺仪进行算法研究实现。Lis3dh是意法半导体研发的6D传感器,在可穿戴设备中有较高的占比。框架
有关的Lis3dh的使用方法和计步原理请参考以前的博文。嵌入式企鹅圈的计步算法能达到98%的准确率。3d
2. 防丢应用blog
防丢应用是面向儿童设定的,父母能够经过防丢来监控穿着智能鞋的子女的范围。其原理是蓝牙设备提供发射功率参数给APP/微信H5,H5也能够随时得到蓝牙设备的RSSI信号强度,这两个参数能够计算出手机和智能鞋的距离。当距离超过设定时,智能鞋和手机APP/H5均可以发出警告。接口
3. 跺脚检测
为了安全,跑鞋的智能模块不该该给任意手机用户绑定。因此提供了跺脚检测算法,检测到跺脚才进入绑定状态。
4. 运动静止检测
智能鞋在静止时应该进入深度睡眠状态以节省功耗
5. 运动参数存储
使用外置flash存储。
6. 通讯协议实现
通常蓝牙设备须要主动更新参数给手机,如计步实时数据和历史数据,使用蓝牙的indicate characteristic;手机主动控制蓝牙设备,使用蓝牙的writecharacteristic;手机主动读取蓝牙设备信息,使用蓝牙的read characteristic。
3、DA14580微信接入
1. 微信蓝牙精简协议
只是单纯地上报步数、距离和卡路里。
后端经过“接入社交功能”消息结合来提供微信运动排行榜。
2. 微信蓝牙airsync协议
Airsync协议分别实现indicatecharacteristic、indicate characteristic和read characteristic。用户能够在此基础上定制用户层应用协议。
3、微信前端
1. 微信硬件JSAPI使用
硬件设备消息经过微信->微信公众平台->商家的后台进行处理,以后再经过微信公众平台->微信->设备,整个流程很长,实时体验很差。使用JSAPI在某些实时场景是必须的。前端能够经过AJAX技术跟后台直接交换,并能够调用JSAPI来直接跟蓝牙设备进行交互。
2. 微信应用消息接口
如接入社交功能接口,微信硬件消息接口等等。
3. 智能鞋社交应用开发
儿童监控、运动记录、鞋子定位等等。通常智能鞋还会利用地图和GPS进行定位。微信硬件发布的智能鞋还有邀请好友进行跑步竞技、排行榜、跟商家的营销结合进行步数积分兑换等等。
嵌入式企鹅圈以前在APP端实现儿童监控、运动记录等功能。微信前端应用能够进行定制实现。
4、后端开发
实现微信接入和微信前端应用逻辑的支撑服务。
5、应用图示