SMS2Gps, 实现简单监控

        最近接了个小case,感觉蛮有意思的,需求也很简单,就是在一部手机上实现这么一个功能:别人(或者是设备)通过短信息把GPS定位信息按照某种格式发送到这部手机上,然后能根据这条定位短信生成标准的NMEA语句,然后写入虚拟串口。从而这部手机可以像安装了GPS一样,能从串口中读取NMEA数据,然后进行定位。

        这个程序虽然简单,却涉及了好几个关键技术:

        1、SMS段信息服务。

        现在基于SMS的应用已经很多了,在这里的应用也比较简单,就是要写一个后台程序,对短信息进行监控,如果发现有GPS信息输入,则进行拦截,然后进行处理。

        2、虚拟串口技术。

        在本次应用中,由于本身机器不带GPS设备,所以就必须模拟出GPS的工作环境,类似于要虚拟一个GPS硬件设备,向串口发送数据。在PC机上,我们通常的做法就是使用电缆将两个实际上存在的串口串联起来,比如把COM3和COM4串起来,然后把其中一个作为输入口,另一端则作为输出口。这样,就可以实现设备往串口写数据,程序从串口读数据的模拟。但在手机上做这样的操作显然不太现实。所以只能使用虚拟串口技术,实现两个串口的串联。

        下面我就简要介绍一下我做这个case的经历:有不妥的地方希望各位看官拍砖。

         

        当手机收到GPS短信后,短信监控模块会过滤,把符合要求的短信转入NMEA编码工具进行处理,然后写入内存映射文件。注意的是,短信监控模块和GPS模拟器是两个进程,他们之间的通信我采用了内存映射的方法。GPS模拟器感觉到有新的NMEA信息过来后,就将新的NMEA信息写入串口。如果没有新的GPS短信进来,则GPS模拟器将一直以最近的一次GPS信息为准,每隔一秒就向串口写一次数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值