您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 食品饮料 > 物联网项目详细设计说明书
详细设计说明书华清远见教育集团第一章项目简介.........................................3第二章系统概述.........................................5第三章前端数据中心(A8)总体设计..........................5第一节:系统框图,线程间关系............................5第二节:主进程模块.....................................6第三节:数据库模块.....................................9第四节:数据接收模块..................................18第五节:数据处理模块..................................22第六节:处理客户请求模块(设备控制)....................33第七节:蜂鸣器模块....................................39第八节:LED模块......................................40第九节:摄像头模块....................................41第十节:SMS模块......................................42第十一节:共享内存刷新模块............................54第十二节:WIFI模块....................................58第十三节:QT进程......................................59第十四节:CGI进程.....................................72第十五节:控制M0命令发送模块.........................89第四章数据采集端(M0)总体设计...........................913第一章项目简介1.项目背景随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对于生活质量及工作环境的要求也越来越高。与此同时为了管理大量的物品,仓库也大量的出现,仓库的管理问题也就提上了日程。随着仓库大量的增加,其管理难度也越来越大,如何优化仓库的日常管理也就成为了一个大众化的课题。传统的仓库管理,一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物,完全由人工实施仓库内部的管理,因此仓库管理的效率极其低下。对此,我们利用基于ZIGBEE无线射频技术的仓库智能管理系统,该系统能够增强库房作业的准确性和快捷性、减少整个仓库物资出入库中由于管理不到位造成的非法出入库、误置、偷窃和库存、出货错误等损失,并最大限度地减少储存成本、保障仓库物资的安全。2.需求分析传统的仓库管理,一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物,完全由人工实施仓库内部的管理,因此仓库管理的效率极其低下,所能管理的仓库规模也很小。随着计算机的应用普及,目前大多数企业的仓库管理数据资料已开始采用计算机数据系统管理,但数据还是采用先纸张记录、再手工输入计算机的方式进行采集和统计整理。这不仅造成大量的人力资源浪费,而且由于人为的因素,数据录入速度慢、准确率低。随着仓库智能化的不断发展,仓库管理的物资种类,数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和数据采集方式已难以满足仓库管理的快速、准确要求,严重影响了仓库的管理。目前ZIGBEE技术正在为仓库管理带来一场巨大的变革,以识别距离远,快速,不易损坏,容量大等条码无法比拟的优势,简化繁杂的工作流程,有效改善供应链的效率和透明度。基于物联网的智能战备仓库管理系统是在现有仓库管4理和车辆管理中引入ZIGBEE技术,对仓库到货检验、入库、出库、调拨、移库移位、库存盘点等各个作业环节的数据进行自动化的数据采集,保证仓库管理各个环节数据输入的速度和准确性,确保管理人员及时准确地掌握库存的真实数据,合理保持和控制仓库库存。通过科学的编码,还可方便地对物品的批次、保质期等进行管理。利用系统的库位管理功能,更可以及时掌握所有库存物资当前所在位置,有利于提高仓库管理的工作效率。3.术语定义Linux:Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。RFID:射频识别即RFID(RadioFrequencyIDentification)技术,又称电子标签、无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。ZIGBEE:Zigbee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。A8:ARMCortex-A8处理器是第一款基于ARMv7架构的应用处理器,并且是有史以来ARM开发的性能最高、最具功率效率的处理器。M0:Cortex-M0处理器,是市场上现有的最小、能耗最低、最节能的ARM处理器。WIFI:Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-FiAlliance)所持有。目的是改善基于IEEE802.11标准的无线网路产品之间的互通性。5第二章系统概述本系统是基于PC,A8及M0等设备,依托在各项互联网,物联网,传感器等技术的基础上编写,以实现食品物联网仓储系统,使用户更方便的管理仓库内的所有信息及其特殊情况。本系统主要分为三大模块:核心服务器端(PC)、前端数据中心(A8)和远程监控终端(M0)。第三章前端数据中心(A8)总体设计第一节:系统框架,线程间关系1.系统框架:a.通过M0进行实时采集环境参数,例如温度、湿度、光感数据,进行物品刷卡;b.再通过ZigBee把采集到的环境参数或物品信息发送给A8;c.由A8的M0线程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,然后如果是环境参数则对环境参数进行判断处理进行报警。d.用摄像头采集图片,存储到A8上。e.构建嵌入式web服务器,使用户通过网络利用pc机进行监控。f.在web页面上设置控制按钮,监控设备识别用户指令并进行相应动作g.A8通过GPRS短信息功能向用户报警。62.线程间关系:pthread_client_request():处理消息队列里请求的线程.pthread_refresh():更新共享内存里的实时数据.pthread_sqlite():数据库线程.pthread_transfer():接收M0数据线程.pthread_analysis():M0数据分析线程.pthread_uart_cmd():M0控制命令发送线程.pthread_sms():短信模块控制线程.pthread_buzzer():A8蜂鸣器控制线程.pthread_infrared():红外(按键模拟)监测线程.pthread_led():A8LED模块线程.pthread_camera():摄像头模块控制线程.第二节:数据描述1.结构体描述结构体名成员类型成员名功能描述storage_goods_infounsignedchargoods_type物品类型unsignedintgoods_count物品数量storage_infounsignedcharstorage_status仓库开关状态7led_status仓库LED状态buzzer_status仓库Buzzer状态fan_status仓库风扇状态seg_status仓库数码管状态signedcharx仓库采集端三轴状态yzcharsamplingTime[20]采集数据的时间floattemperature仓库当前温度temperatureMAX仓库温度上限temperatureMIN仓库温度下限humidity仓库当前湿度humidityMAX仓库湿度上限humidityMIN仓库湿度下限illumination仓库当前光照illuminationMAX仓库光照上限illuminationMIN仓库光照下限battery仓库采集端电池电压adc仓库ADC采集电压adcMIN仓库电池电压最小值storage_goods_infogoods_info[GOODS_NUM]采集货物信息env_info_clien_addrstorage_infostorage_no[STORAGE_NUM]所以仓库实时信息storage_nointtable_select_maskenv_operation_masktable_operation_maskgoods_operation_maskmsglongtype消息队列里的消息类型msgtype区别消息的类型unsignedchartext[QUEUE_MSG_LEN]消息正文长度2、全局变量描述类型变量名pthread_cond_tcond_sqlite数据库线程被唤醒条件变量cond_analysis数据分析线程被唤醒条件变量cond_uart_cmdM0控制命令发送线程被唤醒条件变量cond_client_request处理消息队列里请求的线程被唤醒条件变量8cond_infrared红外(按键模拟)监测线程被唤醒条件变量cond_buzzerA8蜂鸣器控制线程被唤醒条件变量cond_ledA8LED模块线程被唤醒条件变量cond_camera摄像头模块控制线程被唤醒条件变量cond_sms短信模块控制线程被唤醒条件变量cond_refresh更新共享内存里的实时数据被唤醒条件变量pthread_mutex_tmutex_slinklist数据库缓存互斥锁mutex_sqlite数据库线程互斥锁mutex_analysis数据分析线程互斥锁mutex_uart_cmdM0控制命令发送线程互斥锁mutex_client_request处理消息队列里请求的线程互斥锁mutex_infrared红外(按键模拟)监测线程互斥锁mutex_buzzerA8蜂鸣器控制线程互斥锁mutex_ledA8LED模块线程互斥锁mutex_camera摄像头模块控制线程互斥锁mutex_sms短信模块控制线程互斥锁mutex_refresh更新共享内存里的实时数据互斥锁mutex_refresh_updatamutex_global全局变量保护互斥锁mutex_linklist接收数据缓存互斥锁storage_infostorage_RT[STORAGE_NUM]各仓库实时信息9unsignedchardev_sms_maskA8短信模块操作掩码dev_infrared_maskA8按键模块操作掩码dev_buzzer_maskA8蜂鸣器模块操作掩码dev_led_maskA8LED模块操作掩码dev_camera_maskA8摄像头模块操作掩码dev_uart_maskA8串口发送命令掩码intdev_infrared_fdA8按键模块设备节点dev_buz
本文标题:物联网项目详细设计说明书
链接地址:https://www.777doc.com/doc-5495553 .html