仓储物联网系统概要设计

更新时间:2023-05-28 04:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

咱们组仓储管理物联网 系统概要设计文档

编写时间: 2014年10月31日 作 者: 咱们组 版 本: V1.2

版本履历

目录

目录 .................................................................................................................................................. 3 一、前言........................................................................................................................................... 4 二、系统概述 ................................................................................................................................... 5 三、系统软件设计 ........................................................................................................................... 6

3.1 系统功能描述 .................................................................................................................... 6 3.2 系统模块说明 .................................................................................................................... 6 3.2.1客户终端模块 .................................................................................................................. 6 3.2.2系统移植 .......................................................................................................................... 8

BOA移植 ......................................................................................................................... 8 mjpg_streamer视频服务器移植 ...................................................................................... 9 wifi移植 ......................................................................................................................... 10 GPRS移植 ...................................................................................................................... 11 3.2.3 A9主程序模块 .............................................................................................................. 12 3.2.4 M0模块 ......................................................................................................................... 19

1、Cotex-M0前言 ......................................................................................................... 19 2、Cortex-M0终端设备方案描述 ................................................................................ 20 3、ZigBee无线通信协议概述 ...................................................................................... 24

四、运行环境规定 ......................................................................................................................... 24

4.1设备 ................................................................................................................................... 24 4.2支持软件 ........................................................................................................................... 24 附录:头文件 ................................................................................................................................. 25

一、前言

为了使得食品物联网仓储系统高效、高速、高质量的完成开发,所以编写了这份软

件需求说明书供项目经理、系统分析员、开发经理、交互设计师、测试人员以及客户代表进行阅读。通过阅读这份软件需求说明书,能使得参与项目的开发人员对项目有清晰的认识,并且能够方便客户代表和项目开发人员进行有效地沟通讨论,保证该项目顺利完成。

二、系统概述

本系统是基于PC,A9及M0等设备,依托在各项互联网,物联网,传感器等技术的基础上编写,以实现食品物联网仓储系统,使用户更方便的管理仓库内的所有信息及其特殊情况。

本系统主要分为三大模块:客户终端(PC)、数据中心(A9)和远程监控终端(M0) 。

三、系统软件设计

3.1 系统功能描述

实现用户在远程对仓库进出库货物的控制,温度、湿度、光照强度、三轴加速等的监控。

3.2 系统模块说明

仓储物联网管理系统分为:客户终端、A9主程序、M0,三大模块。

3.2.1客户终端模块

客户端模块分为:登陆界面、主菜单、实时信息显示、实时视屏监控、环境参数设置,五个功能。

1.登陆界面

2.主菜单

3.实时信息显示

4.环境参数修改

5.实时视屏监控

3.2.2系统移植 BOA移植

<一> Boa的编译

<二> 将Boa移植到FS4412中 1. 修改boa.conf配置文件:

2. 将配置文件boa.conf 移动到FS4412的 /etc/boa/ 目录下。

3. 创建/var/log/boa/ 目录,这样Boa服务器启动时会在该目录下创建日志文件。 4. 将Linux系统上/etc/mime.types 文件复制到FS4412的/etc 目录下,否则Boa服务器启动不起来。

5. 将生成的boa文件移植到嵌入式板中的/sbin目录下并更改脚本文件

/etc/init.d/rcS, 新增一行: /sbin/boa ,确保boa服务器随系统上电自启动。

1 这里一定要注意:有时候boa服务器并不能随系统启动,运行 /sbin/boa 命会提示: 2 gethostbyname:: Success 3 这种情况下要修改boa.conf 文件 4 将 5 #ServerName .here 6 改为 7 ServerName .here 8 即去掉注释即可

<三> 测试Boa服务器: 1. 静态页面测试:

2. CGI 程序测试:

至此,Boa服务器移植完成。

mjpg_streamer视频服务器移植

首先内核配置一些相关信息 一:usb驱动添加

二:添加驱动(video)

三:网络视频服务器移植

