21083| 28
|
【骑驴玩儿漂移-原创】树莓派爱上GPS |
脑洞大赛告一段落了,之前做了一些GPS的测试,今天整理图片的时候突然想到,何不发到论坛上造福大家呢?所以夜里爬起来开始码字,很久没有这样了,觉得好特别,听着音乐,喝着绿茶,吹着空调,就差葛优躺了。。。 话说为何我要写GPS的内容?因为看到论坛上lisper写了GPS数据展现在OLED上,但是没有写教程,正好,我就把我之前整理的笔记拿来给大家分享一下吧。 这个项目需要用的设备: +--------------------------------------------------------------------------------------------------------------------+ | 树莓派 x 1 (我这里用的是Raspberry Pi 3 B型, 简称3B,树莓派后面文章中就简称为Pi了。)| | USB-GPS模块 x 1 | | USB转microUSB 线缆 x 1 | | GPS 天线 x 1 | | 7 寸USB触摸屏支持HDMI | | HDMI 电缆 x 1 | | RPI 移动电源模块 x 1 | +--------------------------------------------------------------------------------------------------------------------+ 很多朋友可能会问:什么是树莓派啊?呃, 这个。。。百度一下吧。 有人会跳出来说: Arduino 不是更好,为何要用树莓派? 这个我也不做回答了哦,因为我会linux所以选择树莓派,对我来说更加方便(呵呵) 好了,简单的教程就要来了。 来之前看看GPS模块到底什么样子哦? 是不是很小? 接上树莓派就这个样子,我没有拍摄GPS加上GPS天线的状态,天线很给力的 喏,天线就是这样的,看上去很low,但是加上它,你就可以把GPS模块留在室内了,让天线去找卫星吧。 好了,组装非常简单,基本上就是拧紧螺丝,插紧USB插头即可。 然后你需要做的就是到树莓派官方www.raspberryPi.org 去下载最新的安装镜像,然后烧录到TF卡上。(如何烧录请自行百度) 当这些都准备好了,就启动你的树莓派吧。 哦,对了,忘记介绍pi的移动电源模块了。 上图: 就是没有正面的照片了。。大家凑合看看吧。接驳就不说了,关键看配置方法。 我之前看了google的一篇帖子说是要用很多步骤才可以完成GPS的操作。。。 我的内心是崩溃的,实际上。。。。。 你要知道关键是做什么操作,一般情况下,GPS都是用串口工作的,也就是你就当是一个usb的串口设备来进行数据读取就好。 在系统上甚至可以直接通过下面的命令读取出来: 但是满屏的数据杂乱无章也是醉了,现在我要给大家一个关键,一个关键的操作!你看到了么?一把通往成功的钥匙。哈哈 好了,我要变身Linux超级程序猿了。 前方高能,请做好准备迎接字符界面下的命令弹幕冲击。。。。 1. 我要更新我的系统,并且安装gpsd服务和gpsd-clients客户端组件,还有python-gps模块。 用一条命令完成它! 2.重新启动树莓派然后登陆后,执行下面的配置来进行管理gpsd服务,如果你够狠,直接编辑配置文件的话,我就给你点个赞! 3. 启动gpsd的守护进程,可以通过如下命令进行: 其实之前需要用lsusb看看GPS被识别为什么设备了。这里我的树莓派识别出来的GPS设备在系统中显示为: /dev/ttyUSB0 4. 如果需要停止gpsd服务,可以用超级杀手来干掉它。哈哈
如果如前面我所说的,你是个技术高手,可以熟练使用vim.tiny编辑器编辑配置文件的话,可以编辑/etc/default/gpsd,改为如下配置即可: 然后通过systemctl管理进程的启动和关闭。更加人性化。哈哈 启用gpsd服务:
启动gpsd服务:
停止gpsd服务:
禁用gpsd服务开机自动加载: 然后你要做的就是去尝试获取gps的信息,可以用cgps -s 命令: 然后你会看到如下图:这里的time就是时间戳了。 然后用latitude,Longitude,altitude。。。speed。。。 heading。。。status,这些信息就是我们需要的数据。 PS: Latitude: 纬度 Longitude: 经度 Altitude: 海拔高度 speed: 速度 Heading : 航向角?? 那个Status 如果出现3D Fix 说明三维定位成功了(好像这么说的吧,具体GPS术语猛戳下面的链接去下载吧。 猛戳这里: GPS专业术语缩写.wps.zip ------------------------------------------------------- 下面是更简单的操作方法,也更坑爹。。。 当然,cgps命令已经帮我们搞定了数据的排版,如果你想读取数据其实直接用sudo cat /dev/ttyUSB0也可以获取: 可以通过awk,grep等命令执行过滤和输出,然后得到你想要的结果。 下面是我的7寸屏幕卡在方向盘上的效果: 如果加上google earth,打上信标,就更加帅了,但是我不会。。。呵呵 所以,到这里,GPS数据就这么华丽丽的展现了。其实没有什么技术难度,大家赶紧去尝试做自己的GPS定位系统吧。 另外,我稍微嘚瑟一下,我的树莓派的时钟目前都是通过卫星校准的哦,是不是屌炸天了? |
yoyojacky 发表于 2016-8-2 21:00 既然说打GPS了,那我就抛一个话题,GPS寻宝。 在一个地点,放上一些小礼物,然后把当地的gps给出,然后发布到网上,让其他人来找。找到的人拿走其中的一个礼物,加入自己的一个礼物,并拍照留念,发布到网上。 话说结合了AR就是pokemon go了。 貌似你可以做个怪物宝典…… 那个大小,正好一个树莓派,一个摄像头和一个屏幕。 打印一个壳。 这感觉应该是个多地合作的项目啊。 |
干的漂亮,骑驴老师。不过放方向盘上看GPS数据,霸气!直接根据经纬度确定位置信息,哈哈哈哈。最近,我补习下arduino课程,准备做一个GPS便携跑步设备,带着手机跑步太麻烦了,有GPS功能的手表又太贵了,只能自己做个便宜好用的便携设备 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed