仓库管理物联网系统项目详细设计说明书_第1页
仓库管理物联网系统项目详细设计说明书_第2页
仓库管理物联网系统项目详细设计说明书_第3页
仓库管理物联网系统项目详细设计说明书_第4页
仓库管理物联网系统项目详细设计说明书_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 仓库管理物联网系统项目详细设计说明书 第一章 项目简介 1. 项目背景 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对于生活质量及工作环境的要求也越来越高。与此同时为了管理大量的物品,仓库也大量的出现,仓库的管理问题也就提上了日程。随着仓库大量的增加, 其管理难度也越来越大,如何优化仓库的日常管理也就成为了一个大众化的课题。 传统的仓库管理,一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物, 完全由人工实施仓库内部的管理,因此仓库管理的效率极其低下。对此,我们利用基于 线射频技术的仓库智能管理系统,该系统能够增强库房作业的准确性和快捷性、减少整个仓库物资出入库中由于管理不到位造成的非法出入库、误置、偷窃和库存、出货错误等损失,并最大限度地减少储存成本、保障仓库物资的安全。 2. 需求分析 传统:非自动化的、以纸张文件 来记录、追踪进出的货物 。 目前多数:计算机数据系统管理, 数据先纸张记录、再手工输入计算机的方式进行采集和统计整理。 数据录入速度慢、准确率低。 随着仓库智能化的 不断发展,仓库管理的物资种类,数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和 2 数据采集方式已难以满足仓库管理的 快速、准确 要求,严重影响了仓库的管理。 术正在为仓库管理带来一场巨大的变革,以 识别距离远,快速,不易损坏,容量大 等条码无法比拟 的优势,简化繁杂的工作流程, 有效改善供应链的效率和透明度 。基于物联网的智能战备仓库管理系统是在现有仓库管理和车辆管理中引入 术,对 仓库到货检验、入库、出库、调拨、移库移位、库存盘点 等各个作业环节的数据 进行 自动化的数据采集 ,保证仓库管理各个环节数据输入的速度和准确性,确保管理人员及时准确地掌握库存的真实数据,合理保持和控制仓库库存。通过科学的编码,还可方便地对物品的批次、保质期等进行管理。利用系统的库位管理功能,更可以及时掌握所有库存物资当前所在位置,有利于提高仓库管理的工作效率。 3. 术语定义 前存在着许多不同的 它们都使用了 安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式 计算机、大型机和超级计算机。 射频识别即 术,又称电子标签、无线射频识别 ,是一种通信技术 ,可通过 无线电讯号识别特定目标 并读写相关数据 ,而 无需识别系统与特定目标之间建立机械或光学接触 。 基于 根据这个协议规定的技术是一种 短距离、低功耗的无线通信技术 。这一名称来源于蜜蜂的八字舞,由于蜜蜂 (靠飞翔和“嗡嗡” (抖动翅膀的“舞蹈”来与同伴传递花粉所 在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是 近距离、低复杂度、自组织、低功耗、低数据速率、低成本 。主要适合用于自动控制和远程控制 领域,可以嵌入各种设备。简而言之, 功耗的 近距离无线组网通讯 技术。 并且是有史以来 能最高、最具功率效率 的处理器。 市场上现有的 最小、能耗最低、最节能 的 3 电脑、手持设备(如 机)等终端以无线方式互相连接 的技术。 线网路通信技术的品牌 ,由 持有。目的是 改善基于 第二章 系统概述 本系统是基于 8 及 设备 ,依托在各项 互联网,物联网,传感器 等技术 的基础上编写,以实现食品物联网仓储系统,使用户更方便的管理仓库内的所有信息及其特殊情况。 本系统主要分为 三大模块 : 核心服务器端 ( 前端数据中心 ( 远程监控终端 (。 第三章 前端数据 中心 (体设计 6 第一节 :系统框架 ,线程间关系 1. 系统框架 : 0进行实时采集环境参数,例如温度、湿度、光感数据,进行物品刷卡; 采集到的环境参数或物品信息发送给 8 的 程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,然后如果是环境参数则对环境参数进行判断处理进行报警。 储到 。 务器,使用户通过网络利用 进行监控。 f.在 面上设置控制按钮,监控设备识别用户指令并进行相 应动作 过 信息功能向用户报警。 4 2. 线程间关系 : 消 息 队 列接 收 请 求 线 程p t h r e a d _ c l i e n t _ r e q u e s t ( )L E D 控 制 线 程p t h r e a d _ l e d ( )B u z z e r 控 制 线 程p t h r e a d _ b u z z e r ( )C a m e r a 控 制 线 程p t h r e a d _ c a m e r a ( )M 0 控 制 命 令 发 送 线 程p t h r e a d _ u a r t _ c m d ( )红 外 ( 按 键 ) 监 测 线 程p t h r e a d _ i n f r a r e d ( )M 0 信 息 接 收 线 程p t h r e a d _ t r a n s f e r ( )数 据 处 理 线 程p t h r e a d _ a n a l y s i s ( )内 存 数 据 刷 新 线 程p t h r e a d _ r e f r e s h ( )数 据 库 线 程p t h r e a d _ s q l i t e ( )S M S 模 块 控 制 线 程p t h r e a d _ s m s ( )主 进 程C G I 进 程 Q T 进 程M 0 模 块:处理消息队列里请求的线程 . :更新共享内存里的实时数据 . :数据库线程 . :接收 据线程 . :据分析线程 . :制命令发送线程 . :短信模块控制线程 . 5 :鸣器控制线程 . :红外 (按键模拟 )监测线程 . :块线程 . :摄像头模块控制线程 . 第二节 :数据描述 1. 结构体描述 结构体名 成员类型 成员名 功能描述 品类型 品数量 库开关状态 库 态 库 态 库风扇状态 库数码管状态 x 仓库采集端三轴状态 y z 0 采集数据的时间 库当前温度 库温度上限 库温度下限 库当前湿度 库湿度上限 库湿度下限 库当前光照 库光照上限 库光照下限 库采集端电池电压 库 集电压 库电池电压最小值 采集货物信息 所以仓库实时信息 息队列里的消息类型 别消息的类型 6 消息正文长度 2、全局变量描述 类型 变量名 据库线程被唤醒条件变量 据分析线程被唤醒条件变量 0 控制命令发送线程被唤醒条件变量 理消息队列里请求的线程被唤醒条件变量 外 (按键模拟 )监测线程被唤醒条件变量 8 蜂鸣器控制线程 被唤醒条件变量 8块线程被唤醒条件变量 像头模块控制线程被唤醒条件变量 信模块控制线程被唤醒条件变量 新共享内存里的实时数据被唤醒条件变量 据库缓存互斥锁 据库线程互斥锁 据分析线程互斥锁 0 控制命令发送线程互斥锁 理消息队列里请求的线程互斥锁 外 (按键模拟 )监测线程互斥锁 8 蜂鸣器控制线程互斥锁 8块线程互斥锁 像头模块控制线程互斥锁 7 信模块控制线程互斥锁 新共享内存里的实时数据互斥锁 局变量保护互斥锁 收数据缓存互斥锁 各仓库实时信息 8 短信模块操作掩码 8 按键模块操作掩码 8 蜂鸣器模块操作掩码 8 块操作掩码 8 摄像头模块操作掩码 8 串口发送命令掩 码 8 按键模块设备节点 8 蜂鸣器模块设备节点 8 块设备节点 8 摄像头模块设备节点 8 短信模块设备节点 8U 转串设备节点 息队列 ID 享内存 ID 号灯集 8 仓库实时信息 第三节 :数据库模块 1、 绍 ( 1) 供 C 函数接口 ,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准 句 (以 类型 )给 数, 会为你操作数据库。 样是 文件型数据库。一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等等,但是, 它实际上得到的就是一个文件 。备份这个文件就备份了整个数据库。 需要任何数据库引擎 ,这意味着如果你需要 保存一些用户数据,甚至都不需要安装数据库。 ( 2)介绍 数据库基本操作 基本流程 关键数据结构 最常用到的是 类型。从数据库打开开始, 要为这个类型准备好内存,直到数据库关闭,整个过程都需要用到这个类型。当数据库打开时开始, 这个类型的变量 就代表了你要操作的数据库。下面再详细介绍。 打开数据库 文件名 , * ); 作用:用这个函数开始数据库操作。 文件名:数据库文件名,比如: c: 注意:文件名不需要一定存在,如果此 文件不存在, 自动建立 它。 9 如果它存在,就尝试把它当数据库文件来打开。 * :参数即前面提到的关键数据结构。这个结构底层细节如何,你不要关它。 函数返回值:表示操作是否正确,如果是 表示操作正常 。反之则不正常。 关闭数据库 ); 作用:用这个函数关闭数据库操作。 执行 句 , *; 这就是执行一条 句的函数。 第 1 个参数: 数得到的指针。是关键数据结构。 第 2 个参数: 一条 句,以 0 结尾。 第 3 个参数: 回调函数 ,当这条语句执行之后, 去调用你提供的这个函数。 第 4 个参数: 是 你所提供的指针 ,你可以传递任何一个指针参数到这里,这个参数最终会 传到回调函数里 面,如果不需要传递指针给回调函数,可以填 第 5 个参数: * 错误信息。 注意是指针的指针 。 2、数据库模块流程图及结构图 ( 1) 主程序开始运行之后,各任务线程开始运行,其中就包括的了数据库的用来操作数据库的链表 ),链表创建之后进入 1)循环 。循环中,用 数语句进行 睡眠等待 ,等待其他线程的 唤醒 函数来的信号 ,唤醒之后再次进入一个 1)的循环语 10 句,在这个循环中,我们进行 对链表头的判空工作 。如果 链表头不为空,则读取第一个节点的内容 ,把借点中的内容解析出来,把解析出来的内容 作为参数传到成相应的数据库操作并 释放节点 空间,如此循环; 如果链表头为 空,则直接跳出 1)循环 ,再 回到外部循环的 , 等待下一次被其他线程唤醒 。 ( 2) 结构图 在上面的 程流程图中,提到了 用来完成读取节点信息之后的数据库操作。对数据库的操作主要是读取 11 过 判断是对数据库中的哪个表进行操作 ,然后再分别通过 判断对选择的表进行什么具体的操作,例如,更新、查看和插入等等。 12 3、数据库模块使用的相关结构体 (1)结构体一:所有仓库的信息 ; 作用: 用来保存所有仓库的信息 结构体数组,分别代表不同的存库信息。 (2)结构体二:某个仓库的所有信息 / 0:x; y; z; 0; ; 作用: 用来保存某一个仓库的所有信息。 灯的开关状态 鸣器的开关状态 扇的开关状态 码管的状态 x; 三轴中 y; 三轴中 z; 三轴中 0; 获取仓库环境信息的时间 仓库中温度的大小 13 仓库中温度的预警最小值 仓库中温度的预警最大值 仓库中湿度的大小 仓库中湿度的预警最小值 仓库中湿度的预警最大值 仓库中光照强度的大小 仓库中光照强度的预警最小值 仓库中光照强度的预警最大值 剩余电池的百分比 模数转换的数值 模数转换的预警最小值 结构体数组 ,分别代表不同的货物信息。 (3)结构体三:某种货物的信息 ; 作用: 用来保存某种货物的信息 物编号 物数量 (4)结构体四: ; 作用: 用来保存数据库操作信息 标记对数据库中的哪个表进行操作 标记对数据库中的 标记对数据库中的 标记对数据库中的 14 4、 据库中数据的存储形式 表一:仓库环境表( 度最大值 当环境温度大于最大值,需要发送报警信号 度最小值 当环境温度小于最小值,需要发送报警信号 度最大值 当环境湿度大于最大值,需要发送报警信号 度最小值 当环境湿度小于最小值,需要发送报警信号 照强度最大值 当环境光照强度大于最大值,需要发送报警信号 照强度最小值 当环境光照强度小于最小值,需要发送报警信号 机号 报警之后发短信给管理员 名 仓库管理者姓名 码 进入仓库时的,需要密码验证 表二:仓库环境温度表 (境温度值 这个一个实时数据, 1秒采集一次 境湿度值 这个一个实时数据, 1秒采集一次 境光照强度值 这个一个实时数据, 1秒采集一次 集环境温度的时间 采集环境温度的时候,保存采集时间,方便 管理者进行数据分析 表三:仓库货物表 (物编号 货物编号,是货物的唯一标识 物数量 仓库中所有货物的数量 物入库时间 记录货物入库的时间 5、 件详解 ( 1)互斥锁及条件变量部分 解析:数据库线程部分的条件变量, 其他线程使用相 同的条件变量才能唤醒数据库线程。 程序实例: 解析:数据库线程锁,这个线程锁是和条件变量一起配套使用的。这两者在条件变量的使用中缺一不可。 程序实例: 15 解析:数据库线程锁,这个线程锁是用来保护链表资源的。防止链表在同一 时刻被多个对象访问。 程序实例: ( 2)结构体部分 解析:全局结构体变量, 样 程序实例: 解析:全局结构体变量, 样 程序实例: ( 3)函数接口部分 (具体的函数参数信息见文档数据库接口函数详解) 解析:用于在数据库中创建空表。在 要调用该函数创建好数据库表,以供后面的线程使用。 解析:用于初始化 始执行时,创建好数据库表之后就对调用该函数初始化 。 解析:用于更新 16 解析:用于得到 解析:用于向 插入新的仓库环境信息。 , 解析:用于按指定时间获得 解析:用于获得最新的 解析:用于向 解析:用于从 息。 解析:用于获得 中指定的货物信息。 解析:用于查看 中是否有指定的货物信息。 解析:用于货物入仓时的 解析:用于货物出仓时的 解析:用于专门执行对 过读取函数参数来实现对、改、查的操作。 17 第四节 :数据接收模块 1. 功能描述 接收 过 输上来的消息 ,经过接收端的 通过 U 转串 ,此线程负责从串口读取消息 ,并交给数据处理模块 ,并继续接收消息 2. 数据描述 类型 名称 功能 口文件描述符 据缓存链表头 据处理模块唤醒条件变量 据缓存保护互斥锁 3. 流程图 蜂 鸣 器 线 程p t h r e a d _ b u z z e r ( )等 待 唤 醒p t h r e a d _ c o n d _ w a i t ( )获 取 蜂 鸣 器 模 块 掩 码d e v _ b u z z e r _ m a s 蜂 鸣 器I o c t l( d e v _ b u z z e r _ f d )信 号 唤 醒执 行 完 毕 返 回打 开 设 备 文 件o p e 详细说明 本线程被创建后 ,先打开串口 得到文件描述符过调用 进行串口的初始化 ;之后线程通过 一旦有数据 ,就从串口里读取 ,并判断包头

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论