基于物联网的仓储管理系统
组成员:傅志星、江志武、郭磊、
袁成冉、孙华
组长:孙华
答辩人:孙华
求本远志
2017/12/23
系统功能概述
2017/12/23
总体设计思路
本系统是基于PC,A8及M0等设备,依托在各项互联网,物联网,传感器等技术的基础上编写,以实现食品物联网仓储系统,使用户更方便的管理仓库内的所有信息及其特殊情况。
本系统主要分为三大模块:
核心服务器端(PC)
前端数据中心(A8)
远程监控终端(M0)
2017/12/23
1 A8平台的主程序与页面调用的cgi进程通信方式选用消息队列。
2 主程序需要同时监控串口信息,从消息队列获取信息,监控键盘值,监控核心服务器更新数据库请求,所以使用多线程编程,每种信息监控创建一个线程。
3 当与cgi通信线程接到查看库存,查看警报记录的消息时,当串口接收线程接收到异常温湿度值、商品出入库值时,当键盘监控线程接收到有人入侵的键值时,当socket接收到更新服务器请求时,均访问数据库,所以专门建立数据库访问线程,以保证正确访问数据库。
创建多个表,每个板子都指定一个编号,每个编号对于一个名字,用于描述该板子的相关信息(A8 与 M0的编号可以相同,相互独立)。
每次启动A8板子就从A8板子上的对应表中读取相关配置信息(如:温度上下限,控制信息等)到主函数的全局变量中。原本打算每个M0模块的配置信息完全独立、互不影响,将某个M0的配置信息存在数据没有任何问题,因为接受到数据后还要和其阀值进行比较,会导致频繁的读数据库,使性能降低,故没采用。
在主函数中创建所有要用到的线程函数,线程函数是一个功能模块,较为独立。
2017/12/23
系统设计目标
通过M0进行实时采集环境参数,例如温度、湿度、光感数据,进行物品刷卡;
再通过ZigBee把采集到的环境参数或物品信息发送给主M0,由主M0通过串口发送给A8;
由A8的M0线程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,然后如果是环境参数则对环境参数进行判断处理进行报警。
用摄像头采集图片,存储到A8上
构建嵌入式web服务器,使用户通过网络利用pc机进行监控
在web页面上设置控制按钮,监控设备识别用户指令并进行相应动作
A8通过GPRS短信息功能向用户报警。
2017/12/23
总体结构图
2017/12/23
温度传感器
RFID识别卡
zigbee
zigbee
zigbee
串口线
仓库管理员(监控终端)
核心服务器(汇总各仓库信息)
socket
M0
A8平台(存放单个仓库信息)
湿度传感器
具体分工如下
2017/12/23
个人所做部分
移植:Boa服务器移植、Sqlite3数据库移植(x86 、ARM)、摄像头移植、udev、文件系统、内核
总体数据定义与主函数
数据库:负责将常用的表的数据的查询、插设置都封装成统一的函数接口供cgi调用
线程:beep、light、warning_light、 camera
系统整合、脚本文件编写
2017/12/23
数据定义
把一些常用的头文件、变量、,部分信息如下:
struct m0_collect_data //采集到的数据,暂存
{
float current_temperature; //当前温度
float current_humidity; //当前湿度
float current_illumination; //当前光照
int id; //编号
int x; //三轴信息??
int y;
int z;
int sec; //time
int min; //
int hour; //
int day; //编号
int mon; //编号
int year; //编号
};
详细见程序。
2017/12/23
数据库部分
按照先前的实体-联系图(还在纸上没时间画在ppt上)设计,将数据库部分分成8张表(每张表单独做最后整合),如下图所示:
2017/12/23
2015年基于物联网的仓储管理系统--sun 来自淘豆网m.daumloan.com转载请标明出处.