仓储物联网系统概要设计.docx

上传人:b****5 文档编号:8336083 上传时间:2023-01-30 格式:DOCX 页数:22 大小:342.83KB
下载 相关 举报
仓储物联网系统概要设计.docx_第1页
第1页 / 共22页
仓储物联网系统概要设计.docx_第2页
第2页 / 共22页
仓储物联网系统概要设计.docx_第3页
第3页 / 共22页
仓储物联网系统概要设计.docx_第4页
第4页 / 共22页
仓储物联网系统概要设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

仓储物联网系统概要设计.docx

《仓储物联网系统概要设计.docx》由会员分享,可在线阅读,更多相关《仓储物联网系统概要设计.docx(22页珍藏版)》请在冰豆网上搜索。

仓储物联网系统概要设计.docx

仓储物联网系统概要设计

咱们组仓储管理物联网

系统概要设计文档

编写时间:

_2014_年10月31日作者:

咱们组

版本:

_V1.2

版本履历

版本号

版本变更内容

变更者

时间

V1.1

第一版

咱们组

2014-10-31

V1.2

第二版

咱们组

2014-11-03

目录3

一、前言4

二、系统概述5

三、系统软件设计6

3.1系统功能描述6

3.2系统模块说明6

321客户终端模块6

322系统移植8

BOA移植8

mjpg_streamer视频服务器移植9

wifi移植10

GPRS移植11

3.2.3A9主程序模块12

3.2.4M0模块19

1、Cotex-MO前言19

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

3、ZigBee无线通信协议概述24

四、运行环境规定24

4.1设备24

4.2支持软件24

附录:

头文件25

、八、,亠、刖言

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

件需求说明书供项目经理、系统分析员、开发经理、交互设计师、测试人员以及客户代表进

行阅读。

通过阅读这份软件需求说明书,能使得参与项目的开发人员对项目有清晰的认识,并且能够方便客户代表和项目开发人员进行有效地沟通讨论,保证该项目顺利完成。

1、系统概述

本系统主要分为三大模块:

客户终端

(PC)、数据中心(A9)和远程监控终端(M0)

本系统是基于PC,A9及M0等设备,依托在各项互联网,物联网,传感器等技术的基础

三、系统软件设计

3.1系统功能描述

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

监控。

3.2系统模块说明

仓储物联网管理系统分为:

客户终端、A9主程序、M0,三大模块。

3.2.1客户终端模块

客户端模块分为:

登陆界面、主菜单、实时信息显示、实时视屏监控、环境参数设置,五个功能。

1.登陆界面

2.主菜单

3.实时信息显示

 

4.环境参数修改

 

5.实时视屏监控

322系统移植

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命会提示:

2gethostbyname:

:

Success

3这种情况下要修改boa.conf文件

4将

5#ServerNamewww.your.org.here

6改为

7ServerNamewww.your.org.here

8即去掉注释即可

<三>测试Boa服务器:

1.静态页面测试:

寻h-ttp:

/ylO.LL5JJ4a-

WelcometoBoasever!

2.CGI程序测试:

Hello,world.

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

mjpg_streamer视频服务器移植

首先内核配置一些相关信息

一:

usb驱动添加

二:

添加驱动(video)

三:

网络视频服务器移植

对于内核linux-2.6.35,不能再使用servfox,如果要使用的需要修改大量的代码,在此选

用新的方法来移植。

需要两个文件jpeg,mjpg-stream.移植如下:

1jpeg库的移植

编译

make

安装

makeinstall

拷贝库到文件系统中

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

2mjpg-stream的移植

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

插入摄像头

测试运行boa服务器

/etc/boa/boa&

插入摄像头驱动

insmods5pc100_cam.ko

wifi移植

(一)、驱动移植

1、

从Marvell官方网站上下载

sd8686.bin和sd8686_helper.bin

2、

配置内核

3、

编译内核

makezImage

(二)、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、仓U建目录/var/run/wpa_supplicant

4、启动开发板完成如下操作

配置无线网卡ip

配置默认网关

启动wpa_supplicant连接无线网络

查看连接状态

GPRS^植

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

2.下载ppp-2.44tar.gz

或其他版本PPP拨号程序源码,可以上网搜索

进入ppp-2.4.4.tar.gz

的目录执行解压命令#tarzxfppp-2.4.4.tar.gz

解压后出现ppp-2.4.4

#./configure

文件夹,进入该目录(#cdppp-2.4.4),执行配置命令

然后执行#makeCC=/usr/local/arm/3.4.1/bin/arm-linux-gcc(后面的CC表示你的

交叉编译器目录)

编译完成后,进入下一步。

3•修改相关拨号脚本

4复制相关文件到开发板

保存退出

3.2.3A9主程序模块

主程序流程图:

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

