Board logo

标题: 基于S3C2440处理器Linux平台的物流配送系统设计(2) [打印本页]

作者: 我是MT    时间: 2015-10-2 19:00     标题: 基于S3C2440处理器Linux平台的物流配送系统设计(2)

for(int i=0;i
if(Data="$")//帧头,SectionID为逗号计数器
SeetionID=0;
if(Data==10)//帧尾
if(Data=",")//逗号计数
SectionIiD++;
else{
switch(SeotionID){
case1: //提取出时间
m_sTime+=Data;
break;
case2: //判断数据是否可信(GPS天线至少接收到3颗GPS卫星时为A,可信)
if(Data=="A")
GPSParam[m_nNumberl].m_bVaIid=true;
break;
case3: //提取出纬度
m_sPositionY+=Data;
break;
case5: //提取出经度
m_PositionX+=Data;
break;
case9://提取出日期
m_Date+二Data;
break;
default:
break;
}
}
}
RFID模块通过串口将信息传输至移动终端,信息传输流程如图5所示。当接收缓冲区内字节个数达到或者超过该值后就取出数据并对相应事件进行处理。程序设计的主要任务是:读出标签ID信息(读ID命令);向标签写入存放在数据库中的数据信息(写信息);读取标签中写入的数据信息,查询数据库以得到具体的产品信息(读信息);实时显示读标签信息的结果。
读ID代码:
void CMyDlg::OnBtn_ReadID() {
SendData("Read");
if(0==m_ctrlComm.GetOutBufferCount())
m_ctrlComm.SetRTHreshold(18): //读取标签ID所设的阈值
}
读信息代码:
void CMyDlg::OnBtn_ReadMessage(){
SendData ("ReadString(18,67)int(8*),int(90,4)");
if(0==m_ctrlComm.GetOutBufferCount())
m_ctrlComm.SetRTHreshold(40): //读取标签ID所设的阈值
}
2.4.3 移动终端S3C2440模块软件设计
采用模块化结构设计,根据不同功能分别进行编写和调试,等到各个模块都调试成功后,将各个模块连成整体,组成软件系统。
移动终端S3C2440模块完成的主要内容包括两部分:
① 完成从移动终端到远程控制中心的定位信息的上行传输。当远程控制中心要从移动终端获取定位信息时,可以发送命令给S3C2440。这时S3C2440便产生一个中断,并发送命令给各定位模块来获取定位信息,将定位信息进行处理后再通过GPRS模块传给远程控制中心;或者是移动终端由人员键盘控制产生中断,然后采集定位信息传送给远程控制中心。
② 接收控制中心到移动终端的下行传输的信息。控制中心可以将各种数据传送给终端设备。比如,控制中心通过GIS发现当前移动终端所选道路拥塞,则可以给移动终端发一条改变路线的建议信息,这样非常方便地实现了远程控制中心与移动终端的交互。
S3C2440上行至控制中心的软件设计主要流程
结语
本文以GPS定位数据为基础,GPRS网络作为承载网络,结合物流业发展实际需要,将物流配送过程数字化与信息化,实现了对物流配送系统的监控与管理。射频识别技术、定位技术、传感器技术以及无线通信技术在未来必将深入到物流业的各个方面。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0