Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

Raspberry Pi Zero WH で「みちびき」対応 GPS を使う

参考

Raspberry Piに「みちびき」対応GPSモジュールを接続(日記というほどでも)
GPSのNMEAフォーマット(hiramine.com)

環境

Raspi と GPS をつなぐ

参考にさせて頂いた記事の手順に従って進めました。
が、gpsmon を動かす必要はなかったので途中までの手順です。

GPIO ピンに GPS を接続する

接続はとっても簡単でした。
5V 端子から順に GPIO ピンに挿してあげるだけですね。
IMG_6111.png

コンソールを serial0 から tty1 へ変更する

serial0 のまま使う方法を御存知の方いたら教えてください。

1. /boot/cmdline.txt を編集する

いきなり編集するのは危険なので、事前にバックアップするようにしました。

$ mkdir -p ~/default/boot
$ sudo cp -p /boot/cmdline.txt ~/default/boot/
$ sudo vi /boot/cmdline.txt

記述する内容は次の通りです。
元の記述は [#] をつけてコメントアウトしています。

#dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=94e60538-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

2. /boot/config.txt を編集する

こちらも事前にバックアップしました。

$ sudo cp -p /boot/config.txt ~/default/boot/
$ sudo vi /boot/config.txt

元のファイルに対して次の通り追記しました。

enable_uart=1
dtoverlay=pps-gpio,gpioin=18

3. /etc/module を編集する

こちらも事前にバックアップです。

$ mkdir ~/default/etc
$ sudo cp -p /etc/module ~/default/etc/
$ sudo vi /etc/module

追記した内容は次の通りです。

pps-gpio

以上で Python から GPS 情報を取得する準備が整いました。

Python で GPS 情報を取得する

まずは動作確認です。
簡単な直接コードを実行して、値が取得できるか確認しました。

import serial

s = serial.Serial('/dev/ttyS0', 9600, timeout=1)

for i in range(10):
    print(s.readline())

きちんと動いていれば、次のような結果が得られます。
NMEA フォーマットと呼ばれる形式のデータらしいです。

$ python tmp.py
$GPGGA,000331.000,3635.6925,N,13636.7993,E,1,7,1.14,47.6,M,34.9,M,,*6B

$GPGLL,3635.6925,N,13636.7993,E,000331.000,A,A*56

$GPGSA,A,3,17,08,03,22,01,194,193,,,,,,1.44,1.14,0.88*0C

$GPGSV,4,1,16,195,84,129,,03,67,123,26,28,66,250,25,22,57,072,15*4F

$GPGSV,4,2,16,01,49,042,15,193,44,173,23,17,43,315,21,11,41,068,*47

$GPGSV,4,3,16,18,24,059,,194,18,192,22,19,15,302,,08,14,112,18*4E

$GPGSV,4,4,16,06,14,256,,23,07,144,,30,05,222,,14,03,050,*7C

$GPRMC,000331.000,A,3635.6925,N,13636.7993,E,0.16,107.12,290918,,,A*68

$GPVTG,107.12,T,,M,0.16,N,0.30,K,A*3C

$GPZDA,000331.000,29,09,2018,,*5E

これで GPS ロガーを自作することができますね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?