当客户端给BOA服务器发送修改查询信息的请求时,主程序接收发送来的流程,且把这

个请求加入到处理消息的队列中,在消息队列有请求的时候,会唤醒处理消息队列请求线程

来读取请求信息,读取信息后,该线程再唤醒M0命令发送线程,把需要执行的命令向ZigBee发送。

ZigBee把M0处理命令后得到的数据接收后唤醒M0数据接收线程来接收数据,接收

—車新

更新共覃內程

數据进程

线程

共車内存|

‘・山載惟分析绘程

成功后再唤醒M0数据分析线程来进行数据分析,分析成功后在把数据在共享内存上进行更新,然后让BOA服务器来进行数据的读取。

2.主函数及数据库部分

Pthread_transfer()MO数据接收线程操作流程图

功能描述:

当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()函数中,

等待更新共享内存。

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

当M0的数据分析线程唤醒后,对M0的数据进行分析,判断是否发生异常。

当异常发生的时候,唤醒A9LED模块线程,A9蜂鸣器模块线程,A9短信模块线程。

当线程被唤醒后,就会驱动各个A9模块,针对不同的异常情况来做出具体的反应。

其中LED模块会根据温湿

度或光照和货物的异常来控制对应位的LED的亮灭,蜂鸣器模块会根据情况来发出警报声,

短信模块会根据异常的内容,向客户来发送具体的异常。

Pthread_refresh()更新共享内存数据线程操作流程图

功能描述:

当Pthread_analysis()向Pthread_refresh()发送数据时,Pthread_refresh()被唤醒。

将Pthread_analysis()上传过来的信息,刷新到共享内存中。

Pthread_uart_cmd()MO

功能描述:

当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线程流程图

324M0模块

1、Cotex-MO前言

(i)目的

针对高速发展的当今社会,人们对时间的高效利用,使得现代都市生活节奏加快,

目前的各式各样的管理机制难以满足人们的需求。

针对目前现状,我们着力于高效的管

理机制开发,简化了工作人员的重复性操作,从而减少了不必要的浪费时间,同时提高

了管理机制的安全性,大大降低了意外给我们带来的经济损失。

为了满足人们的需求,

我们创科联动开发了物联网仓库存储管理系统。

(2)特点

创科联动开发的物联网仓库存储管理系统有如下特点:

可同时多个ZigBee节

点与主机服务器进行数据交互;Cortex-MO数据采集端可与PC服务器端和

Cortex-A9Linux服务器端进行数据交互,兼容性可靠、稳定;Cortex-MO内核处

理器LPC11C14最高能达到50MHz相比其它的ARM内核处理器主频低的多,但同时在保证功能完善的情况下所需的功耗是相当低的,功耗对于终端设备来说是相当

重要的性能指标。

(3)功能

根据任务需求分析我们创科联动开发的物联网仓库存储管理系统有如下功能:

对于必须

的环境信息采集(温度、湿度、光照、RFID识别)我们每秒采集一次;一些辅助信息采集(电

池电量、Axis_3三轴加速度)我们同样进行了信息采集,对于以上这些数据采集经过处理打包一并发送给服务器端(Cortex-A9),由服务器产生相应的指令发回给终端(Cortex-M0);对于基本信息我们除了供服务器端查看之外,还在终端上做了简单的数据显示,运行状态显示;

我们考虑到了服务器与终端的交互安全性问题,正常情况下终端是由服务器全部控制的,当

可能的意外出现,服务器无法控制终端进行环境异常报警时,终端30秒之后自动切换到自

制模式,这时终端进行自我环境异常检测,环境出现异常时打开蜂鸣器报警,如遇温度过高

时,风扇设备会自行启动,以调节温度值,直至温度正常时风扇设备才会停止;该管理系统另外加了一个Axis_3三轴加速度报警,当地震时,由于不平衡而触发了Axis_3三轴加速度蜂鸣器报警。

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

(1)、M0终端主流程图

t〒包和

Sff「皿,光厦、三轴加

遽虞,O,AOC

主程评(whJle)

制.改曲AS-

丿

采索區去鞍蝎

MQf£M

吾有皴一

yes

W.

平民騎卡揑制节

车同心呼控帚侨

同设备

yes

 

(2)、zigebee流程图

拆也盐拥

1

r

黄闭MO口动控制「

F

车冏命令制不

 

LED

(3)MO端主程序流程图

