基于STM32F103C8T6单片机和DHT11温湿度传感器,通过CC2530ZigBee无线模块和ESP8266WIFI模块将温湿度上传至云服务器,实现Linux实时监测温湿度

一、实现功能

1.功能概括

        利用温湿度传感器测得当前环境的温湿度,通过STM32单片机以及WIFI模块将数据上传云服务器,用Linux去订阅云服务器收到的环境温湿度。

2.分析过程

        两个CC2530ZigBee无线模块,一个连接DHT11温湿度传感器充当终端设备的“传感器”,另一个CC2530ZigBee无线模块充当终端设备的“协调器”。
        充当终端设备的“传感器”的CC2530ZigBee无线模块测得当前环境的温湿度,发送到充当终端设备的“协调器”的CC2530ZigBee无线模块。“协调器”通过写串口的方式,将收到的数据发送到STM32,STM32收到数据后将数据通过ESP8266WIFI模块以MQTT的通信方式将数据发布到云服务器,Linux通过云服务器订阅某种主题的信息收到当前环境的温湿度。

二、硬件准备

1.所需硬件

一个STM32F103C8T6单片机、一个DHT11温湿度传感器、两个CC2530ZigBee无线模块(下载器)、一个ESP8266WIFI模块(下载器)、各设备供电线、USB转TTL(可选,用于测试)

STM32F103C8T6

DHT11

CC2530ZigBee无线模块

ESP8266WIFI模块

三、软件准备

1.所需软件

IAR Embedded Workbench

STM32CubeMX

keil uvision5

串口调试助手

四、具体实现

1.一个CC2530ZigBee无线模块连接DHT11温湿度传感器充当终端设备的“传感器”

2.另一个CC2530ZigBee无线模块充当终端设备的“协调器器”

3.“传感器”采集数据发送到“协调器”

4.“协调器”接收“传感器”发送的数据,并且将数据发送到STM32

5.测试:“协调器”通过USB方口线连接电脑,打开串口调试助手测试是否能收到传感器发送来的温湿度

6.用STM32CubeMX定义串口,生成可执行的keil uvision5文件

7.CC2530ZigBee无线模块(协调器)、STM32F103C8T6单片机、ESP8266WIFI模块原理图,以及线路连接

CC2530ZigBee无线模块串口原理图

STM32F103C8T6原理图

ESP8266原理图

线路连接:P0_2—PA9  P0_3—PA10  PA2–D6  PA3—D5

8.STM32通过串口接收“协调器”发送来的数据,将收到的数据发送到ESP8266WIFI模块

9.ESP8266模块接收STM32发来的数据,将数据发送到云服务器

10.Linux通过云服务器订阅信息,获得当前环境的温湿度

作者:成为你的Bug

物联沃分享整理
物联沃-IOTWORD物联网 » 基于STM32F103C8T6单片机和DHT11温湿度传感器,通过CC2530ZigBee无线模块和ESP8266WIFI模块将温湿度上传至云服务器,实现Linux实时监测温湿度

发表评论