如今,快递已经融入了人们的生活,收快递有时候也变成了没空的托词。国内快递品牌繁多,服务水平参差不齐,在给我们消费者带来更低廉价格的同时,也带来了不少的烦恼。快件丢失、损坏变得司空见惯,每次买东西都会习惯性地提醒店家“麻烦包装好,如今快递不靠谱”。
每次拿到快递,看到变形的包装,总会想象它到底经受了怎样了蹂躏。那我们就把自己“打包”起来,作一回快递,感受一下快递一路经受的“风风雨雨”吧!
由于我们人太大,还不经摔,所以打包的当然不是我们自己,我们设计了一个快递追踪器,包含GPS模块、加速度模块等,对快递的路线以及快递运送过程中的磕磕碰碰进行记录。这个追踪器由GPS接收模块、Flash芯片、加速度模块、51开发板以及电池盒组成,如图17.1所示。下面我们仔细了解一下这个追踪器。
图17.1 快递追踪器
各模块介绍
1. GPS 接收模块
这里使用的是一块旧的GPS接收模块,如图17.2所示,市场价在30元左右,用于接收GPS数据。接收模块原本使用的是RJ-11水晶头,为了方便和开发板上的标准9针串口连接,我自己制作了一个接头。焊接好后,把插头放进两个饮料瓶盖(经过美工刀处理后)里,并挤入热熔胶进行填充。由于九针串口没有VCC,所以模块供电就通过外接的一根面包板线完成。完工后的自制插头如图17.3所示。
图17.2 GPS 接收模块
图17.3 自制串口插头
GPS数据中包含经度、纬度信息,时间信息以及GPS卫星的有关信息。其中推荐定位信息(GPRMC)的格式如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC时间,hhmmss(时分秒)格式。
<2> 定位状态,A=有效定位,V=无效定位。
<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)。
<4> 纬度半球,N=北半球,S=南半球。
<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)。
<6> 经度半球,E=东经,W=西经。
<7> 地面速率(000.0~999.9节,前面的0也将被传输)。
<8> 地面航向(000.0°~359.9°,以正北为参考基准,前面的0也将被传输)。
<9> UTC日期,ddmmyy(日月年)格式。
<10>磁偏角(000.0°~180.0°,前面的0也将被传输)。
<11>磁偏角方向,E=东,W=西。
<12>模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)。
例如“$GPRMC,024519.214,A,3315.7712,N,11954.9589,E,0.00,,240812,,*1E”对应翻译后可以得出当前定位信息为北纬33°15.7712′、东经119°54.9589′(不知道是不是谷歌地图的误差,这个坐标离我家实际位置有500m左右的误差),日期为2012年8月24日。
另外,从其他语句中可看出当前可视卫星数为7颗,其微信号分别为03、87、277、29、19、55、206,可见当前信号还是不错的。想了解更多关于GPS数据的内容请自行查找,这里不多介绍。
2. 加速度模块
MMA7361是一款低成本微型电容式加速度传感器,可用于测量加速度及角度,如图17.4和图17.5所示。借助这一模块,可以对快件在运送过程中所受的碰撞以及摆放姿态进行记录。
图17.4 MMA7361 模块
图17.5 转接板(左)及加速度模块(右)
通过单片机AD转换,量化x、y、z三轴电压并进行计算,便可获得加速度以及角度信息。另外,由于这一模块的量程较为有限,从1m高跌落产生的加速度就会超出量程,我们记录超出量程的次数,也就可以计数快件运送过程中发生较大碰撞的次数。
3. Flash 芯片
图17.6 焊接在转接板上的W25Q32
W25Q32为华邦(Winband)开发的一款基于SPI的闪存芯片,如图17.6所示。我们使用的单片机为STC12C5A60S2,不支持SPI接口,需要通过I/O口模拟SPI进行数据读写。另外W25Q32的工作电压为2.7~3.6V,单片机使用5V供电,要注意电压的不同。我们通过加速度模块上自带的5V转3.3V电路为W25Q32芯片供电。W25Q32的其他引脚可与单片机直接连接,数据读写不会受电压的影响。具体引脚定义及读写时序请参考相关数据手册。
4. 51 单片机开发板
XQ_L2A 51是一款很常见的51单片机开发板,如图17.7所示,价格也很低廉。我们使用板载的12864液晶屏插口作为模块接口,连接单片机4个P1引脚,正好用于加速度模块的AD转换。其他引脚连接P0口,用于模拟Flash芯片的SPI接口。
图17.7 XQ_L2A 51 单片机开发板
5. 自制连接板
为了方便连接,我们专门设计制作了一块连接板,如图17.8所示。其正面是加速度模块的连接座,背面为W25Q32贴片位置。
图17.8 转接板(正面、ARES 图纸)
模块装箱
开发板、电池盒、GPS接收模块都通过双面胶粘贴在包装内,固定后包裹上保护膜,如图17.9所示。包装内还放有污损比对卡以及一张记录卡,用于记录快件的一些信息,如图17.10所示。外包装上贴有3个测试标签,用于检查外观污损情况,如图17.11所示。
图17.9 开发板、电池盒、GPS 接收模块都通过双面胶粘贴在包装内
图17.10 包装内还放有污损比对卡以及一张记录卡
图17.11 包装外部
数据提取与处理
1. 数据提取
由于开发板只有一个串口,所以提取数据时必须拔去GPS模块,接上USB转串口模块。为了区分数据提取和数据采集这两种工作模式,我们在编写程序时定义了一个按键用于区分这两个模式。单片机上电时,会自动检测这个按键是否被按下,如果被按下,则打开串口等待数据读取指令。如果未被按下,则进入数据采集模式。
进入读取模式后,将模块连接电脑,打开串口助手,设置波特率后,发送“#READ”指令,单片机会自动从头读取Flsah芯片中的数据,并通过串口发送给计算机,如图17.12所示。另外我们在程序中写入了“#CLEARALL”指令用于芯片清空。
图17.12 计算机通过串口收到的数据
2. 数据处理
串口所收到的原始数据是单片机将各模块所收到的信息进行简单处理后存储到Flash芯片的数据。格式定义如下:
#*GPRMC,024518.214,A,3315.7653,N,11954.9529,E,240812*10,0,1*10&
#:开始标记
*:段落标签
GPRMC:GPS数据标签
024518.214:时间,2点45分18.214秒(UTC时间)
A:定位标记,A=有效定位,V=无效定位
3315.7653:33°15.7653′
N:北半球
11954.9529:119°54.9529′
E:东半球
240812:2012年8月24日
10:x轴瞬时读数
0:y轴瞬时读数
1:z轴瞬时读数
10:加速度取模值
&:结束标记
后期处理
我们总共选取了5家快递公司往返深圳与恩平之间寄送这个快递追踪器。通过保存在Flash芯片中的数据,我们对快递在运送过程中经历的“坎坷”有了一些了解。表17.1是我们整理后的结果,大家可以看看价格和服务是否匹配。(由于我们进行实验的次数较少,不具有普遍性,所以我们未公布快递公司的具体名称,请谅解。)
注:
(1)取件员着装一栏标为“不取件”是由于不上门取件所以无法填写。
(2)超量程记录是指加速度模块超出量程的次数,即有较大碰撞的次数。数据丢失是由于设备损坏而引起数据丢失。
(3)污损标签是贴在包装上的白色贴纸,用于衡量外包装污染情况。数字是与标准色卡比对的结果。
(4)GPS模块在室内和车厢内都无法定位,收集到的数据大部分都是在中转站的数据。但是由于无相关测绘软件,所以数据无太大实用价值,因而没有公布。
(5)结果存在偶然性,请勿对号入座。
立即咨询: 13716188458 / 18588225959,助您抢占市场先机。项目经理在线