树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(1)

悠念树莓派

今天来个大个儿的东西!GPS模块在树莓派上的应用!

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(2)

GPS 模块 NEO-6M-0-001芯片

硬件准备:

Raspberry Pi 2 model B

树莓派GPIO接口示意图

GPIO是General Purpose Input Output的缩写,字面意思很好理解,就是通用输入输出接口,也有叫总线扩展器的,采用工业标准I2C、SPI等接口简化了I/O口的扩展。就以树莓派为例,40Pin便集成了1wire,PWM,I2c,I2s/PCM和UART这些主流的接口,并且预留了足够的空闲针来支持其他传感器的连接,对比1代树莓派只有26Pin的GPIO来说,2代的扩展性可见一斑;如果搭配GPIO扩展板,还可以将GPIO接口向外延伸,比如小编就购买了一拖三的GPIO扩展(但小编发现买亏了,因为根本用不上,插上以后只是当成了GPIO的参考板使用了,因为小编根本就用不上那么多的GPIO);

那么现在我们就连接GPS模块吧!

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(3)

GPS与树莓派UART接口连接示意图

小编购买的是串口的GPS模块,总共5Pin,分别是VCC,GND,TXD,RXD和PPS,对应连接树莓派上的UART接口即可,这里小编要说的是,VCC一定要接5V上,网上有些文档说可以接3V3,的,但这是取决于你所购买的GPS模块功耗上的,比如小编的GPS模块接3V3就有供电不足的现象!另外要强调一个问题,你所购买的所有传感器都是角标是什么就连接GPIO上什么针,但是URAT接口是个例外,就是传感器上的TXD接口一定接树莓派上的RXD,传感器上的RXD接口一定接树莓派的TXD;包括串口转USB的块进行转接时也要这样接,切记切记!

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(4)

树莓派与GPS模块连接

这里小编补充一点,GPIO到底能不能热插拔,有说能的!但是从上大学开始就一直有条红线划在哪,就是计算机上的设备不能带电插拔!嗯,好像热插拔和带电插拔概念不太一样!但是小编还是建议大家,在对GPIO进行物理操作的时候还是要断电处理,以免悲剧吧!

加电点亮树莓派,开始配置!

首先说一下UART接口;因为树莓派采用的是SSH协议进行调试的,如果需要UART协议与其他串口硬件进行通讯的话就要简单修改一下配置文档,首先进入根目录下的boot目录,编辑cmdline.txt文件;用“#”注释掉原有的指令,将新指令添加到下方(这里小编使用的还是注释法,原因是如果需要原来的指令只需要去掉“#”注释符就行了,但对于Linux下文本操作不太习惯的同学,小编建议你还是先备份一下文件在进行操作)

#新的配置指令

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(5)

修改cmdlist.txt

可以看到其实就是删除掉原有指令的部分内容;更改好后重启树莓派!

然后我们就需要安装一个串口工具来与GPS模块进行通讯了!Raspbian是基于Debian的,所以可以使用Minicom工具,这个工具不是预装的,需要手动安装!在这里希望大家温习一下我上一篇文章《有事没事更个新!保持Raspbian系统的新鲜度》,因为在安装新程序时,新程序都需要Raspbian系统里的库文件,框架等保持在最新版本下,如果不进行更新,会导致新安装的程序不能正常运行;所以,我的习惯是每次点亮树莓派以后第一件事就是做up操作;这是小编的习惯,好坏不论,但总不会在进行开发时带来一些不便!这里和大家一起温习一下命令:

sudo apt-get update && sudo apt-get -y upgrade

更新完成后,执行安装Minicom

sudo apt-get install minicom

Minicom这个工具是一个串口通讯软件,有点类似于Windows操作系统下的“超级终端”,对了,就是那个小电话图标的软件,经常玩一些串口设备的同学对于“超级终端”一定不会陌生的!

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(6)

安装Minicom过程

安装完成后,就可以用下面的命令与GPS模块进行通讯了!

minicom -b 9600 -o -D /dev/ttyAMA0

解释一下这条命令:

minicom 调用Minicom工具

-b 9600 设置波特率为9600

-o 不初始化Modem且不锁定文件

-D /dev/ttyAMA0 接口设定(/dev是接口目录)

如果设置正确的话,就会噼里啪啦的跳出下图这样的数据:

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(7)

Minicom显示界面

很多人看了这个界面首先都是激动,为嘛呢!因为成功啦,有数据交换啦!但是瞬间就又蒙圈了,这都是啥数据啊,而且都是一样的啊?的确让人意外,也有人怀疑是自己的模块坏掉了!其实都不是,原因很简单,是你的GPS模块根本就没有接收到卫星信号!因为你所处的环境可能遮蔽了卫星信号,比如你在市内,或者比较封闭的空间!这个时候就需要一个神器了那就是.......

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(8)

SMA GPS天线

小编的GPS预留的是IPX接口,所以就需要一个IPX的转接头了!

树莓派计算模块扩展板有什么用(小样让你躲GPS让你无处躲藏)(9)

安装天线后的GPS模块工作效果

添加天线后,在室内或密闭空间内也可以稳定的收到GPS信号了!因为这个GPS信息是小编家里的的坐标,只好屏蔽掉了!但是应该不会影响大家理解,在上图中可以看到,青色框中就是经纬度信息了,N代表了北纬,E代表东京,这样就确定了你在地球上的位置,红色框内是时间,小编没有调整时区,另外要说的就是,因为树莓派上本身没有时钟模块,只会给大家一个大概的时间,如果需要准确计时的话需要单独购买RTC时钟模块,至于说GPS授时这块需要结合PPS针脚,但小编努力了很长时间也没成功,如果哪位仁兄实现了,还望不吝赐教啊!

到此,GPS模块的安装与测试就基本上完成了!如您有一定的编程能力的话可以写一个小脚本来解析GPS数据,也可以用重定向命令来保存Minicom的数据,稍晚些小编会把我写的脚本放到网盘上,供大家参考!

另外说一下,小编用的是2016-05-27版本号的Raspbian,用2017-01-11的无法获取数据,小编也在找问题在哪?有结论了,小编会在评论区里公布!

下面是小编网盘地址,之前发过一个。不过昨天整理的时候,手欠!把地址更新了!如果链接失效联系下小编,小编会及时更新!

https:///s/1bo6sBN5

这两天有些站外的朋友联系小编想转载小编文章,我也知道大家的想法!我这里没问题,因为小编写的都是自己研究树莓派项目的笔记,唯一可能影响版权的应该是图片,这样的文下小编会注明图片非原创的,但文字绝对原创!大家可以放心转载,只希望大家尊重下小编的工作!留个原文出处,小编就不胜感激了!

,