根据设定目标: 使用GPS 采集经纬度,而后经过GPRS模块/wifi 发送到服务器显示,WIFI不常有,全部就使用GPRS模块!web
对于GPS模块,没有特殊要求,只要输出格式符合NMEA协议便可,为了后续编程方便,尽可能使用输出波特率为9600 的模块。编程
我使用的是TTL 接口波特率9600 的sirf III,感受还能够。服务器
对于GPRS,我手头上有些有方的M590,凑合着用。 函数
对于MCU,最熟悉的51,若是51 能够胜任就用51,目前实现的功能来讲仍是能够的。 若是增长其余功能可使用STM32或者考虑低功耗用MPS430测试
实物链接图(都是用手上现成的模块用杜邦线链接起来的,用来作验证使用)设计
====================================================================================3d
1 MCU 与 GPS 链接调试
GPS经过MCU 的串口0 与MCU链接,GPS能够经过这个接口把GPS 的数据所有送到MCU,MCU内部对GPS数据进行处理。code
2 MCU 与GPRS链接blog
GPRS经过MCU的串口与MCU链接。 MCU经过发送命令控制GPRS 上电/断电、TCP 链接以及 数据发送。
考虑到节能低功耗要求,GPS数据每隔必定时间发送到服务器,按照需求能够修改code 控制这个间隔。 在发送 完数据后,GPRS能够切断电源,等到下次GPS 数据ready的时候再上电(GPRS 工做的时候电流约100mA 左右,GPS+MCU 工做电流约50mA)。若是间隔较大的应用中,必定要这样作,节能很是明显。
若是对功耗要求很是苛刻的地方,选用MPS430 MCU,GPS选用带有热启动的模块,增长GPS 电源控制电路,控制GPS工做状况,进一步减小电能损耗。
*****************************************************************************************************
为了实现GPRS的启动、断电,结合M590 设计手册,可使用带Enable 的LOD。 我找到的这个模块就有,只是Enable pin 和VCC pin 短接在一块儿了,只要VCC供电,M590就上电了,而我须要的是经过一个pin 让MCU控制供电,因此修改电路,把Enable pin layout 强行"切开"而后连上。最后的效果以下图:
这样,VCC 供电,若是Enable pin 为低电平,M590 也是吃不到电的,经过Enable pin 和 M590 的ON pin 两个控制M590 on\off.(这个具体时序须要参见M590的设计手册,在code 中会有体现。)
整体硬件连好,就是这个样子,由于是几个模块堆叠起来的经过杜邦线链接起来,看起来比较乱,可是测试了几下,感受用于定位追踪仍是棒棒的,毕竟成本低廉。 等一些完善好了,打算作一块板子,把GPRS 和 MCU作到一块儿,可是这个须要后面有空才能搞。
目前仍是持续验证完善程序,避免没必要要的bug出现,目前是能用便可!
==========================================================================
web 端定位效果图
定位感受还行,偶尔会出现gps 飘逸。 程序用延时函数实现采集,目前基本50s 采集一次(若是GPS GPRS信号很差,采集间隔时间会延长)
**以前在另外一篇文章里提到流量的问题,感受一天0.3MB就够用了,可是实际上却比较费流量**
我使用的是阿里通讯的手机卡,这一周来累计使用了1.88MB流量,其中有一次连续工做10小时,走了约0.6M。与以前计算结果差别挺大,仔细分析,缘由是由于以前计算值考虑了上传时花费的流量,没有考虑服务器收到数据也会给GPRS发送数据,而这一块的数据可能比上传数据要大,实际上用电脑模拟POST GET确实会收到不少数据,这个就不截图了。解决办法:GPRS发送完数据立马关掉TCP。 这个方法尚未实际测量。
============================================================================================
20160710 更新
用杜邦线链接毕竟不是那么美观,因此本身画了PCB。下面贴一下原理图和PCB截图,技术糙,多担待。
板子特色
1 M590 模块两种供电模式
由于为了实现使用MCU控制M590 开关,电路须要稍微特殊设置,方案1 使用现成电源芯片spx29300,电压稳定,成本高。 方案2 使用三极管+MOSFET 组合方式,电源电压与供电电压一致,成本低。
2 增长232 接口
由于我这里有一些GPS是232 输出的,到时能够直接使用
这些特色基本都是备份或者重复的功能,因此板子看着东西挺多,其实若是定型,元器件会进一步减小。
PCB 的尺寸设计可在TB上找到一款塑料盒子,争取把模块与锂电池同时放进去。
预计一周以内打样,半个月左右会焊接调试完毕!愿一切顺利!
20160716 更新
这周断断续续review了PCB,发现主要问题有几个
1 NMOS NPN 原理图和PCB库的引脚不能一一对应,根据datasheet 直接在PCB修改net从新布线
2 卡槽直接复制了以前有方V1.0版本,卡槽引脚和PCB也是不能一一对应,直接修改nat 从新布线。
3 M590 模块具备低功耗选项,参考M590数据手册,直接在PCB上把DRT引脚与MCU相链接
修改完成后已经在嘉立创上打样了。。。。下周见!
在板子打样好以前,把原来的各个模块规整到一块儿,装到盒子里了,放到电动车里,感受还不错。 上图
GPRS + MCU +电池
GPS模块放到盒子上方,天线须要外露才能收到信号,铁壳会屏蔽信号
铁盒外面GPS天线和GPRS天线都引出了(若是是塑料壳就不要这么麻烦了)
放到电动车上出去走了一圈去趟超市
20160724 更新
昨天PCB回来,焊接了两块进行了简单测试。
先上图
已经测试经过的选项
1 单片机下载程序OK
2 GPRS与单片机链接,通讯正常
3 反接保护电路正常
4
问题:
1 单片机Enable 引脚没有链接
2 R12 应该放到bottom
3 电源芯片封装有点大
4 经过NPN+NMOS控制电源部分压降有1.2V,须要检查