STM32快速上云实战指南:手把手带你入门机智云

描述

本项目基于STM32F103C8T6最小系统板,采用HAL库开发方式,结合ESP01s Wi-Fi模块,实现将各类传感器数据快速上传至机智云平台。通过移植机智云SDK到自定义项目,用户可以方便地将传感器数据实时传输到云端,支持通过机智云APP远程查看数据和发送控制命令。该项目为物联网应用提供了一个简便的解决方案,能够帮助开发者快速搭建起智能设备的云端连接与远程控制功能。

 

PART.01实物材料

 

主控芯片:使用STM32F103C8T6,这里用到最小系统板,方便快捷。

wifi模块:选用ESP8266-01s

传感器:DHT11温湿度模块、LED

准备软件:keil5(MDK版本)、STM32CubeMx(用于配置STM32与生成HAL库代码)

 

PART.02实物连接
 

LED负极 --- STM32的PA0

LED正极 --- 电源正极3.3V

ESP01S的3v3 --- 电源正极3.3V

ESP01S的GND --- GND

ESP01S的TX --- STM32的PA3

ESP01S的RX --- STM32的PA2

DHT11 的 3v3 --- 电源正极3.3V

DHT11 的 GND --- GND

DHT11 的 DATA --- STM32的PA1


 


物联网

 

1、在机智云平台上创建设备,设置数据点。

进入机智云平台,注册登录之后,进入开发者中心


 


物联网
 

创建设备,设置数据点


 


物联网


 

这里以其他为例

 


物联网


 

设置好名称,类型(这里根据图片默认即可)

 


物联网


 

然后编辑我们想要的数据点


 


物联网




 

这里以温湿度的数据点设置为例,如图


 


物联网
 

我们这里一个设置三个数据点:温度temp,湿度humi,照明LED_Flag


 


物联网
 

PART.03ESP01s刷机智云的固件


 

接下来先给wifi模块ESP01s刷机智云的固件,用于后面的移植机智云的SDK,我们使用CH340 USB转TTL模块,给esp01s烧录固件。


 


物联网

 

实物连接ch340连接esp01s


 

Esp01s 3V3 --- 3.3v

Esp01s GND --- GNDv

Esp01s TX --- CH340的RXD

Esp01s RX --- CH340的TXD

Esp01s EN --- 接高电平3.3V

Esp01s IO0 --- 接低电平GND,这里用于下载模式

CH340的跳冒接 VCC与3V3

 


物联网

 

连接好实物图之后就可以开始准备烧录固件了,先去机智云官网下载ESP8266固件。


 

进入机智云官网---开发者中心---下载中心---GAgent---下载ESP8266固件。


 


物联网
 

先解压,等下用这个8Mbit版本的固件。


物联网
 

接下来打开ESP乐鑫官方的烧录固件工具(文章结尾工具包链接里面有提供)。


物联网

 

选择对应的固件版本,这里ESP01s选择刚刚下载包里面的8Mbit版本,地址0x000,其他选项配置如图,点击start开始烧录。
 


物联网
 

烧录好固件后,就可以进行MCU STM32 HAL库版本的SDK移植了。

 

PART.04机智云SDK的移植与上云

 

移植机智云SDK

进入MUC开发页面

 


物联网
 

生成代码包之后下载下来,用于后面的移植到自己的工程。


 


物联网

 

我们把这个SDK移植到自己的工程(也可以直接选择使用这个SDK工程)


 

移植机智云的SDK,我们需要先配置STM32需要的配置:一个定时器TIM2实现1ms中断给机智云作为基准时钟,一个串口usart1 用于与电脑通信实现调试打印功能,一个串口USART2用于单片机与esp8266的底层通信,我们打开STM32CubeMx开始配置。


 

配置TIM2实现1ms中断


 


物联网

配置串口usart1,波特率115200


 


物联网
 

配置串口usart2,波特率9600


 


物联网
 

在NVIC中打开中断。


 


物联网
 

配置完成,点击生成代码。


 

我们把下载的SDK的官方文件里面的这两个文件复制到自己的工程。Gizwits机智云文件,Utils工具文件,Hal生成的hal库用到的程序。


 


物联网

 

打开keil工程,在工程中也需要把这两个移植文件添加入工程

 


物联网


 

记得引用一下路径
 


物联网


 

接下来我们修改机智云gizwits_product.c文件中的函数,实现自己的数据点上传。


 

void userInit(void) 这个函数是数据点初始默认值函数。


 


物联网

 

void userHandle(void)这个函数实现了给云平台数据点赋值,这里我们把读取到的温湿度赋值给数据点。


 


物联网


 

编写云平台下发数据的逻辑控制。


 


物联网
 

Main.c文件添加初始化与调用函数,初始化函数调用。

调用机智云的初始化函数,打开定时器计时与中断和串口2接收中断,数据点初始化,设置wifi模式为AIRLINK一键配网模式。


 


物联网
 

While循环中调用主要功能函数


物联网

 

以上机智云的SDK就移植到自己的程序里面了,接下来连接好实物之后开始测试。


 

PART.05实物连接


 

LED负极 --- STM32的PA0

LED正极 --- 电源正极3.3V

ESP01S的3v3 --- 电源正极3.3V

ESP01S的GND --- GND

ESP01S的TX --- STM32的PA3

ESP01S的RX --- STM32的PA2

DHT11 的 3v3 --- 电源正极3.3V

DHT11 的 GND --- GND

DHT11 的 DATA --- STM32的PA1


 


物联网


 

PART.06使用ST-Link烧录器烧录程序


 

首先用一部手机连接wifi,这里wifi必须要2.4g模式的(建议再用另一台手机开热点,这一台手机连接热点然后代开机智云APP),之后我们打开机智云APP开始测试。


 

添加设备,这里选择一键配网然后输入wifi密码。

 


物联网

 

下一步之后,给板子断电,点击“我已完成上述操作”之后立马给板子通电,等待连接之后,返回就连接成功了。


 


物联网

 

测试成功,可以看到机智云APP可以显示温湿度数据和控制LED了。


物联网



物联网
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分