对于内核linux-2.6.35,不能再使用servfox,如果要使用的需要修改大量的代码,在此选用新的方法来移植。需要两个文件jpeg,mjpg-stream.移植如下:

①jpeg库的移植 编译 make 安装

make install

拷贝库到文件系统中

cp /home/linux/jpeg /lib/libjpeg.so.8 /source/rootfs/lib

②mjpg-stream的移植

将摄像头驱动s5pc100_cam.ko拷贝到 /source/rootfs目录下

插入摄像头

测试运行boa服务器 /etc/boa/boa&

插入摄像头驱动

insmod s5pc100_cam.ko

wifi移植

(一)、驱动移植

1、 从Marvell官方网站上下载sd8686.bin和sd8686_helper.bin。 2、 配置内核 3、 编译内核 make zImage

(二)、wpa_supplicant移植

1、 源码版本选择

2、 openssl移植

补丁安装 配置编译安装 3、 wpa_supplicant移植

进入~/workdir/wifi/wpa_supplicant-0.7.2/wpa_supplicant目录下 makefile修改

编译后将产生的wpa_supplicant和wpa_cli拷贝到根文件系统的bin目录下(/source/rootfs/bin)

(三)、测试

1、 在根文件中添加/etc/resolv.conf(/source/rootfs/etc/resolv.conf)

2、 在根文件系统/etc(/source/rootfs/etc)下添加wpa_supplicant配置文件wpa-psk-tkip.conf 3、 创建目录/var/run/wpa_supplicant 4、 启动开发板完成如下操作

配置无线网卡ip 配置默认网关

启动wpa_supplicant连接无线网络 查看连接状态

GPRS移植

1.首先得让内核支持PPP,进入Linux 内核目录(kernel-2.6 或 以上内核版本),

2.下载ppp-2.4.4.tar.gz 或其他版本PPP 拨号程序源码,可以上网搜索 进入ppp-2.4.4.tar.gz的目录执行解压命令 #tar zxf ppp-2.4.4.tar.gz 解压后出现 ppp-2.4.4 文件夹,进入该目录( #cd ppp-2.4.4 ),执行配置命令 #./configure

然后执行 #make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc (后面的CC表示你的交叉编译器目录) 编译完成后,进入下一步。

3.修改相关拨号脚本 4 复制相关文件到开发板 保存退出

3.2.3 A9主程序模块

主程序流程图:

1.客户终端通过共享内存获得实时数据:

当客户端给BOA服务器发送修改查询信息的请求时,主程序接收发送来的流程,且把这个请求加入到处理消息的队列中,在消息队列有请求的时候,会唤醒处理消息队列请求线程来读取请求信息,读取信息后,该线程再唤醒M0命令发送线程,把需要执行的命令向

ZigBee发送。ZigBee把M0 处理命令后得到的数据接收后唤醒M0 数据接收线程来接收数据,接收成功后再唤醒M0 数据分析线程来进行数据分析,分析成功后在把数据在共享内存上进行更新,然后让BOA 服务器来进行数据的读取。

2.主函数及数据库部分

Pthread_transfer() M0数据接收线程 操作流程图 功能描述: 当M0模块向Pthread_transfer()发送字符串时,Pthread_transfer()函数被唤醒,并将字符串转化成结构体。然后,向已创建的链表0 和链表1中分别添加结构体的。(链表0 节点为环境信息结构体,链表1 为货物信息结构体)

Pthread_analysis() M0数据分析线程 操作流程图 功能描述: 当Pthread_transfer()向Pthread_analysis()发送数据时,Pthread_analysis()被唤醒。首先判断发送过来的链表的节点的表头是否为空,空则睡眠,不为空继续执行。判断链表为0或 1, 将0链表的节点信息上传到Pthread_refresh()函数中,等待更新共享内存,并且将节点信息,通过函数定义的上下限解析函数进行判断,无异常则睡眠,异常则将要执行的命令上传给Pthread_uart_cmd() 函数。将1 链表的节点信息同样上传到Pthread_refresh()函数中,等待更新共享内存。

