实现仓库环境参数的远程监控,实时监测仓库的温度,湿度和光照; 实时报警功能,当仓库环境参数不在上下限值合理范围内时,具有报警功能; 可以设置温度,湿度的上,下限值 ; 实现货物自动进出功能,通过RFID卡感应货物进出;代替人工记录货物进出; 远程视频监控功能,通过摄像头,采集并传输视频到PC监控终端; 远程控制功能,实现仓库通风系统的远程控制,在PC机监控终端可以实现远程控制通风系统的开和关; 短信报警功能,当温湿度不在合理范围内时,自动向指定的手机发送报警短信;
数据采集节点--->数据中心---->上位机监控终端
数据采集节点处理器采用 cortex-m0 CPU,LPC11C14单片机驱动DHT11温湿度传感器,光强传感器,AD转换,三相加速度传感器的数据 来采集温度,湿度,三相加速度,AD值等数据,并设有RFID模块采集出入库信息,在将这些数据打包通过ZigBee打包发送给数据中心。
数据中心主CPU采用 cortex-A53 ,S5P6818三星的ARM开发板,在数据中心中主要运行两个程序:采集数据程序和采集图像程序, 采集数据程序负责两个功能:接收数据采集节点通过ZigBee发送过来的数据包和接收来自上位机的控制包, 接收数据包会根据数据包的类型作出相应的动作, 如果为环境数据采集包则存入到共享内存中,如果为RFID包则在sqlite数据库中增加一条记录。 接收上位机的控制包会根据控制包的类型作出相应的动作, 如果为开启数据流的包,则将数据从共享内存中取出并不断的发送给上位机,直到收到关闭数据流的控制包, 如果为控制数据节点的硬件包则判断是操控哪个硬件,如果为获取出入库的信息,则select数据库将数据记录发送给上位机, 采集图像程序主要的工作是通过调用v4l2API函数采集来自摄像头的图像帧,并将帧格式转换为rgb888格式打包发送给上位机。 在摄像头程序与上位机之间的通讯采用socket,socket描述符有一个专门的链表来维护, 而实现并发其实是将数据发送给链表中每一个节点的socket描述符,并根据发送的成功与否来删除链表节点。
上位机软件使用QT来编写GUI程序,主要是给数据中心发送控制包,控制包可以操作硬件和获取数据流和视频流, 可将数据流和视频流的数据显示在Widget上, 达到远程监控的目的,在面板上还设有各中控制硬件按钮,点击不同的按钮发送不同的控制包发送给数据中心, 数据中心在发送控制包给数据采集节点, 数据节点操控硬件,达到远程控制的目的,也可发送获取仓库信息的控制包来获取仓库信息。上位机也可以设置温湿度的上限和下限, 当仓库温度和湿度超过上限或低于下限会通过GPRS模块向指定的手机号发送报警信息并打开报警器。
Qt上位机面板展示
摄像头模块
数据采集节点
开启程序
上位机总览