武汉理工大学毕业设计(论文)
开始 STM8初始化 否 有无信息传入? 是 将SX1276传来的信号交付报警模块 结束
图5.2 报警模块单片机流程图
该模块由时钟来发控制信号,进入开机后的循环等待阶段,一个是等待传感探测模块发来报警信息,一个是等待通信模块传来报警信息,当相关信息传来时,其就连通相关模块完成相关操作达到报警目的,当险情处理完毕,就重置探测模块,重新进入循环等待下一次的触发,其主要程序见附录里面的main函数。
5.3 LORA通信模块程序设计
此部分分为两大模块,一个为发送模块,一个为接收模块,由其组建成LoRa通信网络,实现通信。其中发送模块主要等待STM8发来报警信号,其担任发送任务,而接收模块则等待发送模块传来的信号,将之传给STM8处理。这一部分是这次课程研究的最重要部分,也是最突出的创新点。其流程图如下:
20
武汉理工大学毕业设计(论文)
开始 发送初始化 否 CRC正确? 是 否 发送完成? 是 结束
图5.3 发送模块SX1278流程图
21
武汉理工大学毕业设计(论文)
开始 接收初始化 否 接收完成? 是 否 CRC正确? 是 读缓冲区 结束
图5.4 接收模块SX1278流程图
该模块同样是由时钟来控制,接通电源后进入循环等待阶段,等待相关模块的指令传输,由其搭建的LoRa网络将相应的信息进行传输。其核心程序代码见附录SX1278通信。
5.4本章小结
本章主要介绍了组建LoRa通信进行的物联网报警系统的程序设计思路,其中相关程序代码都在附件中。核心部分在于SX1278芯片的组网以及STM8单片机的控制。将每一个核心模块分解为两部分,一部分作为接收模块,一部分作为发送模块,其实现均用流程图来表示,而后续的程序代码则主要由C语言完成,交由相关编译器编译后生成芯片可识别代码。烧录进入芯片,实现相关功能。
22
武汉理工大学毕业设计(论文)
第6章 系统测试
6.1测试环境
本次毕业设计测试的环境是学生宿舍,为了方便报警系统的触发,没有做相关烟雾及温度传感器的硬件,只是用一个开关代替。将报警设备置于鉴湖主教学楼一楼,探测设备置于学生宿舍学海C栋,将其处于待机状态。由同学在学生宿舍模拟报警信号的触发,看在鉴主教学楼的学生能否接收到相应的报警信号并触发报警器。
6.2测试准备
在这个设计中,使用的是白盒、黑盒测试方法对测试的对象进行测试,具体来说就是:黑盒盒测试是作为一个整体,不考虑各个模块的功能,只考虑输入输出,只要我的输入正确,我的输出也必须达到我预期的目标;而白盒测试则是对每个模块采取分模块测试,例如单片机模块,通信模块都可以作为一个最小系统进行测试。
在我们进行测试的时候,被测试双方要求拿着对应的设备,到达指定的位置等待指令,每人携带自己带有USB接口的供电设备,给硬件供电,等待相关触发。第三个同学则告知拿着传感探测模块的同学,现在烟雾浓度已经达到并超过预设值,请拨下相关开关代表报警触发。第三个同学询问拿着接收模块硬件的同学,是否接到报警信号。如果接到报警信号,那么就说明我们的报警装备基本功能已经实现。
6.3测试结果及分析
经过测试,可以得到我们预期的目标已经实现。在通信距离大致在5Km以内,我们的通信基本可以实现,而且相关模块基本功能也实现了。但是我们的蜂鸣器的响声却不如人意,究其原因主要是设计的时候没有考虑蜂鸣器的驱动电压,没有给与相应的放大电路,导致驱动电流小,蜂鸣器响声小。所以在设计硬件电路原理图的时候特地添加了一个放大电路,而且它在本次毕业设计过程中有多个地方需要用到,第一个地方是传感器模块,烟雾报警器触发信号小,要将其信号放大了之后再传给单片机处理,这样才能有明确的触发信号,另外温度传感器发出温度报警信号后也需要一个放大器来放大其信号,后续蜂鸣器由于驱动电压高,
23