《基于物联网的智能物流系统》_第1页
《基于物联网的智能物流系统》_第2页
《基于物联网的智能物流系统》_第3页
《基于物联网的智能物流系统》_第4页
《基于物联网的智能物流系统》_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于物联网的智能物流管理系统The Intelligence Logistics Management System Based on The Internet of things 队名:安徽工程大学参赛队队员 :金忠、孙永莉、潘士奇指导教师:刘涛、帅兵、谢永宁摘要本系统采用基于ARM Cortex-M3内核的处理器LM3S811,结合射频ID读卡模块、Zigbee无线传输模块实现物流公司收发货的智能管理,并通过固定终端PC与网络数据库实现交互,将整个物流公司的收发货信息整合到一起,简化收发货的过程,同时降低了出错率。关键词:ARM、ID射频读卡、Zigbee无线传输、网络数据库、智能物流0引

2、言 随着网络技术的不断发展,网络应用在现实生活中越来越普遍,网购作为网络应用的一个实例也在不断发展,继而导致物流行业也随之壮大。物流行业的迅速发展也给物流行业带来了更高的要求,伴随业务量的增加,要求物流公司的运作速度必须提升,然而传统的人工运作显然已经满足不了要求。 本课题的目标就是要利用嵌入式技术设计一个系统,投入到物流的收发货管理过程中,提高物流公司收发货的速度,再结合网络数据库整合所有物流收发货信息,降低物流运作中的出错率,提高物流的可靠性,满足物流行业快速发展提出的高要求。 1系统方案设计 1.1设计的基本思想 本系统分为三个模块:分别是固定终端,网络数据库,移动终端。从货物进入物流公

3、司开始:首先,发挥作用的是固定终端,固定终端配有录入软件、读卡设备和无线传输模块,读卡设备读取分配给货物的卡号并传入录入软件,录入软件将货物信息通过网络传入网络数据库保存。 其次,当要发送货物时,移动终端扫描从仓库中拿出的货物,读取卡号生成发货清单,通过集成的Zigbee无线传输模块将清单传入固定终端保存,固定终端同时将货物清单传入网络数据库保存。 接着,当货物配送到达目的地时,目的地固定终端从网络数据库下载货物清单并通过无线传输模块传入目的地的移动终端中,移动终端在接收货物时读取货物的卡号,控制器将读到的卡号和清单对比,实现核对清单的功能。 1.2系统框图 按照设计的思想,本系统由固定终端,

4、网络数据库和移动终端三个模块构成,三个模块之间的结构如图所示:网络数据库固定终端1网线固定终端n网线Internet网络移动终端Zigbee无线传输Zigbee无线传输移动终端 图1 系统框图2硬件系统设计2.1 固定终端:本系统中的固定终端可以由一台PC机构成,PC机通过2个 USB口分别外接一个ID读卡器和一个Zigbee无线传输模块。结构图如下:USBZigbee 模块PC机USBID读卡器 图2 固定终端 ID读卡器:用于读取为货物分配的卡号(订单号),通过USB接口将读取的卡号传入PC机中的录入软件。Zigbee模块:和移动终端上的Zigbee模块自组无线网络,进行信息传递, 实现P

5、C机与移动终端的信息交换。 2.2 移动终端:本系统中的移动终端主要由控制器、ID读卡模块、Zigbee无线传输模块、矩阵键盘4个模块组成。结构框图如下:PB0 PB1Wiegand 26读卡模块串口 UARTZigbee 模块控制器PD1 PD7矩阵键盘 图3 移动终端 控制器:是移动终端的核心,本设计对控制器的基本要求是至少具有1个UART接口和2组GPIO口,分别用来连接Zigbee模块、ID读卡模块、矩阵键盘。我们选用了北京精仪达盛科技有限公司的EXP-LM3S811模块,LM3S811内有2个完全可编程的UART和丰富的GPIO口,UART支持高达460.8Kbps的数据传输速率,完

6、全满足本设计的基本要求。 读卡模块:本设计采用近距离的非接触式ID读卡模块,检测距离在1米左右。在实验中,我们采用了XN-K01系列125KHz的非接触式ID卡专用模块,ID卡的读取我们采用Wiegand 26接口,与控制器的PB0和PB1相连接。 Zigbee模块:设计中需要移动终端和固定终端进行无线数据传输,距离在1200米范围内,我们采用的是深圳鼎泰克公司的DRF1605Zigbee无线传输模块,该模块无线频率2.45GHz,传输距离达400米,完全满足本设计对无线模块的要求。 矩阵键盘:设计中的矩阵键盘用于方便使用者对移动终端的控制,控制器读取按键的值调用不同的函数,实现不同的功能。

