仓储物联网系统概要设计Word文档下载推荐.docx
- 文档编号:21456791
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:23
- 大小:1.19MB
仓储物联网系统概要设计Word文档下载推荐.docx
《仓储物联网系统概要设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《仓储物联网系统概要设计Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
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
2
3
4
5
6
7
8
这里一定要注意:
有时候boa服务器并不能随系统启动,运行/sbin/boa命会提示:
gethostbyname:
:
Success
这种情况下要修改boa.conf文件
将
#ServerName
www.your.org.here
改为
ServerName
即去掉注释即可
三>
测试Boa服务器:
1.静态页面测试:
2.CGI
程序测试:
至此,Boa服务器移植完成。
mjpg_streamer视频服务器移植
首先内核配置一些相关信息
一:
usb驱动添加
二:
添加驱动(video)
三:
网络视频服务器移植
对于内核linux-2.6.35,不能再使用servfox,如果要使用的需要修改大量的代码,在此选用新的方法来移植。
需要两个文件jpeg,mjpg-stream.移植如下:
①jpeg库的移植
编译
make
安装
makeinstall
拷贝库到文件系统中
cp/home/linux/jpeg/lib/libjpeg.so.8/source/rootfs/lib
②mjpg-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、创建目录/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的目录执行解压命令#tarzxfppp-2.4.4.tar.gz
解压后出现ppp-2.4.4文件夹,进入该目录(#cdppp-2.4.4),执行配置命令#./configure
然后执行#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()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.4M0模块
1、Cotex-M0前言
(1)目的
针对高速发展的当今社会,人们对时间的高效利用,使得现代都市生活节奏加快,目前的各式各样的管理机制难以满足人们的需求。
针对目前现状,我们着力于高效的管理机制开发,简化了工作人员的重复性操作,从而减少了不必要的浪费时间,同时提高了管理机制的安全性,大大降低了意外给我们带来的经济损失。
为了满足人们的需求,我们创科联动开发了物联网仓库存储管理系统。
(2)特点
创科联动开发的物联网仓库存储管理系统有如下特点:
可同时多个ZigBee节点与主机服务器进行数据交互;
Cortex-M0数据采集端可与PC服务器端和Cortex-A9Linux服务器端进行数据交互,兼容性可靠、稳定;
Cortex-M0内核处理器LPC11C14最高能达到50MHz,相比其它的ARM内核处理器主频低的多,但同时在保证功能完善的情况下所需的功耗是相当低的,功耗对于终端设备来说是相当重要的性能指标。
(3)功能
根据任务需求分析我们创科联动开发的物联网仓库存储管理系统有如下功能:
对于必须的环境信息采集(温度、湿度、光照、RFID识别)我们每秒采集一次;
一些辅助信息采集(电池电量、Axis_3三轴加速度)我们同样进行了信息采集,对于以上这些数据采集经过处理打包一并发送给服务器端(Cortex-A9),由服务器产生相应的指令发回给终端(Cortex-M0);
对于基本信息我们除了供服务器端查看之外,还在终端上做了简单的数据显示,运行状态显示;
我们考虑到了服务器与终端的交互安全性问题,正常情况下终端是由服务器全部控制的,当可能的意外出现,服务器无法控制终端进行环境异常报警时,终端30秒之后自动切换到自制模式,这时终端进行自我环境异常检测,环境出现异常时打开蜂鸣器报警,如遇温度过高时,风扇设备会自行启动,以调节温度值,直至温度正常时风扇设备才会停止;
该管理系统另外加了一个Axis_3三轴加速度报警,当地震时,由于不平衡而触发了Axis_3三轴加速度蜂鸣器报警。
2、Cortex-M0终端设备方案描述
(1)、M0终端主流程图
(2)、zigebee流程图
(3)M0端主程序流程图
(4)、Cortex-M0终端设备主程序工作流程
a、系统上电初始化M0终端上各个设备,包括系统定时器、GPIO口、SPI、UART、IIC等设备,配置系统滴答定时器设置其终端为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-M0开发板(包括zigbee模块,数据采集模块),摄像头,GPRS模块。
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
//蜂鸣器0关闭;
1打开;
2自动报警关闭;
3自动报警打开;
#defineROOM1_BEEP_00x50
#defineROOM1_BEEP_10x51
#defineROOM1_BEEP_20x52
#defineROOM1_BEEP_30x53
//LED0关闭;
#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
/*仓库2*/
#defineROOM2_FAN_00x80
#defineROOM2_FAN_10x81
#defineROOM2_FAN_20x82
#defineROOM2_FAN_30x83
//蜂鸣器0关闭;
#defineROOM2_BEEP_00x90
#defineROOM2_BEEP_10x91
#defineROOM2_BEEP_20x92
#defineROOM2_BEEP_30x93
#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_tz;
uint32_till;
//光照
uint32_tbet;
//电池电量
uint32_tadc;
//电位器信息
};
/*货物结构体*/
structsendGoods
uint8_tio;
//进出仓库
uint8_tgoodsno;
//商品编号
uint8_tgoodsnum;
//商品数量
/*环境参数上下限*/
#defineTEMP_MAX35
#defineTEMP_MIN20
#defineHUMI_MAX80
#defineHUMI_MIN30
#endif
WelcomeTo
Download!
!
欢迎您的下载,资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓储 联网 系统 概要 设计