开发者学堂课程【基于STM32的端到端物联网全栈开发:课程指南】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/574/detail/7933
课程指南
目录:
一、课程指南
二、节点端两种接入方式
三、web 端应用开发
四、课程所需硬件
五、课程所需的软件
一、课程指南
本课程是基于 SMT32 节点和阿里云 IoT 平台的物联网应用开发系列课程。
正式开始学习开发课程之前,先花部分时间了解课程指南。从而对整个课程的逻辑框架和内容安排有大概了解。
这样在后续的学习中就会清楚当前所处的位置。和当前学习的知识点是为了什么,是要解决什么问题。
通过课程指南可以了解到,本系列课程可以解决作为嵌入式工程师,或作为 web 开发工程师,平时在做 IoT 开发时的碰到的难点和痛点,和课程的应用场景是怎样的。介绍是基于什么模型去学习它,以及会用到的软硬件等等。
SMT32 在传统嵌入式领域得到了广泛的使用。随着第一颗 SMT32系列芯片的面世以来,经过12年的发展 SMT32 在中国市场的排名已经越居为第一名。
近年来随着物联网的兴起,很多传统嵌入式的应用在 IoT 时代有了连云的需求。为了满足客户的这一需求。一方面 ST 设计开发出从功耗到安全方面都更适用于 IoT 应用的 SMT32 产品线。
这是在芯片本身方面的努力。另一方面进一步完善 SMT32 的生态系统。
包括生产各个模块的生产厂家,云平台合作开发 SMT32 的联云套件。包括硬件板,软件包和文档、培训视频等等。
从硬件和软件两方面对 IoT 的两大主题:链接和安全做出强大和广泛支撑。
那么现在可能会产生一个疑问,这个系列的视频和以往的 SMT32的云链接培训视频有什么不同吗?
之前的线下云链接主要针对的是数据的前半程,及从节点设备到共有云的物联网平台。在 IoT 平台,在自己账号下的控制台,可以看到设备传上来的数据,并且从云端控制台可以下发指令,来控制节点端的行为,比如开灯,启动电机等。
客户的业务逻辑,一般是由用户自己负责,基于我们提供的云链接的软硬件的套件,传统业务数据可以借此从封闭的网络扩展到云平台。结合大数据、AI、区块链等新技术。可以进一步深挖行业价值,对于传统嵌入式客户业务逻辑之外,只需对 mqtt 协议有稍微的了解,从应用层调用相关的 mqtt 接口,那么在 SM32设备端的原型开发就差不多了。
在共用云的物联网平台上,通过网页上的操作,新建产品,添加设备也是非常简单的。数据到了共有云之后又该怎么做呢?
如何把接点上报的数据在云端用起来,那么这里就设计到两个问题。
一个是数据的后半程问题,显然在真实的行业应用中,数据到了公有云的 IoT 平台并不是最终的数据终点,通常还是要到用户自己的应用服务器去做数据的管理和业务的运营。公有云的物联网平台都会提供这样一个 API 输出能力。
节点数据到了阿里云 IoT 平台之后,一个是走途图中绿色部分的路径转到用户自己的应用服务器上,图中数据还可以走另一条路径,橙色的路径分支。
它给了用户另一个可能性,即通过阿里云平台上,配置简单的规则将设备数据转发到阿里云的其他产品。比如消息队列等等。
因此课程即是面对传统嵌入式开发者也是面对传统的 wed 开发者。
本次系列课程会涵盖三个部分的讲解,SMT32节点端连云方式的讲解、阿里云的 IoT 平台的使用和设置,用户服务器的搭建,包括数据库的使用和 web 开发。
《第三章》将讲解
每5秒上报温湿度值,闪烁绿灯
温度超【阈值】亮红灯,并在每10秒向用户服务器报警,直到温度恢复【阈值】以下或者收到报警解除消息
收到报警解除信息后闪烁
温度恢复到【阈值】以下灭灯
《第四章》将讲解
温度值和报警信息被阿里云 IoT 转发到用户服务器,进行数据存储,同浏览器页面显示近期温湿度数据曲线
用户通过浏览器页面解除报警
用户通过浏览器页面设置【阈值】参数
二、节点端两种接入方式
资源受限的节点设备
使用 Paho MQTT Client 协议接入
无安全连接(TLS)
使用阿里云物联网平台.基础版(透传)
MQTT 通信协议和服务器端约好
消息负载二进制表示
消息主题事先定义好
资源丰富的节点设备
使用阿里云 Linkit SDK 接入
FreeRTOS,Jason 构建和解析,TLS 使用阿里云物联网平台.设备管理.高级版(物模型)
MQTT 通信协议按照物模型规定(解耦设备端和应用端开发)
三、 Web 端应用开发
web 应用-后端开发
基于阿里云物联网平台 HTTP/2 SDK 订阅设备数据
使用 SpringBoot + Mybatis 轻量级框架开发服务器逻辑
Mysql 结构化数据库存储设备数据
前后端通过 HTTP 协议的 API 接口实现数据交互
web 应用-前端开发
使用 Umi.js 和 Antd 框架组件
基于 dba.js 实现组件数据管理
基于 Bizcharts 绘制温湿度时序曲线
定时前后端请求设备最新数据
四、课程所需硬件
NUVLEO-L4R5ZI:搭载 SMT32L4R 的主控底板,可通过 Arduion 接口外接其他功能扩展板,板载 STLINK 调试烧录器,支持 USB 供电 X-NUCLEO-IKS01A2:搭载多钟环境传感器,(温湿度,压力)和运动传感器(加速度,陀螺仪)的传感器扩展板,具备 Arduion 接口
EXT-AT3808:搭载 WiFi 模块和天线的连接扩展板,具备 Arduion 接口
五、课程所需的软件
节点设备侧所需软件:SMT32VubeMX、IAR Embedded Workbench 等
服务器端所需软件: JDK8 Intellij IDEA 等