7、3 软件设计 3.1数据库设计 本物流系统中,所有的货物订单信息和配送清单信息都会存储于一个网络数据库中,这样的设计保证了货物订单信息和配送清单信息的集中管理,方便了各个营业点之间的货物配送。本系统数据库使用的是SQL SERVER 2000。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。 SQL Server 是客户机/服务器体系结构,它提供了图形化用户界面,使系统管理和数据库管理更加直观、简单。附带了丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 3.2数据库主要表设计 该数据库用于存储货物的订单信息和配送清单信息,相关的表结构设计如下

8、:货物信息 Good属性名数据类型可否为空含义完整性约束Good_IDBigint(8)否货物流水号主码Good_NumChar(10)否货物订单号Good_NameChar(50)否货物名称Good_TypeChar(50)否货物类型Good_QuantityChar(10)否货物数量Good_WeightChar(10)否货物重量Good_StatusChar(10)否货物状态已签收,已到站或运输中,已入库,默认值已入库Good_TrackTimeChar(20)可当前检测时间Good_RemarkChar(10)可货物备注订单详细信息OrderMessage属性名数据类型可否为空含义完整

9、性约束Ord_IDBigint(8)否订单流水号主码,自动Good_IDBigint(8)否货物流水号外码Rec_IDBigint(8)否收货人流水号外码Sen_IDBigint(8)否发货人流水号外码Ord_FromstationChar(50)否发货站Ord_TostationChar(50)否收货站Ord_AcctimeDatetime(8)否业务接洽时间Ord_ChargeChar(10)否费用Ord_IspayChar(2)否是否付款是或否,默认值否Ord_FinishedChar(2)否业务是否完成是或否,默认值否收货人信息 Receiver属性名数据类型可否为空含义完整性约束Re

10、c_IDBigint(8)否收货人流水号主码,自动Rec_NameChar(10)否收货人姓名Rec_TelChar(11)否收货人电话(手机)Rec_HomeTelChar(12)否收货人固定电话Rec_AddChar(150)否收货人地址Rec_CodeChar(6)否收货人邮编发货人信息 Sender属性名数据类型可否为空含义完整性约束Sen_IDBigint(8)否发货人流水号主码,自动Sen_NameChar(10)否发货人姓名Sen_TelChar(11)否发货人电话(手机)Sen_HomeTelChar(12)否收货人固定电话Sen_AddChar(150)否发货人地址Sen_C

11、odeChar(6)否发货人邮编 3.3 录入软件设计 录入软件安装在固定终端上,作用是将货物的信息录入并传入数据库,录入软件在硬件上和固定终端外接的ID读卡器及Zigbee模块有信息传输,和网络数据库也有连接,录入软件实现了货物信息登记的简化。 本软件采用Visual Studio 2010制作,由前台工作人员将物品信息录入软件并传入数据库。使用Zigbee模块,使得此软件能够与移动终端进行通信。3.3.1 软件界面截图 图 软件主要部分界面3.3.2 软件主要功能实现程序 1.与数据库连接程序 应用C#语法建立与SQLServer数据库的连接。通过访问数据库验证用户信息。private v

