仓库物联网技术文档Word文档格式.docx
- 文档编号:7382625
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:15
- 大小:184.12KB
仓库物联网技术文档Word文档格式.docx
《仓库物联网技术文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《仓库物联网技术文档Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
M0:
Cortex-M0处理器,是市场上现有的最小、能耗最低、最节能的ARM处理器。
第2章技术方案
2.1系统的总体描述
本系统基于A8、M0平台,实现了M0采集仓库不同地方的信息,通过无线方式发送到A8进行监控、控制。
A8为中央监控服务器设备。
整体分为如下几个模块:
中心服务器模块、前端数据中心、信息采集模块。
信息采集模块使用M0,采集仓库的温度、湿度、光照及进出仓库的货物信息,通过zigbee模块发送到前端数据中心。
前端数据中心通过zigbee接收模块接收M0发送的信息,进行分析、处理、存储。
前端数据中心装有boa服务器,用户通过web访问前端数据中心的信息,可以手动通过网络将数据库的的货物信息发送到中心服务器中。
中心服务器接收信息并存储。
本设计主要采用开发板设计的,开发板有外部接口多的优势,方便模拟测试和软件的调试。
2.2系统软件描述
我们选用稳定灵活的Linux操作系统,优点有以下几点:
1.开放的源码,丰富的软件资源,最适合于学生学习。
2.功能强大的内核,性能高效、稳定,多任务,小巧灵活,易于裁减。
3.支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。
4.完善的网络通讯、图形、文件管理机制。
5.支持大量的周边硬件设备。
6.Linux秉承Unix的优秀设计思想,非常灵活,各部分的可定制性都很强。
7.良好的开发环境,不断发展的开发工具集,其中很多是免费的,大大降低了开发费用。
8.软件开发者的广泛支持。
9.有效降低产品成本,对成本敏感的嵌入式系统来说至关重要,Linux恰好具有这一特性。
由此,对于我们学生来讲,Linux是我们的最佳选择。
2.3项目功能图
图2.1项目功能图
2.4所涉及的系统、工具
表2.1系统与工具
系统名称
系统版本
备注
linux内核
Linux-2.6.35
Linux文件系统
Busybox-1.17.3
工具链
arm-unknown-linux-gnueabi-gcc
Boa服务器
boa-0.94.13
Sqlite数据库
sqlite-autoconf-3070602
第3章前端数据中心(A8)总体设计
3.1程序设计流程图
图3.1程序设计流程图
3.2线程描述
1.com_collect_thd:
用来采集M0发送的温度、湿度、光照、rfid卡信息。
2.com_cgi_thd:
接收网页传来的指令,并唤醒相应的线程。
3.ctl_light_thd:
当cgi接收到开灯关灯命令时,唤醒该线程。
4.ctl_warlight_thd:
当发生异常时,唤醒该线程让报警灯闪烁。
5.ctl_gsm_thd:
当发生异常时,唤醒该线程发送信息给用户。
6.ctl_beep_thd:
当异常发生时,唤醒该线程打开蜂鸣器报警。
7.ctl_camera_thd:
有非法闯入时,唤醒该线程拍照。
8.ctl_sql_thd:
完成数据库的查找,更新,添加,提取功能。
9.ctl_socket_thd:
完成将数据库中的信息发送给中心服务器。
10.ctl_key_thd:
轮训检测是否有非法闯入。
3.3所用类描述
1.msgbuf,用来存储消息队列的信息。
2.data_buf,用来存储串口采集的温度、湿度、光照信息。
3.rfid_data,存储进入仓库的货物信息。
4.Cgi_Updata,存储发送给cgi的温度等信息。
5.Send_Rfid_Msg,存储发送给中心服务器的数据。
3.4串口采集模块
3.4.1功能描述
采集M0方送的数据,分析、处理、存储。
采集信息为温湿度信息时检测是否超出正常的标准,超出正常标准就唤醒相应的线程,发出相应的报警信息,然后更新数据库。
采集信息为货物信息时,唤醒数据库线程,将货物信息插入数据库。
3.4.2流程图
3.4.3数据类型的详细描述
1.data_buf:
存储温度、湿度、光照等信息
成员
数据类型
说明
dev_no
int
发送数据的设备号
temp
温度数据
bum
湿度
bright
光照
2.rfid_data:
存储货物信息
Int
Cargo_type
货物类型
Cargo_name
货物名字
Cargo_num
货物数量
3.5cgi模块
3.5.1功能描述
Cgi通过消息队列接收信号,通过不同的信号设置不同的标志位,然后唤醒不同的线程。
3.5.2流程图
3.5.3数据类型的详细描述
1.Msgbuf:
消息队列结构体
Type
Long
消息类型
Data
消息数据
2.使用的宏定义
名称
定义
MSG_CGI_TYPE
100
MAGIC_NUM
‘F’
KEY_FILE
“/home”
Pc端程序设计:
开发工具及运行环境:
Uboot操作系统,Boa服务器;
功能概述及功能框图:
功能概述:
本服务器主要用于存储不同地区仓库中的货物的主要信息,通过Internet在同一时间内查询不同地区货物的存储信息,在复杂的商业环境中快速作出决定。
功能框图:
主程序设计流程图设计及概述:
主程序概述:
在main函数中创建多个线程,并初始化互斥锁、条件变量、最后等待线程结束;
主程序流程图设计:
远程访问设计:
功能实现:
向A8板中移植boa服务器,使用B/S架构,浏览器端采用HTML,CSS,Javascript,等语言,服务器端采用cgi技术对本地数据库进行处理。
总服务器设计:
概述:
采用并发服务器模型:
同一时刻可以相应多个客户端的请求,由于创建子进程的开销比较大,如果多个客户端创建多个子进程会影响服务器效率,因此创建子线程收发数据。
子程序设计流程图:
数据库:
功能描述:
存储不同地区、不同类型的数据的总和。
功能框图及数据哭封装请参照总服务器数据库功能简述。
数据库详细描述:
传送数据的相关结构:
环境信息结构
structmsg_data
{
intdev_no;
inttemp;
inthum;
intbright;
}data_buf;
货物信息结构
structCargo
intCargo_type;
intCargo_name;
intCargo_num;
}rfid_data;
存储记录结构
typedefstruct
intncolumn;
structCargobuf[100];
}Send_Rfid_Msg;
本地数据库功能简述:
将货物信息、仓库中不同地区的信息,插入数据库,为远程传输、页面动态显示提供数据
本地数据库的设计:
数据库的操做封装及实现:
货物信息表:
ID
DATAID
Name
Num
INTEGER
最新货物信息表
仓库环境信息表:
BR
WD
SD
数据插入的封装
Insert_Id_Msg(sqlite3*db1,structCargo_rfid_data)//插入货物相关信息
Insert_NodeId_Msg(sqlite3*db1,structmsg_datadata_buf);
//插入各节点相关信息
数据删除的封装
Delete_Card_Msg(sqlite3*db1,inttablenum,intid)//删除某张表中的某条记录
Sql_ctl(intflag)//消息控制函数
Send_Socket_Msg(sqlite3*db1);
//向远程传输提供数据
Send_Shmget_Msg(sqlite3*db1);
//向页面动态显示提供数据
数据库数据数据的流向:
总服务器数据库功能简述:
总服务器数据的设计:
总货物信息表
数据库的封装操着及实现:
if(recv(connfd,&
msgbuf,sizeof(msgbuf),0)>
0)
{
intncolumn=msgbuf.ncolumn;
printf("
***************%d\n"
connfd);
%d\n"
ncolumn);
for(i=0;
i<
ncolumn;
i++)
{
sprintf(str,"
SELECTCOUNT(*)FROMServerDataWHEREID=%d;
"
msgbuf.buf[i].id);
sqlite3_prepare(db,str,-1,&
countstmt,NULL);
sqlite3_step(countstmt);
flag=sqlite3_column_int(countstmt,0);
//閼惧嘲绶眎d閿?
sqlite3_finalize(countstmt);
if(flag>
{
sprintf(str,"
SELECT*FROMServerDataWHEREID=%d;
sqlite3_prepare(db,str,-1,&
sqlite3_step(countstmt);
data=sqlite3_column_int(countstmt,3);
//閼惧嘲绶?
data閿?
printf("
data1=%d\n"
data);
msgbuf.buf[i].num+=data;
UPDATEServerDataSETNum=%dWHEREID=%d;
msgbuf.buf[i].num,msgbuf.buf[i].id);
sqlite3_exec(db,str,0,0,NULL);
}
else
INSERTINTO'
ServerData'
VALUES(%d,%d,%d,%d);
msgbuf.buf[i].id,msgbuf.buf[i].name,msgbuf.buf[i].type,
msgbuf.buf[i].num);
sqlite3_exec(db,str,0,0,NULL);
printf("
%s\n"
str);
%d,%d,%d,%d,%d\n"
connfd,msgbuf.buf[i].id,msgbuf.buf[i].name,
msgbuf.buf[i].type,msgbuf.buf[i].num);
}
}
else
out......'
\n"
);
break;
}
}
数据库中数据的流向:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 联网 技术 文档