RaspberryPi Zero WH でみちびき対応GPSモジュールを試す

今日はRaspberryPi Zero WH でみちびき対応GPSモジュールを試す手順を備忘録として残します。

環境

Pi: Raspberry Pi Zero WH
OS: 2018-11-13-raspbian-stretch
GPSモジュール http://akizukidenshi.com/catalog/g/gK-09991/

注意

詳細は「モジュール用設定」で書きますが、[/boot/cmdline.txt]を編集するとカーネルパニックになり、起動しなくなる場合があります。OSのバージョンにより編集する内容が違うようです。今回は上記の環境で動作することを確認していますが、自己責任で行ってください。

OSの書き込み

OSを準備します。

入手

公式ページからOS本体をダウンロードしてきましょう。

https://www.raspberrypi.org/downloads/raspbian/

※バージョンによって、本記事では不十分な場合があります。本環境は2018-11-13-raspbian-stretchです。

 

書き込み

Windowsであれば適当にフリーソフトなどを用いてOSの起動ディスクを作ってください。MacOSであればddコマンドが役に立ちます。探せばいくらでも出てくる情報なので、参考記事を載せておきます。

Windows: https://itdecoboconikki.com/2017/03/05/win32diskimager/

Mac/Linux: https://ledsun.hatenablog.com/entry/2014/10/26/174712

基本的な設定

まずはOSの基本的な設定を行います。知識のある人は個人で設定してください。あまり複雑なことをしたくないので全てをRaspi-Configで行います。

このコマンドを使って選択することだけで色々設定できます。超便利。

CLI起動

GUIで起動しているなら必要ないのでCLI起動に変更しましょう。
Raspi-configを開きます。

Locale

Timezone

Keyboard Layout

Wi-fi Country

Wifi設定

アップデート

モジュールの接続

今回使用するモジュールはハンダ付けされていない状態です。必要に応じてはんだ付けしましょう。

電池はなくても動きます。電池がない場合GPS衛星との同期とかで立ち上がりの時間が遅くなります。

仕様書を確認しましょう。同封されていた仕様書です。(クリックで拡大表示)

Raspberry Pi Zero WHのGPIOの配置は画像の様になっています。今回の配線は簡単なので[4, 6, 8, 10, 12]のピンを使います。

回路にこんな感じです。接続には適当なジャンパ線などを使います。接続後がこんな感じ。

モジュール用設定

後はモジュール用の設定をしていきます。設定を間違えるとカーネルパニックになって振り出しに戻ります。自身がない場合は現在のSDカードをddコマンドなのでバックアップしておきましょう。

Serialコンソールを無効に

GPSモジュールとSerial通信するために、コンソールでの使用を無効化します。
編集や設定を間違えるとカーネルパニックになります。OSのバージョンによって編集内容が変わる場合があります。本環境では多分動きます。

/boot/cmdline.txt を編集します。

元々書いてある物を書き換えます。

他の参考サイトだと、[rpitestmode=1]がない場合があります。記述しない場合、本環境だとカーネルパニックになります。

シリアルコンソールを無効化します。

UARTを有効化

enable_uart=1を最後の行に追加します。

タイムパルスの受信

dtoverlay=pps-gpio,gpiopin=18を最後の行に追加します。

/etc/modulesにpps-gpioを追記

ここで一回再起動。

受信テスト

入手

設定

実際に受信してみた

一部隠していますが、こんな感じで座標を取得できます。取得までに時間がかかる場合もありますが、1分もあれば取得できるでしょう。そのうちツールを使わずに座標を取得できるようにしたいと思います。

参考

IoT, RaspberryPi

Posted by Sunaipu