【开源GPS追踪】 之 硬件开源

时间:2023-02-15 21:45:21

根据设定目标: 使用GPS 采集经纬度,然后通过GPRS模块/wifi 发送到服务器显示,WIFI不常有,所有就使用GPRS模块!

对于GPS模块,没有特殊要求,只要输出格式符合NMEA协议即可,为了后续编程方便,尽量使用输出波特率为9600 的模块。

我使用的是TTL 接口波特率9600 的sirf III,感觉还可以。

对于GPRS,我手头上有些有方的M590,凑合着用。

对于MCU,最熟悉的51,如果51 可以胜任就用51,目前实现的功能来说还是可以的。 如果增加其他功能可以使用STM32或者考虑低功耗用MPS430

实物连接图(都是用手上现成的模块用杜邦线连接起来的,用来做验证使用)

【开源GPS追踪】 之 硬件开源

====================================================================================

1 MCU 与 GPS 连接

GPS通过MCU 的串口0 与MCU连接,GPS可以通过这个接口把GPS 的数据全部送到MCU,MCU内部对GPS数据进行处理。

2 MCU 与GPRS连接

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追踪】 之 硬件开源

【开源GPS追踪】 之 硬件开源

定位感觉还行,偶尔会出现gps 飘逸。 程序用延时函数实现采集,目前基本50s 采集一次(如果GPS GPRS信号不好,采集间隔时间会延长)

**之前在另一篇文章里提到流量的问题,感觉一天0.3MB就够用了,但是实际上却比较费流量**

【开源GPS追踪】 之 硬件开源

我使用的是阿里通信的手机卡,这一周来累计使用了1.88MB流量,其中有一次连续工作10小时,走了约0.6M。与之前计算结果差异挺大,仔细分析,原因是因为之前计算值考虑了上传时花费的流量,没有考虑服务器收到数据也会给GPRS发送数据,而这一块的数据可能比上传数据要大,实际上用电脑模拟POST GET确实会收到很多数据,这个就不截图了。解决办法:GPRS发送完数据立马关掉TCP。 这个方法还没有实际测量。

============================================================================================

20160710 更新

用杜邦线连接毕竟不是那么美观,所以自己画了PCB。下面贴一下原理图和PCB截图,技术糙,多担待。

【开源GPS追踪】 之 硬件开源

【开源GPS追踪】 之 硬件开源

板子特点

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相连接

修改完成后已经在嘉立创上打样了。。。。下周见!

【开源GPS追踪】 之 硬件开源

在板子打样好之前,把原来的各个模块规整到一起,装到盒子里了,放到电动车里,感觉还不错。 上图

GPRS + MCU +电池

【开源GPS追踪】 之 硬件开源

GPS模块放到盒子上方,天线需要外露才能收到信号,铁壳会屏蔽信号

【开源GPS追踪】 之 硬件开源

铁盒外面GPS天线和GPRS天线都引出了(如果是塑料壳就不要这么麻烦了)

【开源GPS追踪】 之 硬件开源

放到电动车上出去走了一圈去趟超市

【开源GPS追踪】 之 硬件开源

20160724 更新

昨天PCB回来,焊接了两块进行了简单测试。

先上图

【开源GPS追踪】 之 硬件开源

【开源GPS追踪】 之 硬件开源

已经测试通过的选项

1 单片机下载程序OK

2 GPRS与单片机连接,通信正常

3 反接保护电路正常

4

问题:

1 单片机Enable 引脚没有连接

2 R12 应该放到bottom

3 电源芯片封装有点大

4 通过NPN+NMOS控制电源部分压降有1.2V,需要检查

