[项目提交] 模拟可穿戴设备功能演示(基于MQTT+阿里云) 看全部

本帖最后由 一代睡神的崛起 于 2019-10-31 16:54 编辑

  大家好,我是Tany(玩味)。这次借助ROHM的sensor做了一个粗糙的可穿戴设备的模拟项目,当然其中有许多的美中不足之处,下面听我给栩栩道来。
  此次项目用的是STM32F103ZET6的控制核心,结合ROHM的心率传感器(bh1790glc)和地磁传感器(bm1422agmv)以及提供显示的OLED屏来展开需求开发的。首先我们了解到这两个sensor都是基于IIC通信的,刚好STM32含带两个IIC接口,所以舍弃了ROHM精心提供的驱动板。然而此次选用的显示屏是不带触摸功能的,所以为了模拟滑动屏的效果,笔者加入了按键开关用来模拟滑动屏的功能滚动,从而也能够简易的表达出用户需求功能的效果。
  因为时间比较匆忙,来不及设计许多需求,只是把传感器的功能简单的实现了而已。如果后续还有时间可以找一个盟友写一个手机APP来对接设备。有人建议把数据通过wifi模块儿发送到云平台,后来我想了一下,觉得没有必要,因为使用定位不一样的,谁都是在时刻关注着自己的心率数据,总不可能天天背着个wifi传递数据然后再去后台查看吧,显然这是不符合逻辑的,所以我放弃了这个参考思路。最简单的思路就是APP端写个蓝牙数据交互端,与设备进行数据交互显示,从而达到在APP端时刻关注或者再由APP推送到后台,从而实现远程数据的查看。
  首先给出控制核心STM32F103ZET6的结构图。 MCU.jpg 这是基于ARM CoterxM3内核144pin脚LQFP封装,模拟滚动按键接的是其中的PE4,返回主界面按键接的是PE3,沉睡唤醒按键接用的是PA0(WAKE),而传感器两个sensor分别用到的是两个IIC口,心率传感器用的是IIC1对应的PB6(SCL),PB7(SDA),地磁传感器用的是IIC2对应的PB10(SCL2),PB11(SDA2).,显示屏用的是SPI协议,时钟选择的是PA5(CLK),数据输入脚对应的PA7(MOSI),复位脚选择的是PA9(RESET),数据/命令脚选择的是PA6(DC),片选信号选择的是PA4(CS)。这样所有的外设接口都完成了相应的连接。同时给出OLED显示屏的结构图,便于参考。 oled.jpg
  将所有外设都准备连接妥当,进行程序烧写,并在最开始进入低功耗睡眠模式。如图所示: NO.1.jpg 这是烧录完程序后的最初界面,为了省电设计我们将其沉睡了,现在我们需要按住WAKE按键1秒进行唤醒,如图所示: NO.2.jpg 进入唤醒LOGO,并初始化对应传感器,进行功能唤醒,等待3秒之后进入主菜单,如图所示: NO.3.jpg 。一个有意义的设计得根据自己喜欢的人来进行参照设计,这款花花智能穿戴演示就是这样得名由来的。然后通过功能按键进行测试功能选择查看,此时我们展示的是全部功能界面,如图所示: NO.4.jpg 。本次功能显示有三处,其一是方位指向,前面的方位字母代表方位指示符,后面的数据便是对应的方位角度了,能提供用户一目了然的方位指示,十分便捷。其二就是环境温度,为什么要说是环境温度呢?因为这个温度测量用的地磁传感器内部的寄存器测量,并不是专门温度感应sensor,所以对变化的温度响应不是很灵敏,但是测量环境温度还是挺吻合的。 温度 其三就是心率脉搏,通过心率传感器发送绿光对血液的反射频谱来计算心率的跳动次数,从而很好实时监测自己心率跳动情况。下面给出手指测量的心率,如图所示: NO.5.jpg ,好了此次的功能演示就到此结束了。  一个智能设备是少不了云端服务器控制的,所以在穿戴的基础上我们又讲数据传到了云平台和MQTT服务器进行数据报备。Iot设备是选用的深圳高新兴的ME3616模块,自带GNSS能进行GPS有效定位。 ME3616.jpg 以上就是该模组的功能脚。我们利用模组的URAT0口与MCU的串口进行数据通信,然后利用MQTT协议传输到MQTT服务器,再推送到阿里云平台就实现了我们后台对数据的报备。MQTT服务器是我自己用树莓派搭建的,能进行数据的订阅与推送,至于相关代码我放到附件里面欢迎查阅。以下就是推送过来的消息和阿里云平台上面的数据更新,MQTT服务器是每5分钟推送一次有效数据,阿里云则是收到推送数据后进行实时更新显示。 MQTT.jpg 阿里云.jpg 从而实现了物联网穿戴设备的智能化。同时GNSS功能还能进行定位,定位的数据应用UDP协议推送到了CoAP服务器里面,同时也给出定位数据和地图对数据的处理 coapdata.png 地图.png
  如今随着社会的生活水平的提升,人们对身体健康越来越重视。一个完善的智能穿戴设备不仅能提供用户良好的生活健康体验,同时也能提升幸福生活中指数,在市场上需求也会日益提升,可谓是双赢局面。最后给出测试视频演示(程序还可能加入蓝牙暂时保留),同时十分感谢ROHM爸爸的大力支持。



老铁真爱啊

肯定是真爱啊
嗯还可以

不污不是矿泉水