J[

赅据是宵有效

寸隼症卡数裾

数据是否有效

是否超1±设定坯.

L,*l._1^

虹盘度■光虞,三牠加

速度、电量、ADC

yes

Cortex-Mc^r^

阴日歸发勒k

(4)、Cortex-MO终端设备主程序工作流程

a、系统上电初始化M0终端上各个设备,包括系统定时器、GPIO口、SPI、UARTIIC

等设备,配置系统滴答定时器设置其终端为1毫秒,进而配置中断处理函数精确到1秒。

b、主程序进行轮询判断,在没有外部中断(ZigBee接收数据中断、RFID刷卡中断)的情

况下主要执行环境数据的采集、数据打包发送给A9服务器,这时因为M0终端还没有收到

A9服务器发送过来的指令(即ZigBee接收数据中断函数还未执行),所以M0终端初始模式为自制控制(即M0终端未受到A9服务器命令控制而采取自我环境监测、异常报警等);

c、当有外部RFID刷卡时,其它数据正常采集,RFID中断函数同时对磁卡数据进行采集

校验数据有效性并发送给A9服务器;

d、当有外部中断ZigBee接收数据中断产生时,其它数据正常采集,ZigBee接收数据

中断处理函数接收A9服务器发送过来的指令,执行不同的设备,同时M0终端切换为A9服

务器控制M0终端模式;

e、为了安全稳定的管理机制,我们对异常行为进行的可能性进行了评估、假设。

当A9

服务器异常(即A9服务器不能正常给M0终端设备发送指令)时,M0终端在30秒内未接收到A9服务器发送过来的指令时自行切换到M0终端自制模式,对当前环境进行检测、判断是否

异常决定是否打开蜂鸣器报警。

3、ZigBee无线通信协议概述

ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。

主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。

四、运行环境规定

4.1设备

电脑,Cotex-A9开发板,Cotex-MO开发板(包括zigbee模块,数据采集模块),摄像头,GPR鴻块。

4.2支持软件

需要支持sqlite数据库、MicrosoftVisio,boa服务器,运行环境为linux。

附录:

头文件

#ifndef_HEAD_H__

#define__HEAD_H__

/*仓库1*/

//风扇0关闭;11档;22档;33档

#defineROOM1_FAN_00x40

#defineROOM1_FAN_10x41

#defineROOM1_FAN_20x42

#defineROOM1_FAN_30x43

3自动报警打开;

//蜂鸣器0关闭;1打开;2自动报警关闭;

#defineROOM1_BEEP_00x50

#defineROOM1_BEEP_10x51

#defineROOM1_BEEP_20x52

#defineROOM1_BEEP_30x53

//LED0关闭;1打开;

#defineROOM1_LED_00x60

#defineROOM1_LED_10x61

//数码管

#defineROOM1_L_00x70

#defineROOM1_L_10x71

#defineROOM1_L_20x72

#defineROOM1_L_30x73

#defineROOM1_L_40x74

#defineROOM1_L_50x75

#defineROOM1_L_60x76

#defineROOM1_L_70x77

#defineROOM1_L_80x78

#defineROOM1_L_90x79

#defineROOM1_L_OFF0x7f

//风扇0关闭;11档;22档;33档

#defineROOM2_FAN_00x80

#defineROOM2_FAN_10x81

#defineROOM2_FAN_20x82

#defineROOM2_FAN_30x83

3自动报警打开;

〃蜂鸣器0关闭;1打开;2自动报警关闭;

#defineROOM2_BEEP_00x90

#defineROOM2_BEEP_10x91

#defineROOM2_BEEP_20x92

#defineROOM2_BEEP_30x93

//LED0关闭;1打开;

#defineROOM2_LED_00xa0

#defineROOM2_LED_10xa1

//数码管

#defineROOM2_L_00xb0

#defineROOM2_L_10xb1

#defineROOM2_L_20xb2

#defineROOM2_L_30xb3

#defineROOM2_L_40xb4

#defineROOM2_L_50xb5

#defineROOM2_L_60xb6

#defineROOM2_L_70xb7

#defineROOM2_L_80xb8

#defineROOM2_L_90xb9

#defineROOM2_L_OFF0xbf

/*通信结构体*/

#defineuint8_tunsignedchar

#defineuint32_tunsignedint

/*环境结构体*/

structsendEnv

{

uint8_thead[3];//标识位st:

uint8_ttype;//数据类型

uint8_tsnum;//仓库编号

uint8_ttemp[2];//温度

uint8_thum[2];//湿度

uint8_tx;//三轴信息

uint8_ty;

uint8_t乙

uint32_till;//光照

uint32_tbet;//电池电量

uint32_tadc;//电位器信息

};

/*货物结构体*/

structsendGoods

{

uint8_thead[3];

//

标识位st

uint8_ttype;

//

数据类型

uint8_tsnum;

//

仓库编号

uint8_tio;

//

进出仓库

uint8_tgoodsno;

//

商品编号

uint8_tgoodsnum;

//

商品数量

};/*环境参数上下限*/

#defineTEMP_MAX35

#defineTEMP_MIN20

#defineHUMI_MAX80

#defineHUMI_MIN30#endif

欢迎您的下载,

资料仅供参考!

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1