本帖最后由 PokeBox 于 2016-9-13 14:13 编辑
之前弄过一个QT4的指南针,之后我又在此基础上修改做了个GPS【当时发帖好像我也说了要弄个GPS的】。不过前两天出了点小意外,重新烧写香蕉派的系统时忘记备份,因为这个程序我是在香蕉派上弄的,毕竟香蕉派速度快嘛……所以呢,程序源码也一起被擦掉了……只剩可执行程序在树莓派上……为了防止更悲剧的事情发生我决定发帖做备份,留下这最后的种子~~23333
先来点图……
这是树莓派,最上面是我自己用洞洞板制作的指南针模块和GPS模块的板子,实际上只是为了固定那两个模块而已,这个程序用了2个串口,一个是树莓派自身的串口/dev/ttyAMA0,这个是读取指南针模块时用的双向通讯,另一个是USB串口/dev/ttyUSB0,这个是用来读取GPS模块数据的,只用了RX,用来接收GPS模块数据。 同时因为我这个主要是用在自行车上,所以在板子上加了LED灯用于晚上骑车照明。
这是最初版本的运行图,可以看到这货能实时更新时间,可以获取当前行驶速度,可以指明方向,可以显示经纬度,等等……乃是有车一族的出门必备装备~
这个时间是UTC时间,没有转换到+8的中国时区,需要转的话可以自己修改gpsawk.sh脚本,因为这个程序的GPS数据是在接收到后传递给这个脚本进行处理然后再返回给程序的,至于为什么要这样做,因为C++我不太会……文本处理什么的我还是比较熟悉bash,所以就传递给bash处理了……这样修改也方便,该脚本就好了,不用再修改程序然后编译……
这是最终版本的效果图,添加了18B20温度显示,以及那个时速按钮的自定义功能按键,这里默认我是写的拍照,按一下时速按钮进行后台拍照,照片直接存储在/home/pokebox/camera/gpstake里。要修改的话直接修改gpsawk.sh脚本即可…… 至于这个脚本,需要放在/home/pi/gpsawk.sh这里,不然无法运行……你可以用ln命令链接到那里,gps程序随便放在哪都可以。 以及在实际测试中发现有点小小的问题,就是那个粉色的航向指针没法正常工作,不知道是哪里出了问题,反正现在源码也木有了,要弄只能重写…… 下面是程序在开发时的各种照片截图……
这是开发时的截图……
嗯……都是自己做的~
开发环境…………TAT脏乱差的桌面23333
下面我来简单介绍一下这个程序的功能吧。
首先,程序运行后会出现主界面【废话】,可以点击菜单栏上的窗口选择全屏、最大化窗口,然后也能点击还原弹回原来的样子…… 启动程序后,在主界面有个最大的仪表盘【如上图的橙色框内】,那个是速度表,模拟汽车的车速表……实际速度是通过GPS获取的,然后在下面的输入框显示出来,单位是KM/h。 然后,右边有2个仪表盘,蓝色指针的是指南针【白色框的】,指南针的更新速度可以通过菜单来选择更新速度,最上面的同步GPS就是和gps一起更新【也就是1秒更新一次】。粉色是当前航向【暂时没用】,下面的那个度也是当前航向的角度,也是暂时没用…… 再是上面,显示00:00:00那的【图里的红框】是GPS时间,当GPS成功连接卫星后这里会显示时间,时区是UTC+0的,要转换到+8就自己在gpsawk.sh脚本里计算吧~ 然后旁边的是天线高度,也可以看作是当前海拔高度,当然这个变化很大,估计是因为卫星一直在运行忽高忽低的……然后最旁边是当前GPS卫星连接个数,最大为12,实测连接5颗卫星就可以定位了,3颗卫星即可授时【就是时间显示框实时显示时间】 然后速度表旁边有2个框,最上面的是18B20的温度显示,这个也是通过脚本传递的数据,程序每15秒更新一次数据。需要注意的是脚本里写的18B20数据获取的地址是我的18B20的设备地址,你要自己修改为你的。至于什么意思就参考我曾经发过的帖子树莓派获取18B20温度数据吧。第二个框没用。 然后是下面,那个时速按钮,实际上是个自定义按钮,按下后会传递take参数给脚本,脚本通过获取这个参数来执行对应的操作,你可以自己写成其他的功能,比如关机或者其他什么的,这里我写的脚本是通过树莓派的raspistill命令拍照,然后保存……
最下面是经纬度的显示,这个大家都知道是什么了…… 至于那个菜单的各种项目我就不多说了,大家自己探索吧…… 最后还要说明一下,那个脚本,那个脚本可以自动记录有效GPS数据到/mnt/mmc/gps/gps.log文件里,这个文件就是你的航迹,你可以在骑车的时候使用这个程序记录下你的行驶轨迹,回来后把这个文件导出到电脑上,用谷歌地球查看你的航迹~
就像这样……
这才是这个程序最终的目的……今天去了哪里,在地图上看一目了然~
这个程序可以在树莓派上运行,也可以在香蕉派上运行【毕竟是香蕉派上开发的的怎么能无法运行~而且效率更高,因为香蕉派有很多个串口,甚至可以不需要USB串口的,而树莓派只有1个串口……所以香蕉派是最佳的选择……】
pokebox_gps.zip
(37.69 KB, 下载次数: 6, 售价: 2 与非币)
|