一、基本介绍
项目名:基于物联网的烟草物流监测系统的设计与实现
项目编号:mcuclub-dz-715
单片机:STM32F103C8T6
功能简介:
1、通过GPS获取运输车的位置信息
2、通过DHT11检测运输车内的温湿度,湿度较低进行加湿,当温湿度不在设置的上下限值内,进行声光报警,并发送提示信息
3、通过霍尔传感器检测运输车门是否被打开,如果被打开,则声光报警,并发送提示信息(手机APP有取消监测按键)
4、通过MQ-2检测烟雾值,烟雾值大于设置最大值,则声光报警,并发送提示信息
5、通过按键设置各阈值
6、通过OLED显示各数据
7、通过4G模块发送数据到手机端,手机端可设置各 阈值
二、资料总览
实物资料
三、32单片机部分资料展示
1、实物图展示
单片机型号:STM32F103C8T6
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
2、原理图展示
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图
3、PCB图展示
由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
四、系统框图
绘制软件:VISIO
本设计以STM32F103C8T6单片机为核心控制器,加上其他的模块一起组成烟草物流监测系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STM32F103C8T6单片机,其主要作用是获取输入的部分数据,经过内部处理,控制输出部分。输入由五部分组成,第一部分是温湿度检测模块,通过该模块检测当前温湿度值;第二部分是霍尔模块,通过该模块监测当前车门状态;第三部分是烟雾检测模块,通过该模块检测当前烟雾值;第四部分是按键模块,通过按键设置阈值;第五部分是供电模块,通过该模块可给整个系统进行供电。输出由四部分组成,第一部分是通过OLED显示屏显示数据,显示温湿度、经纬度值、烟雾值等;第二部分是声光报警模块,当温湿度异常或者烟雾值大于设置最大值时或检测打开时车门呈打开状态时,进行声光报警提醒;第三部分是继电器控制电路控制除湿;第四部分是GPS模块,通过该模块获取经纬度值。除此之外,4G模块将检测的数据传输到手机端也可以远程控制检测状态,系统框图如图3.1所示。
五、部分程序展示
软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
if(display_num == 0) //测量界面
{
if(humi_value > humi_max*10) //湿度较高时,进行除湿
{
RELAY_CS = 1;
flag_humi = 0;
}
else //否则,取消除湿
{
if(flag_humi == 0)
{
RELAY_CS = 0;
}
}
if(temp_value > temp_max*10 || temp_value < temp_min*10 || humi_value > humi_max*10 || humi_value < humi_min*10 || smog_value > smog_max || (DOOR == 1 && flag_jc == 1)) //温湿度异常、烟雾异常、检测打开时门是打开状态,进行声光报警
{
if(time_num % 20 == 0)
{
ALERT = !ALERT;
}
}
else
{
ALERT = 0;
}
}
else //设置界面,关闭加湿及声光报警
{
ALERT = 0;
RELAY_CS = 0;
flag_humi = 0;
}
if(flag_finish_5s == 1) //5秒上传一次数据
{
flag_begin_5s = 0;
Air_4G_SendData();
flag_begin_5s = 1;
}
}