基于STM32云连接应用的概览
围绕着基于STM32的云连接应用,我们提供了丰富的软件例程包,对应的说明文档,配套的评估板;
基于广大客户的典型需求分析,我们撰写了详细的培训材料,并联合第三方开发了内容丰富的云连接课程。
节点设备的云连接,是一个从嵌入式开发到网站开发,到数据库管理,跨度很大的应用。整个产业链上涉及的角色也很多,我们着重在以开放的平台和生态,与众多合作伙伴共同服务我们的客户。
在我们的软件例程包里,配套的评估板主要集中在L4、F4、F7几个系列。但这并不是说在你做云连接应用的最开始,选型阶段,只有F4,F7,L4这几个系列可供选择。
我们单单说“连接”这个基本功能的话,它对MCU硬件并没有特殊需求:和外部无线通信模块通信所需要的串口和SPI接口是所有MCU都支持的外设;软件方面,根据不同的应用你需要使用不同的物联网协议,因此只要选择FLASH和RAM的大小能满足的STM32就可以了。
进一步,如果考虑到节点设备的功耗,以L0、L1、L4、L5为代表的STM32L系列,可以帮助你缩小筛选范围;如果还要结合节点设备的高安全需求,那么L4和L5,更是低功耗系列中的个中翘楚,你的最佳选择。
如果相比更看重处理性能,H7和F4则是更合适的选择
B-L475E-IOT01A
32F413HDISCOVERY
32F769IDISCOVERY
P-L496G-CELL01
P-L496G-CELL02
现在我们提供的云连接套件,支持的云平台有:AWS, Azure, Watson等国外主流云 IoT平台,也有国内的阿里云,百度云,机智云等IoT 平台。由于篇幅有限,这一页没有全部列出来已经支持的云平台,详情请看后面胶片中的具体介绍。
云连接套件中,支持的设备连网方式,有WIFI,2G/3G, NB-IoT,LoRa,以太网等。
云连接套件中,提供的物联网典型应用有,Telemetry(英文意思“数据遥测”,这里就是指最基本的节点设备向网络平台定期上传小批量数据,并异步但不频繁地接收并响应来自云端服务器的命令);OTA,节点设备的空中升级;资产追踪和管理、预测性运维等应用。
以上三个维度,是用户比较关心的;从开发者角度,进一步讲,云连接套件中,根据不同的应用和无线传输制式,软件包里包含有MQTT, CoAP, LWM2M,HTTP物联网协议,以及TLS安全传输协议。
ST提供有两类软件扩展包,一类是以“X-CUBE-“为前缀的软件扩展包,一类是以”FP-”为前缀的功能扩展包。相比较而言,X-CUBE软件包支持的主控开发板更多, 而FP软件包更偏向 接近一个真实的应用,因此可能会用到比较多的功能扩展板(比如各类传感器,无线通信模块等),或者还有专门手机APP搭配这个例程使用。这些软件包都有对应的用户手册来描述该软件包的功能和使用,以及对应软硬件的搭建。有部分用户手册已经被翻译成中文,在表格中用绿色字体标明。
连接AWS云平台有四个软件包:前两个软件包的功能相同,“连接方面”,STM32可以向AWS平台发送数据以及接受云端下发的命令,支持TLS加密传输。用户通过登录ST-AWS-Dashboard网页可以通过图形化方式直观地观测上传的数据,并对设备进行下行X控制。除此之外,X-CUBE-AWS,还集成了SBSFU功能,可以实现安全启动和安全固件升级。X-CUBE-AWS里的例程可以直接运行在四个主控MCU评估板上,分别提供了通过Wifi,以太网和NB-IoT方式连接到AWS IoT平台。FP-CLD-AWS1软件包只支持其中的两个评估板。
FP-IND-PREDMNT1(industry predictive maintain),集成专门的传感器算法可以用于工业应用的预测性维护,实现对潜在故障的早期预警。除了通过wifi连接到AWS,再在网页版dashboard做可视化数据展示和设备操控,它还提供通过蓝牙连接到手机,或者通过USB连接到PC,来查看检测数据的方式。
FP-ATR-SIGFOX1,提供Sigfox网络节点的状态监控和跟踪功能例程,可以通过网页上的ST-Asset-Tracking-Dashboard查看节点上报的数据。同时也可以通手机APP ST Asset Tracking通过蓝牙设置节点设备参数。
连接Azure云平台、连接Google物联网平台的软件包,功能与AWS大同小异;区别仅在于和各自IoT平台连接时的参数、认证方式有所不同。再次不再累述。
连接Watson平台的例程也有四个软件包。前两个和之前连接AWS、Azure的功能一样,实现STM32节点连接到Watson平台并进行数据交换的简单功能。FP,function pack包还支持通过NFC对节点设备进行配置,并通过预置算法处理加速度传感器的数据,可以用于电机,泵等设备的振动检测。
讲到现在,我们介绍的例程都是节点设备直接连接到云端服务器,后面两个,FP-NET开头的例程包,一个-BLESTART1,一个-6LPWIFI1,展示STM32作为网关设备,向下分别管理BLE星形网络,和SubG 6LowPAN网络,向上通过Wifi热点连接IBM Watson IoT平台。-BLESTART1这个例程里,基于STM32的网关设备,还可以和手机建立蓝牙连接,通过手机APP检测和控制蓝牙网络
X-CUBE-CELLULAR软件包,顾名思义,cellular,蜂窝移动网络,通过2G/3G,以及NB-IoT的方式连接到GroveStreams IoT平台。应用比较简单,就是最基本的数据遥测和设备控制,主要是展示了带sim卡的蜂窝无线模块的连云方式。
X-CUBE-CLD-GEN软件包,提供了通过开源的Eclipse Paho MQTT客户端连接MQTT服务器的例程和一个简单的HTTP 客户端的例程。分别连接到Eclipse Mosquitto™, Ubidots,Exosite, Grovestreams等平台。
ST也非常重视和中国公有云厂家IoT平台的合作,我们再来看看ST本地技术支持团队和中国合作伙伴开发的云连接套件。
STM32中国和阿里云IoT有着长久而密切的合作。deliver给大家的STM32连接阿里云IoT的软件包也在不断迭代中。这张胶片里列出的是,今年2019年,ST和阿里云IoT联合开发的课程。项目代码、课件文档,都已发布在STM32中国官网、AI电堂、阿里线上大学。
在节点端有三个软件包,功能都是普通的“telemetry”,即数据遥测和设备控制。连接方式分别采用wifi和NB-IoT。接入协议都采用mqtt:其中,STM32-AliyunIoT-Paho和paho-bc28,使用开源的Paho MQTT客户端,经过适配后连到阿里云IoT平台,同时采用二进制数据透传,针对设备资源受限的应用场景,而STM32-AliyunIoT-Linkkit基于阿里公开的Linkkit SDK,使用Alink数据格式方便跨平台移植,支持TLS安全传输,针对设备资源丰富的应用场景。
该课程还涵盖服务器端开发的内容,包括网页端应用和数据库的使用。都有对应项目源码和教程。这一部分的实现,使得用户可以通过网页查看设备上传的数据以及控制设备。
I-Cube-Quectel 软件包里的功能,和上一条Paho-bc28,大同小异。主要是丰富了项目所支持的IDE,除了IAR,还包含KEIL, STM32CubeIDE和SW4STM32 的工程项目。
STM32F769_OTA软件包提供了利用百度BOS服务和IoT Hub实现STM32远程无线升级的例程。在本地中文官网上可以找到对应的使用和二次开发文档
I-Cube-Gizwits,集成了机智云的Gagent, 设备可以通过Gagent访问机智云平台,实现数据通信和OTA功能。
最后,根据不同的应用和场景,从开发者角度,我们看一下各个云连接套件例程中提供的网络协议实现参考。
大部分的软件包都支持MQTT,HTTP和TLS协议。
MQTT的支持,有使用各个主流公有云iot平台提供的SDK里包含的mqtt协议栈,比如AWS,Azure,Aliyun;也有使用开源的Eclipse Paho协议栈,STM32再根据不同云平台的接入参数,在其上进行适配。这种连接方式的好处,不变应万变,掌握了原理和方法,可以快速连接到任何支持mqtt协议的主机服务器上。比较适合Iot应用的学习和爱好者。
HTTP协议只实现了HTTP客户端的部分功能
而TLS协议都是使用的mbedtls stack的实现。
FP-NET-6LPWIFI1软件包中,用到的CoAP和LWM2M协议使用的是Contiki iot os里的实现。
STM32-AliyunIoT-Paho虽然用到了mbedTLS,但是只用了其中的HMACSHA1模块来计算连接阿里云物联网平台需要的三元组信息,并没有用TLS进行加密传输。
STM32中国技术支持团队和本地合作伙伴一起做了很多工作来丰富我们的生态系统。我们将这些成果和经验整理起来,通过线下线上的方式与我们的客户,STM32爱好者进行分享。扫描图片里的二维码,可以下载和观看云接入培训的材料以及视频。
我们还和阿里云物联网部门联合推出了《基于STM32节点和阿里云IoT平台的物联网应用开发系列课程》。该课程既面向“传统嵌入式开发者” 也面向 “传统web开发者”。以基于STM32的温湿度控制器作为节点设备,通过阿里云IoT平台转发数据到用户自己的服务器,并开发了网页端的用户操作界面来检测和控制节点端。课程涵盖三部分的操作:
STM32节点端开发。针对资源受限设备和资源丰富的设备提出了两种实现方式:前者使用开源的Paho MQTT适配连接到阿里云IoT;后者使用阿里云物联网平台的Linkkit SDK快速连接。
阿里云IoT平台使用和设置
用户服务器的搭建
课程中的样例代码都是开源的,供大家免费下载学习,可以扫描图片里的链接获取更多的详情。
很多在云连接领域的合作伙伴,提供了各种基于STM32的解决方案,比如艾拉比物联网OTA升级技术解决方案、迪尚ST MCU FOTA 系统、中移物联网NB-IoT开发板及连接OneNET平台方案。
END
《云连接》系列文章:
《云平台之间的移植》网址:
https://www.stmcu.com.cn/ecosystem/app/cloud2
《远程固件升级》网址:
https://www.stmcu.com.cn/ecosystem/app/cloud3
或点击文末阅读原文,在文章中获取相关链接。