基于STM32F1+ESP8266的智慧传感系统
简介
以 STM32F1为主控芯片,利用 BMP280 温压及 ADXL335 传感器测得信号,通过 OLED 显示屏显示,用 ESP8266 WiFi 模块,将数据上传至阿里云,传送至手机端及 PC 端
简介:以 STM32F1为主控芯片,利用 BMP280 温压及 ADXL335 传感器测得信号,通过 OLED 显示屏显示,用 ESP8266 WiFi 模块,将数据上传至阿里云,传送至手机端及 PC 端开源协议
:Public Domain
描述
该系统主要由STM32F103C8T6主控芯片、ESP8266 WiFi模块以及传感器模块三大部分组成,传感器数据由ADXL335三轴加速度传感器及BMP280温压传感器获取,用户通过OLED显示模块可现场观测运行数据;数据经由ESP8266 WiFi模块上传阿里云服务器,用户可在手机端及PC端实时查看数据,调节报警阈值并控制设备的启停;此外,由外设模块实现设备的报警以及阈值调节功能。
本课题基于STM32单片机进行设计,采用模块化编程,分模块进行程序设计,并且通过实物仿真,确保设计无误。重难点其次在于WiFi模块的通信功能以及上位机的调试,本设计使用ESP-01S模块,结合阿里云例程,并借助阿里云物联网平台,在减少成本的前提下达到了要求。
系统结构框图
STM32F103C8T6引脚分配
单片机功能引脚 |
外围接线 |
备注 |
VBAT、VDDA、VDD-1,2,3 |
3.3v |
供电电源 |
VSSA、VSS-1,2,3 |
GND |
接地 |
PC13 |
蜂鸣器电路信号端 |
蜂鸣器信号控制 |
OSC32_IN |
32.768Khz晶振输入端 |
低速外部时钟信号输入 |
OSC32_OUT |
32.768Khz晶振输出端 |
低速外部时钟信号输出 |
OSC_IN |
8Mhz晶振输入端 |
高速外部时钟信号输入 |
OSC_OUT |
8Mhz晶振输出端 |
高速外部时钟信号输出 |
NRST |
复位电路 |
复位信号引脚 |
PA2 |
ESP8266 RXD引脚 |
串口接受 |
PA3 |
ESP8266 TXD引脚 |
串口发送 |
PA4 |
ESP8266 RST引脚 |
外部重置信号 |
PA5 |
ADXL335 X-OUT引脚 |
X轴输出 |
PA6 |
ADXL335 Y-OUT引脚 |
Y轴输出 |
PA7 |
ADXL335 Z-OUT引脚 |
Z轴输出 |
PB0 |
BMP280 SCL引脚 |
I2C通信模式时钟信号 |
PB9 |
BMP280 SDA引脚 |
I2C通信模式数据信号 |
PB1,10,11 |
LED阴极 |
LED信号控制 |
PB2, BOOT0 |
BOOT1, BOOT0 |
启动模式选择电路 |
PB12,13 PA12,15 |
微动开关 |
独立按键引脚 |
PA9,10 |
D-, D+ |
串口下载电路 |
PA13,14 |
SWDIO, SWCLK |
ST-link下载电路 |
PB3,4,5,6 |
ULN2003 7B,6B,5B,4B引脚 |
CPU脉冲输入端 |
PB7 |
OLED SDA引脚 |
I2C通信模式数据信号 |
PB8 |
OLED SCL引脚 |
I2C通信模式时钟信号 |
洞洞板实物验证图
最终成品图
继电器驱动电路因为引脚配置问题验证失败,经测试可以忽略,可拉一条信号线直接驱动继电器以控制电机的启停。
手机端上位机设计
PC 端上位机设计
上位机设计均基于阿里云教程
数据分析表
测试对象 |
具体操作 |
数据记录 |
结果分析 |
BMP280 (室温) |
暴露于室内环境 |
28℃ |
与标准温度计示值26.8℃相比结果偏大,初步分析为电路板工作温度影响 |
BMP280 (体温) |
用手指捏住 BMP280传感器 |
33℃ |
与手指表皮一般温度基本相同 |
BMP280 (大气压力) |
暴露于室外环境 |
100Kpa |
由气象局当地气压数据100.1Kpa可知,气压测量结果基本无误 |
ADXL335 |
电路板平放 |
X:19 Y:19 Z:23 |
Z 轴受重力影响示值偏大,XY 轴示值相同,符合预期结果 |
ADXL335 (X 轴) |
电路板侧放 |
X:23 Y:19 Z:19 |
X 轴受重力影响示值偏大,YZ 轴示值相同,符合预期结果 |
ADXL335 (Y 轴) |
电路板直立 |
X:20 Y:23 Z:19 |
Y 轴受重力影响示值偏大,X 轴示值与平放时相比示值偏大,初步分析为传感器焊接未完全水平导致 |
ADXL335 (Z 轴) |
电路板倒放 |
X:19 Y:19 Z:15 |
Z 轴受重力影响示值偏小,XY 轴示值相同,符合预期结果 |
最终,在软硬件结合下,整个设计的各个模块功能基本实现,成功利用因特网实现了智慧传感系统,满足了系统设计要求。
评论