STM32智能家居报警系统开发(基于ZIGBEE和8266WIFI)模块简单总结

基本要求:

(1) 根据系统功能要求,选择合适传感器及其外围电路将物理信号转变成电信号。

(2) 设计控制系统,实现和各传感器电路的数据交互。

(3) 设计多种工作模式;当有人入侵时,除进行报警外,启动摄像头进行图像监控并获取。

发挥部分:

实现远程监控;在用户外出情况下能够以短信方式将报警信息通知用户以便及时采取措施。

实现结果:

 基本要求全部实现+使用WIFI模块向PC端APP报警+传感器与主控单片机使用ZIGBEE组网

注意事项:

单片机(这里使用的是性能较好的单片机STM32F407)无法使用摄像头(OV7725)拍摄视频传输,只能传输照片。

国产WIFI芯片ESP8266无法传输大量数据,在向手机端传输图片时有一大半数据会丢失。

开发过程:

首先ZIGBEE与传感器的连接需要有一个STM32单片机芯片,该芯片上可以烧写一个查询或中断的程序,这个程序可以直接在ZIGBEE例程上添加查询或中断功能(先要了解USART串口调试的使用,实际很简单)。单片机芯片程序写好后可以直接用一个串口转USB模块连接ZIGBEE接收模块,用类似山外串口助手的调试工具查看ZIGBEE组网情况,检验ZIGBEE发送的包有没有问题。

接着就要写主控STM32程序,它接收ZIGBEE模块发送的信号需要使用一个USART接收口并且设置一个中断。这里有个技巧,因为使用的ZIGBEE模块不算多,可以简单的从接收的数据中ZIGBEE的地址特有的字节判断,即接收一个字节就判断一次,而不需存储所有的数据。这样只要主控检测到ZIGBEE模块发送数据,根据特有的地址字节判断这个包来自哪里,从而判断哪个传感器发送了报警。

接着可以加一个WIFI模块,将需要用到AT指令保存为16进制数组,通过USART收发数据即可通信。这里使用的ESP8266,这个芯片只能发送简单数据,这是导致我的项目没能无线发送图片的直接原因。CSDN博主https://blog.csdn.net/qq_21229657/article/details/51697525这里有详细使用介绍。

可以用QT编写电脑的界面程序与WIFI模块通信,QT需要了解SOCKET编程和界面制作。界面制作建议直接拖图标,其他的QT教学可以参考QT学习之路。大体上一到两周可以做一个带界面可以使用的程序。

最后添加摄像头模块。使用带FIFO的7725会更加简单一点,使用模块的例程,改一下引脚参数,配合使用山外调试助手可以显示图像。将例程与之前写的单片机程序合并,即可完成。

你可能感兴趣的:(硬件课程设计)