学习中心> 基于STM32的端到端物联网全栈开发> 正文

基于STM32的端到端物联网全栈开发

18课时 |
10979人已学 |
免费
课程介绍

本课程场景介绍

  • 不同资源水平的节电设备

本课程的软硬件环境介绍

  • 节点端开发
  • PC(服务器)端开发

课程指南

 

目录:

  1. 课程指南
  2. 节点端两种接入方式
  3. web端应用开发
  4. 课程所需硬件
  5. 课程所需的软件
  1. 课程指南

本课程是基于 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转发到用户服务器,进行数据存储,同浏览器页面显示近期温湿度数据曲线
●用户通过浏览器页面解除报警
用户通过浏览器页面设置【阈值】参数

  1. 节点端两种接入方式

资源受限的节点设备
→使用Paho MQTT Client 协议接入

→无安全连接(TLS)

→使用阿里云物联网平台.基础版(透传)

→MQTT通信协议和服务器端约好

>消息负载二进制表示

>消息主题事先定义好

资源丰富的节点设备
→使用阿里云Linkit SDK接入

→FreeRTOS,Jason构建和解析,TLS
→使用阿里云物联网平台.设备管理.高级版(物模型)
→MQTT通信协议按照物模型规定(解耦设备端和应用端开发)

  1.  Web 端应用开发

●web应用-后端开发
>基于阿里云物联网平台HTTP/2 SDK订阅设备数据

>使用SpringBoot + Mybatis轻量级框架开发服务器逻辑

>Mysql结构化数据库存储设备数据

>前后端通过HTTP协议的API接口实现数据交互

web应用-前端开发
>使用Umi.js和Antd框架组件

>基于dba.js实现组件数据管理

>基于Bizcharts绘制温湿度时序曲线

>定时前后端请求设备最新数据

  1. 课程所需硬件

NUVLEO-L4R5ZI:搭载SMT32L4R的主控底板,可通过Arduion接口外接其他功能扩展板,板载STLINK调试烧录器,支持USB供电
X-NUCLEO-IKS01A2:搭载多钟环境传感器,(温湿度,压力)和运动传感器(加速度,陀螺仪)的传感器扩展板,具备Arduion接口

EXT-AT3808:搭载WiFi模块和天线的连接扩展板,具备Arduion接口

  1. 课程所需的软件

节点设备侧所需软件:
SMT32VubeMX、IAR Embedded Workbench等

服务器端所需软件:
 JDK8 Intellij IDEA等