基于物联网的仓储管理系统--sun

基于物联网的仓储管理系统--sun

ID:9962369

大小:387.51 KB

页数:28页

时间:2018-05-12

基于物联网的仓储管理系统--sun_第1页
基于物联网的仓储管理系统--sun_第2页
基于物联网的仓储管理系统--sun_第3页
基于物联网的仓储管理系统--sun_第4页
基于物联网的仓储管理系统--sun_第5页
资源描述:

《基于物联网的仓储管理系统--sun》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于物联网的仓储管理系统组成员:傅志星、江志武、郭磊、袁成冉、孙华组长:孙华答辩人:孙华求本远志2021/6/24系统功能概述2021/6/24总体设计思路本系统是基于PC,A8及M0等设备,依托在各项互联网,物联网,传感器等技术的基础上编写,以实现食品物联网仓储系统,使用户更方便的管理仓库内的所有信息及其特殊情况。本系统主要分为三大模块:核心服务器端(PC)前端数据中心(A8)远程监控终端(M0)2021/6/241A8平台的主程序与页面调用的cgi进程通信方式选用消息队列。2主程序需要同时监控串口信息,从消息队列获取信息,监控键盘值,监控核心服务器更新数

2、据库请求,所以使用多线程编程,每种信息监控创建一个线程。3当与cgi通信线程接到查看库存,查看警报记录的消息时,当串口接收线程接收到异常温湿度值、商品出入库值时,当键盘监控线程接收到有人入侵的键值时,当socket接收到更新服务器请求时,均访问数据库,所以专门建立数据库访问线程,以保证正确访问数据库。创建多个表,每个板子都指定一个编号,每个编号对于一个名字,用于描述该板子的相关信息(A8与M0的编号可以相同,相互独立)。每次启动A8板子就从A8板子上的对应表中读取相关配置信息(如:温度上下限,控制信息等)到主函数的全局变量中。原本打算每个M0模块的配置信息完

3、全独立、互不影响,将某个M0的配置信息存在数据没有任何问题,因为接受到数据后还要和其阀值进行比较,会导致频繁的读数据库,使性能降低,故没采用。在主函数中创建所有要用到的线程函数,线程函数是一个功能模块,较为独立。2021/6/24系统设计目标通过M0进行实时采集环境参数,例如温度、湿度、光感数据,进行物品刷卡;再通过ZigBee把采集到的环境参数或物品信息发送给主M0,由主M0通过串口发送给A8;由A8的M0线程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,然后如果是环境参数则对环境参数进行判断处理进行报警。用摄像头采集图片,存储到A8上

4、构建嵌入式web服务器,使用户通过网络利用pc机进行监控在web页面上设置控制按钮,监控设备识别用户指令并进行相应动作A8通过GPRS短信息功能向用户报警。2021/6/24总体结构图2021/6/24温度传感器RFID识别卡zigbeezigbeezigbee串口线仓库管理员(监控终端)核心服务器(汇总各仓库信息)socketM0A8平台(存放单个仓库信息)湿度传感器具体分工如下2021/6/24个人所做部分移植:Boa服务器移植、Sqlite3数据库移植(x86、ARM)、摄像头移植、udev、文件系统、内核总体数据定义与主函数数据库:负责将常用的表的数

5、据的查询、插设置都封装成统一的函数接口供cgi调用线程:beep、light、warning_light、camera系统整合、脚本文件编写2021/6/24数据定义把一些常用的头文件、变量、结构体变量定义一起放在了head.h中,部分信息如下:structm0_collect_data//采集到的数据,暂存{floatcurrent_temperature;//当前温度floatcurrent_humidity;//当前湿度floatcurrent_illumination;//当前光照intid;//编号intx;//三轴信息??inty;intz;in

6、tsec;//timeintmin;//inthour;//intday;//编号intmon;//编号intyear;//编号};详细见程序。2021/6/24数据库部分按照先前的实体-联系图(还在纸上没时间画在ppt上)设计,将数据库部分分成8张表(每张表单独做最后整合),如下图所示:2021/6/24其中,basic文件夹里的内容是对数据库操作的一个基本封装,其他相关操作基本上都调用到他的basic.c。因为数据使用sql语句的,所以主要根据要求的信息和输入的信息拼接成sql语句,普通的稍微讲解一下,有几个重要点单独讲。数据库接口支持模糊查询、按时间查

7、询历史记录、查询实时单条记录、查询最近若干条记录,查询出入库信息等等现将其中文件简要分析:basic.h#ifndef_BASIC_H_#define_BASIC_H_#defineCREATE1#defineINSERT2#defineUPDATE3#defineSELECT4#defineDELETE5#defineDROP6#endif2021/6/24#include#include#include#include"sqlite3.h"#include"basic.h"//sqlite3_ca

8、llbackstaticintload(void*p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。