12、oid button1_Click(object sender, EventArgs e)/建立数据库连接string sqlcon = Data Source=.;Database=bsb;User id=sa;PWD=; /抓捕异常 try using(SqlConnection My_con=new SqlConnection(sqlcon) My_con.Open(); /打开连接 string sqlstr = select * from loginuser where user_logname= + txt_LoginName.Text.Trim() + and user_pwd=

13、 + txt_LoginPwd.Text.Trim() + ; SqlCommand sqlcom = new SqlCommand(sqlstr, My_con); SqlDataReader SDR = sqlcom.ExecuteReader(); /执行SQL语句 SDR.Read();/读取查询结果 if (SDR.HasRows) /读取到数据说明存在该用户,可以登录 timer1.Start(); /渐变效果 else /否则用户不存在 MessageBox.Show(用户名或密码错误,错误); My_con.Close();/关闭连接 catch (SqlException )

14、/异常处理 MessageBox.Show(远程客户端无响应,请稍后再试!,错误); return; 2.与Zigbee模块串口通信实现程序在visual studio 2010中使用seriaPort控件。配置属性:设置其波特率BaudRate=38400,其端口号PortName=COM3。 private void button2_Click(object sender, EventArgs e)serialPort1.Open();/打开端口 string str = serialPort1.ReadLine();/接受数据 int length = textBox1.Text.Len

15、gth;/计算长度 char chars = str.ToCharArray();/转换为数组 while(length % 6 != 0) string str2=new stringstr.Length; for(int i=0;istr.Length/6;i+) str2i=str.Substring(i*6,6); /将接收到的字符串平均分配到数组中 ListViewItem list;/添加进ListView控件中 for (int i = 0; i str.Length/6; i+) list = listView1.Items.Add(i+1).ToString(); list.

16、SubItems.Add(str2i); private void button3_Click(object sender, EventArgs e) byte data = Encoding.Unicode.GetBytes(text);/获取要发送的数据 string str = Convert.ToBase64String(data); serialPort1.WriteLine(str);/发送数据 serialPort1.Close();/关闭端口 3.3.3 移动终端软件设计 移动终端的功能主要有:生成发货清单、传送发货清单、接收发货清单、收货核对清单、生成缺/错货清单、传送缺/错

17、货清单等功能,实现这些功能的代码在源代码中将给出,此处就不做赘述了。移动终端的重点部分在于ID读卡模块、Zigbee模块,此处将给出移动终端的流程图和这两个模块与MCU之间的部分驱动代码:1. 移动终端工作流程图开始开机发货/收货?读卡保存货物卡号(生成发货清单)下载货物清单读卡保存?验证发货收货成功成功蜂鸣器蜂鸣器失败失败保存货物卡号(生成核对清单)货物发送完毕?否否结束是是否为清单中货物?是货物接收完毕?是清单核对完毕?是否发送货物清单到固定终端发送核对清单到固定终端否2. 移动终端ID读卡模块程序设计 ID读卡模块采用中断模式触发,中断口采用GPIOB口,卡号读取采用Wiegand 26

18、接口,主要程序如下:/卡号获取代码: void getSignalString(void) /如果allSignalflag=1调用该函数,获得卡号。 int i; /对IDData初始化; for(i=0;i=2;i+) IDDatai =0; for(i=1;i=24;i+)/忽略校验位; if(signalStringi&0x02) IDData(i-1)/8 = (IDData(i-1)/81)&0xfe;/date1为低,date0为高。为1if(signalStringi&0x01)IDData(i-1)/8 = (IDData(i-1)/81)|0x01; /将所得到的数据转换为

19、文本形式输出。如0xA3转换为A3;for(i=0;i4)&0x0f ; /整除2;IDStringsi+1 = DB_num_asci IDDatai/2&0x0f ;i+=2; /PB口中断代码void GPIO_Port_B_ISR(void) GPIOPinIntClear(GPIO_PORTB_BASE,GPIO_PIN_0|GPIO_PIN_1); pinsState = GPIOPinRead(GPIO_PORTB_BASE,GPIO_PIN_0|GPIO_PIN_1); signalStringsignalNum = pinsState; signalNum+;if(signa

20、lNum = 26) allSignalflag = 1; sendMessage(); signalNum = 0;3.移动终端Zigbee模块程序设计Zigbee模块的通信我们采用的是串口UART0,对其的初始化代码如下: void uart0Init(void) SysCtlPeriEnable(SYSCTL_PERIPH_UART0); / 使能UART模块 SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); / 使能RX/TX所在的GPIO端口 GPIOPinTypeUART(GPIO_PORTA_BASE, / 配置RX/TX所在管脚为 GPIO_PIN_

21、0 | GPIO_PIN_1); / UART收发功能 UARTConfigSet(UART0_BASE, / 配置UART端口 38400, / 波特率:38400 UART_CONFIG_WLEN_8 | / 数据位:8 UART_CONFIG_STOP_ONE | / 停止位:1 UART_CONFIG_PAR_NONE); / 校验位:无 UARTEnable(UART0_BASE); / 使能UART端口4.矩阵键盘驱动程序 矩阵键盘我们采用线反转法读取键值。/8个引脚全部上拉电阻有效GPIOPadConfigSet(KEYBOARD_LIN_BASE,KEYBOARD_LIN_PI

22、N, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_OD_WPU);GPIOPadConfigSet(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_OD_WPU);GPIOPinTypeOutOD(KEYBOARD_LIN_BASE,KEYBOARD_LIN_PIN);/设置行线为输出GPIOPinTypeIn(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN); /设置列线为输入GPIOPinWrite(KEYBOARD_LIN_BASE,KEYBOARD_LIN_

23、PIN,0xF0); /行线输出为0000/使用指针操作GPIODR8R;p = (void *)(0x+0x510);*p=0xFF;p = (void *)(0x+0x508);*p = 0XFF;Delay(1*(TheSysClock/4000);dotemp1=GPIOPinRead(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN);/读取列线的值while(temp1 = 0x00);/8个引脚全部上拉电阻有效GPIOPadConfigSet(KEYBOARD_LIN_BASE,KEYBOARD_LIN_PIN, GPIO_STRENGTH_8MA,GPIO_

24、PIN_TYPE_OD_WPU)GPIOPadConfigSet(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_OD_WPU);GPIOPinTypeOutOD(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN); /设置列线为输出GPIOPinTypeIn(KEYBOARD_LIN_BASE,KEYBOARD_LIN_PIN); /设置行线为输入GPIOPinWrite(KEYBOARD_COL_BASE,KEYBOARD_COL_PIN,0x0F); /列线输出为0000/使用指针

25、操作GPIODR8R;p = (void *)(0x+0x510);*p=0xFF;p = (void *)(0x+0x508);*p = 0XFF;Delay(1*(TheSysClock/4000);dotemp2=GPIOPinRead(KEYBOARD_LIN_BASE,KEYBOARD_LIN_PIN);/读取行线的值while(temp2 = 0x00);temp=temp1|temp2; /行列值组合得到键盘的码值4 实验与测试由于资源的限制,试验中,本系统只配置了一个固定终端,一个移动终端,所以只能演示系统的基本功能。其完整的功能演示需要更多的固定终端和移动终端。4.1 测试设

26、备 1. PC机一台 2. LM3S811套件一套 3. XN-K01系列ID模块一块 4. USB口ID读卡器一个 5. Zigbee模块2个 6. 矩阵键盘一块4.2 接线与软硬件初始化 固定终端:A: 为PC机连接好ID读卡器; B: 为PC机连接好Zigbee模块,安装Zigbee底板的驱动程序。C: 安装SQL SERVER 2000数据库软件,并导入数据库文件。D: 安装录入软件。 移动终端A: 连接好矩阵键盘与GPIOD口17脚的连线。B: 连接好MCU与Zigbee模块。 C:连接好MCU与ID读卡模块 4.3 功能测试 本系统是为物流收发货提供的整套系统,所以,在功能测试时,

27、我们模拟物流收发货的过程,测试整个系统的功能。A. 测试固定终端的功能 理论上固定终端能实现ID读卡、与数据库通信、与移动终端通信。步骤:(1)物流公司接收货物,客户填单,前台客服人员将客户填好的货物信息录入软件中。(2)为该货物分配卡号,利用ID读卡模块读取卡号,卡号自动写入录入软件的订单号文本框中。(3)信息录入完毕后,点击提交按钮,打开数据库,查看数据库记录。(4)调出货物信息,选择部分货物,生成发货清单,发送给移动终端。实验结果与分析: 1. ID读卡后,卡号自动写入软件。【验证ID读卡器与软件通信正确】 ; 2. 点击提交按钮后,数据库中生成了和刚刚录入货物信息相同的货物记录。【验证软件和数据库的通信正确】 3. 与移动终端通信后,我们利用串口调试助手对移动终端中保存清单的数组内容进行输出,显示卡号和软件中选中的货物卡号一致。【验证固定终端向移动终端通信正确】B. 测试移动终端功能 理论上移动终端能实现:ID读卡、保存卡号(生成相应清单)、与固定终端通信、核对清单。 步骤: (1)物流发货,按发货按钮,移动终端读取卡号。 (2)按发送发货清单按钮,将发货清单传送给固定终端。 (3)复位移动终端,从固定终端接收发货清单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论