yoyojacky 发表于 2016-8-2 00:20:00

【骑驴玩儿漂移-原创】树莓派爱上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的串口设备来进行数据读取就好。
在系统上甚至可以直接通过下面的命令读取出来:
sudo cat/dev/ttyUSB0 但是满屏的数据杂乱无章也是醉了,现在我要给大家一个关键,一个关键的操作!


你看到了么?一把通往成功的钥匙。哈哈
好了,我要变身Linux超级程序猿了。
前方高能,请做好准备迎接字符界面下的命令弹幕冲击。。。。
1. 我要更新我的系统,并且安装gpsd服务和gpsd-clients客户端组件,还有python-gps模块。
用一条命令完成它!
sudo apt-get update && sudo apt-get -y install gpsd gpsd-clients python-gps2.重新启动树莓派然后登陆后,执行下面的配置来进行管理gpsd服务,如果你够狠,直接编辑配置文件的话,我就给你点个赞!
sudo dpkg-reconfigure gpsd3. 启动gpsd的守护进程,可以通过如下命令进行:
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock其实之前需要用lsusb看看GPS被识别为什么设备了。这里我的树莓派识别出来的GPS设备在系统中显示为: /dev/ttyUSB0
4. 如果需要停止gpsd服务,可以用超级杀手来干掉它。哈哈
sudo killall gpsd
如果如前面我所说的,你是个技术高手,可以熟练使用vim.tiny编辑器编辑配置文件的话,可以编辑/etc/default/gpsd,改为如下配置即可:

