1 系统设计
整个系统是典型的物联网三角形架构:设备端、云端、移动端。云端采用机智云物联网自助开发平台,方便快速开发;设备端由STM32单片机和传感器、执行器件等构成,STM32是Cortex-M3内核的MCU,主频高达72MHz,性能强大,用的人多,资料多,开发过程出了bug容易解决;移动端,直接利用机智云提供的通用APP,自己开发太麻烦了。根据机智云官网资料,机智云提供了MCU和SOC两种版本的GAgent通讯协议,MCU版需要通过《机智云串口通讯协议》来实现通讯协议的解析与封包、传感器数据与通信数据的转换逻辑,而SOC版本是直接在WIFI模组上进行开发。我这里当然是采用了MCU方案,毕竟ESP8266这个WIFI SoC外设和性能有限。
看了机智云官网的资料后,发现她支持的无线接入方式很丰富,我选择了MCU通过WiFi模块接入,买了汉枫的LPB100无线WIFI模块。
整个系统的编程主要就是STM32的编程了,首先是从卖家那里要来了传感器的驱动代码,然后在机智云开发者中心生成了STM32工程,代码框架机智云已经帮我们写好了,我的主要任务就是把传感器等驱动代码加进去,然后写自己的应用逻辑;WIFI模块不用自己编,在机智云的下载中心下载GAgent固件,并烧录到WIFI模块就行了,GAgent主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁,这样一来就是串口透传了,用着很爽。
为了适应不同通讯模组接入机智云,官网提供了多个模组(如比较火的ESP8266)的烧写方法以及日志打印的方法,以确保GAgent固件在模组里正常运行。
机智云是一个面向智能硬件时代开发平台,还有些高级工具未体验,以后有时间再玩吧,如D3引擎、消息推送、产品互联、ECE雾计算等。机智云提供一个现成产品调试APP(含设备发现、设备绑定、推送、设备分享等基础功能),在应用商店搜索“机智云”即可下载,直接用就好了。
当然,如果想DIY一款APP,那就使用APP代码自动生成服务,一键生成代码包,可以在源码的基础上进行二次开发,比如修改成更美观的界面、加入更丰富的功能等。机友们,有了MCU代码自动生成工具和APP代码自动生成工具,2天就可以搞定一个智能硬件Demo啦!!!