当从M0 收到的数据异常时流程:

当M0的数据分析线程唤醒后,对M0的数据进行分析,判断是否发生异常。当异常发生的时候,唤醒A9LED模块线程,A9蜂鸣器模块线程,A9短信模块线程。当线程被唤醒后,就会驱动各个A9模块,针对不同的异常情况来做出具体的反应。其中LED模块会根

据温湿度或光照和货物的异常来控制对应位的LED的亮灭,蜂鸣器模块会根据情况来发出警报声,短信模块会根据异常的内容,向客户来发送具体的异常。

Pthread_refresh() 更新共享内存数据线程 操作流程图 功能描述: 当Pthread_analysis()向Pthread_refresh()发送数据时,Pthread_refresh()被唤醒。将Pthread_analysis()上传过来的信息,刷新到共享内存中。

Pthread_uart_cmd() M0命令发送线程 操作流程图 功能描述: 当Pthread_analysis()向Pthread_uart_cmd()发送数据时,Pthread_uart_cmd()被唤醒。将Pthread_analysis()上传过来的信息,通过zigbee发送给M0 模块。

pthread_sqlite()数据库操作线程 操作流程图 功能描述:

当Pthread_analysis()向pthread_sqlite()发送数据时,pthread_sqlite()被唤醒。判断为链表0或1 ,将0链表中的节点信息存储到数据库的env表中,将1链表中的节点信息存储到数据库的goods表中,并能通过sqlte_time() 函数获取一个时间上的环境信息,sqlite_change()函数获取货物的改变信息, sqlite_all()函数获取全部的env和goods表中存储的信息。

蜂鸣器 和 led 线程 流程图

3.2.4 M0模块

1、Cotex-M0前言

(1) 目的

针对高速发展的当今社会,人们对时间的高效利用,使得现代都市生活节奏加快,目前的各式各样的管理机制难以满足人们的需求。针对目前现状,我们着力于高效的管理机制开发,简化了工作人员的重复性操作,从而减少了不必要的浪费时间,同时提高

了管理机制的安全性,大大降低了意外给我们带来的经济损失。为了满足人们的需求,我们创科联动开发了物联网仓库存储管理系统。 (2) 特点

创科联动开发的物联网仓库存储管理系统有如下特点:可同时多个ZigBee节点与主机服务器进行数据交互;Cortex-M0数据采集端可与PC服务器端和Cortex-A9 Linux 服务器端进行数据交互,兼容性可靠、稳定;Cortex-M0 内核处理器LPC11C14最高能达到50MHz,相比其它的ARM内核处理器主频低的多,但同时在保证功能完善的情况下所需的功耗是相当低的,功耗对于终端设备来说是相当重要的性能指标。 (3)功能

根据任务需求分析我们创科联动开发的物联网仓库存储管理系统有如下功能:对于必须的环境信息采集(温度、湿度、光照、RFID识别)我们每秒采集一次;一些辅助信息采集(电池电量、Axis_3三轴加速度)我们同样进行了信息采集,对于以上这些数据采集经过处理打包一并发送给服务器端(Cortex-A9),由服务器产生相应的指令发回给终端(Cortex-M0);对于基本信息我们除了供服务器端查看之外,还在终端上做了简单的数据显示,运行状态显示;我们考虑到了服务器与终端的交互安全性问题,正常情况下终端是由服务器全部控制的,当可能的意外出现,服务器无法控制终端进行环境异常报警时,终端30秒之后自动切换到自制模式,这时终端进行自我环境异常检测,环境出现异常时打开蜂鸣器报警,如遇温度过高时,风扇设备会自行启动,以调节温度值,直至温度正常时风扇设备才会停止;该管理系统另外加了一个Axis_3三轴加速度报警,当地震时,由于不平衡而触发了Axis_3三轴加速度蜂鸣器报警。

2、Cortex-M0终端设备方案描述

(1)、M0终端主流程图

本文来源:https://www.bwwdw.com/article/7y84.html

Top