然后通过systemctl管理进程的启动和关闭。更加人性化。哈哈
启用gpsd服务:
sudo systemctl enable gpsd.sock
启动gpsd服务:
sudo systemctl start gpsd.sock
停止gpsd服务:
sudo systemctlstop gpsd.sock
禁用gpsd服务开机自动加载:
sudo systemctl disable gpsd.sock然后你要做的就是去尝试获取gps的信息,可以用cgps -s 命令:
sudo cgps -s然后你会看到如下图:
这里的time就是时间戳了。
然后用latitude,Longitude,altitude。。。speed。。。
heading。。。status,这些信息就是我们需要的数据。
PS:
Latitude: 纬度
Longitude: 经度
Altitude:海拔高度
speed:   速度
Heading : 航向角??
那个Status 如果出现3D Fix 说明三维定位成功了(好像这么说的吧,具体GPS术语猛戳下面的链接去下载吧。
猛戳这里:


-------------------------------------------------------
下面是更简单的操作方法,也更坑爹。。。{:5_165:}
当然,cgps命令已经帮我们搞定了数据的排版,如果你想读取数据其实直接用sudo cat /dev/ttyUSB0也可以获取:


可以通过awk,grep等命令执行过滤和输出,然后得到你想要的结果。
下面是我的7寸屏幕卡在方向盘上的效果:


如果加上google earth,打上信标,就更加帅了,但是我不会。。。呵呵
所以,到这里,GPS数据就这么华丽丽的展现了。其实没有什么技术难度,大家赶紧去尝试做自己的GPS定位系统吧。
另外,我稍微嘚瑟一下,我的树莓派的时钟目前都是通过卫星校准的哦,是不是屌炸天了?
{:5_173:}




Rockets 发表于 2016-8-3 00:03:35

yoyojacky 发表于 2016-8-2 21:00
其实我也没有发多少树莓派的帖子,因为不知道从何说起,很多大牛都已经写好了。
我也一直想不到做个什么 ...

既然说打GPS了,那我就抛一个话题,GPS寻宝。
在一个地点,放上一些小礼物,然后把当地的gps给出,然后发布到网上,让其他人来找。找到的人拿走其中的一个礼物,加入自己的一个礼物,并拍照留念,发布到网上。
话说结合了AR就是pokemon go了。
貌似你可以做个怪物宝典……
那个大小,正好一个树莓派,一个摄像头和一个屏幕。
打印一个壳。
这感觉应该是个多地合作的项目啊。
http://cms-bucket.nosdn.127.net/catchpic/8/88/88EB77F076BA3A7D8281988793574047.jpg

yoyojacky 发表于 2016-8-3 14:28:19

Rockets 发表于 2016-8-3 00:03
既然说打GPS了,那我就抛一个话题,GPS寻宝。
在一个地点,放上一些小礼物,然后把当地的gps给出,然后发 ...

恩,这个有趣,就是UI那块需要好好设计啊。
外壳可以做成七龙珠的龙珠雷达的样子。

然后在公园里找地方埋好,活动的时候可以让大家去找。。
这个想法不错的。以前看到过ben hackshow上面有做过。。。
但是好像很多人一起的项目很难落实。。。

yoyojacky 发表于 2016-9-9 11:09:10

steven-guo 发表于 2016-8-26 15:08
干的漂亮,骑驴老师。不过放方向盘上看GPS数据,霸气!直接根据经纬度确定位置信息,哈哈哈哈。最近,我补 ...

找个pro mini 或者beatle? nano都可以,然后串口连GPS,加上5v的供电模块,再加上一个0.96的OLED屏幕,一段松紧带,哇~ 可穿戴GPS定位腰带诞生了。再3D打印个外壳。。。哗~颜值飚升有木有? 加油,期待你的作品咯。哈哈

yoyojacky 发表于 2016-8-2 00:20:45

我得自己占个楼,哈哈

hnyzcj 发表于 2016-8-2 06:51:08

顶起

luna 发表于 2016-8-2 11:49:34

能卡在方向盘好评~

源代码 发表于 2016-8-2 15:53:25

我的树莓派B2都丢在抽屉里2年了,看来要利用起来~~~{:5_136:}

yoyojacky 发表于 2016-8-2 16:22:02

hnyzcj 发表于 2016-8-2 06:51
顶起

恩,给力。

yoyojacky 发表于 2016-8-2 16:22:30

luna 发表于 2016-8-2 11:49
能卡在方向盘好评~

正好3D打印的外壳可以卡在方向盘。哈哈{:5_191:}

yoyojacky 发表于 2016-8-2 16:23:10

源代码 发表于 2016-8-2 15:53
我的树莓派B2都丢在抽屉里2年了,看来要利用起来~~~

来吧,让他复活吧!骚年,相信你能够将它的潜力发展出来,搞一个牛逼的应用。

hnyzcj 发表于 2016-8-2 16:23:26

yoyojacky 发表于 2016-8-2 16:22
正好3D打印的外壳可以卡在方向盘。哈哈

很帅气

yoyojacky 发表于 2016-8-2 16:27:05

hnyzcj 发表于 2016-8-2 16:23
很帅气

但是开车时候低头看会很危险,所以,决定不用屏幕的方式了,换成语音播报。
可以尝试用espeak尝试一下,我找时间试试。再更新帖子。

hnyzcj 发表于 2016-8-2 16:36:39

yoyojacky 发表于 2016-8-2 16:27
但是开车时候低头看会很危险,所以,决定不用屏幕的方式了,换成语音播报。
可以尝试用espeak尝试一下, ...

期待期待。

源代码 发表于 2016-8-2 20:04:30

yoyojacky 发表于 2016-8-2 16:23
来吧,让他复活吧!骚年,相信你能够将它的潜力发展出来,搞一个牛逼的应用。 ...

那也得好好学习一下你发的树莓派贴,哈哈哈{:5_161:}

yoyojacky 发表于 2016-8-2 21:00:04

源代码 发表于 2016-8-2 20:04
那也得好好学习一下你发的树莓派贴,哈哈哈

其实我也没有发多少树莓派的帖子,因为不知道从何说起,很多大牛都已经写好了。
我也一直想不到做个什么好玩儿的应用。。呵呵

dsweiliang 发表于 2016-8-3 09:54:36

手机导航会不会更好用呢

yoyojacky 发表于 2016-8-3 14:33:30

dsweiliang 发表于 2016-8-3 09:54
手机导航会不会更好用呢

当然了啊,手机导航更好啊,就是想做着玩儿。

visionsl 发表于 2016-8-8 14:10:29

收藏!
原来Linux下有直接读取的应用啊!

svw 发表于 2016-8-11 07:37:13

Rockets 发表于 2016-8-3 00:03
既然说打GPS了,那我就抛一个话题,GPS寻宝。
在一个地点,放上一些小礼物,然后把当地的gps给出,然后发 ...

这个好玩。

虽然在天朝,闲人捡到以为是个宝贝,很容易失踪。

steven-guo 发表于 2016-8-26 15:08:28

干的漂亮,骑驴老师。不过放方向盘上看GPS数据,霸气!直接根据经纬度确定位置信息,哈哈哈哈。最近,我补习下arduino课程,准备做一个GPS便携跑步设备,带着手机跑步太麻烦了,有GPS功能的手表又太贵了,只能自己做个便宜好用的便携设备

iooops 发表于 2016-8-31 19:41:53

哇 大神出经验帖了……
页: [1] 2
查看完整版本: 【骑驴玩儿漂移-原创】树莓派爱上GPS