【开源GPS追踪】 之 硬件开源的更多相关文章

  1. 【开源GPS追踪】 之 为何费力不讨好

    GPS追踪,在X宝上一搜一大堆,价格几十到几百层次不齐,为何还要自己开发? 1 对我来说,就是手头有这些硬件资源(GPRS GPS MCU)以及软件资源(VPS),算闲的蛋疼,其实不然,本人工作也很忙 ...

  2. 【开源GPS追踪】 之 手机端安卓版

    GPS追踪,后台是利用的是开源的Opengts,可以通过web方式浏览位置信息.这里介绍一款手机端软件go Tracker. 这款软件是在Google app 上找到的,目前还没有找到源码,用了几天有 ...

  3. 【开源GPS追踪】 之 服务器端opengts安装

    国内大多数GPS追踪/定位 平台都是基于opengts 二次开发的,opengts 是一款开源的gps 跟踪软件. 下面摘自百度百科: OpenGTS ™(“GPS跟踪系统”)是第一个可用的开源项目, ...

  4. 【开源GPS追踪】 之 服务器硬伤

    前面就说过了,目前GPS 追踪的原理都是通过GPRS将数据发送到一个服务器上,如果回看数据就从服务器上去数据,服务器在整个系统中具有举足轻重的地位. 如果服务器坏了,整个系统几千台设备可能也就无法工作 ...

  5. [转]开源中国的 IT 公司开源软件整理计划介绍

    [转]开源中国的 IT 公司开源软件整理计划介绍 http://www.oschina.net/news/61534/oschina-opensource-collection-plan-for-it ...

  6. 以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区

    以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区 以正确的方式开源 Python 项目 英文原文:Open Sourcing a Python Project the Right ...

  7. dnc开源梦之队2018 开源项目精选集

    dnc开源梦之队2018 dnc开源项目选择标准 dnc = .NET Core.dotnet core 1.支持dnc 2.x,Github star数量100以上,最近2月活跃更新 2.轻量级.示 ...

  8. 2015 年度新增开源软件排名 TOP 100 - 开源中国社区

    2015 年度新增开源软件排名 TOP 100 - 开源中国社区 39.ABTestingGateway http://www.oschina.net/news/69808/2015-annual-r ...

  9. 开源中国的 IT 公司开源软件整理计划介绍

    直击现场 <HTML开发MacOSApp教程>  http://pan.baidu.com/s/1jG1Q58M 开源中国的 IT 公司开源软件整理计划介绍 oschina 发布于: 20 ...

随机推荐

  1. 微信应用号(小程序)开发IDE配置(第一篇)

    2016年9月22日凌晨,微信宣布“小程序”问世,当然只是开始内测了,微信公众平台对200个服务号发送了小程序内测邀请.那么什么是“小程序”呢,来看微信之父怎么说 看完之后,相信大家大概都有些明白了吧 ...

  2. 小菜学习Winform(五)窗体间传递数据

    前言 做项目的时候,winfrom因为没有B/S的缓存机制,窗体间传递数据没有B/S页面传递数据那么方便,今天我们就说下winfrom中窗体传值的几种方式. 共有字段传递 共有字段传递实现起来很方便, ...

  3. &dollar;&lpar;function&rpar; ready onload 等区别

    新手接触javascript.jquery的时候不可避免的要接触题目所标识的相关内容,反复看过几次一到用的时候总是不踏实,写文以记之. 符号“$”是jquery对象(个人这样理解,拥有函数的用法).接 ...

  4. 不要轻易delete void&ast;指针,这样会隐藏比较多的错误。

    #include<iostream> using namespace std; class Object{ void* data; const int size; const char i ...

  5. iOS设备类型

    通常App都会采集用户的设备信息,比如设备类型.网络类型.内存大小等,而拿到的数据比如:iPhone 8,1是什么意思?代表iOS 8.1吗,非也.这里放二个网站大家可以上去查一查,在统计分析的系统里 ...

  6. 【读书笔记】iOS-Xcode-查找特殊字符的方法

    如图所示,为搜索图框,然后,点击放大镜图标------->Insert Pattern---->即可看到特殊字符----->选择特殊字符进行插入. 参考资料:<iOS开发进阶& ...

  7. java获取天气预报的信息

    运行效果: 主要功能: 1,jsp页面输入省份和城市 根据条件获取当地的天气信息 2,java代码 利用第三方的省份和城市的路径地址 本工程主要实现java获取天气预报的信息步骤1,创建工程weath ...

  8. 教你一步一步部署&period;net免费空间OpenShift系列之四------绑定域名、使用CDN加速

    很抱歉这几天没有时间,有人问我怎么绑定域名的问题也没有答复,下面进入正题,惊闻ASP.Net要开源了,难道.Net春天要来了?不废话,上回书说,部署完毕ASP.Net网站后,直接访问不能访问(嗯,众所 ...

  9. Go 初体验 - 并发与锁&period;2 - sync&period;WaitGroup

    sync包里的WaitGroup主要用于协程同步 计数主协程创建的子线程 WaitGoup.Add(i) 调用清除标记方法WaitGroup.Done() 使用WaitGroup.Wait()来阻塞, ...

  10. gradle执行test任务报错

    起初报错内容: > Task :compileJava FAILEDC:\Users\x\eclipse-workspace\old_code\src\main\java\CookieDemo. ...