このブログで旅行のお供にGPSロガーアプリをオススメしてきたgoldear@goldear820です。
以前から気にはなっていたものの手を出さずにいた自作GPSロガーだったのですが、仕事でLinuxソフトに触れる機会が多くなり、慣れるという意味も込めて自作してみます。
すでに先人たちの知恵が多くある分野ではありますが、私自身の備忘録としてまとめていきます。
目次
Raspberry Piって何?
You’ll recognise the price along with the basic shape and size, so you can simply drop your new Raspberry Pi into your old projects for an upgrade; and as always, we’ve kept all our software backwards-compatible, so what you create on a Raspberry Pi 4 will work on any older models you own too.
イギリスのRaspberry Pi Foundation (ラズベリーパイ財団)によって開発された教育用シングルボードコンピュータ、通称「ラズパイ」です。
ラズパイの何が良いのかと言うと、「小型基板」「低省電力」「低価格」、そして教育用途以外にも趣味で利用する方も多く「先人の知恵が多い」といったところですかね。ググれば必要な情報はだいたい見つかります。
今回はその中でも特に小型の「Raspberry Pi Zero WH」を購入しました。
インターフェースとしては以下のとおりです。
・microSD card Slot
・mini HDMI
・micro USB TypeB x2 (一つは電源用)
・カメラ接続用コネクタ
・GPIO 40pin
2021年11月現在、世界的な半導体不足の影響もありRaspberry Piに限らず電子パーツの在庫が少ないです。
正規代理店の「SWITCH SCIENCE」「KSY」では在庫がない状態が続いています。
Amazonでは定価1848円を大幅に超えるボッタクリ価格になっていたので、秋月電子通商、マルツオンラインあたりで購入するのがオススメです。
Raspberry Pi ImagerでROM作成
まずはラズパイで起動するための「Raspberry Pi OS(旧Raspbian)」をmicroSDカードに書き込み、ブートROMを作成します。
昔は面倒な作業だったらしいのですが、現在は「Raspberry Pi Imager」で非常に簡単にブートROMを作成できます。
以下のリンクからダウンロードできます。Windows、macOS、Ubuntu (for x86)向けが用意されています。
OS, Storageの選択
Raspberry Pi Imager を起動して、microSDに書き込む「OS」と「書き込み先」をセットします。
今回は「Raspberry Pi OS (32bit)」を選択します。
その他サードパーティ製ディストリビューションもインストール可能で、Ubuntuもインストール可能です。
ただし、Raspberry Pi Zero WH (W, 無印含む)は32bitARMなので64bitOSは動作しないので注意してください。後継の Raspberry Pi Zero 2 W はARM v8 系になり 64bitOSが使用できます。
microSD はそのへんに転がっていたsandisk 16GBを使用します。
容量は最低限8GB以上でないと使用できません。またアクセス速度もCLASS10に対応しているものを選ぶのが無難です。
SSH, WIFIの設定
セットが完了してWRITEをクリックする前に、まだSSHとWIFIの設定を行います。
(以前はこの設定が面倒だったみたい。。。)
「 Ctrl + SHIFT + x 」を押すことで Advanced Option を出すことができます。
Set hostname をセットしておくことで、IPアドレスを指定せずホストネームでアクセスできるようになります。
Enable SSH は絶対に有効化しておきます。後述しますがGUI環境は処理が重すぎて使い物になりません。
Configure wifi に普段使用しているWifiをセットします。Zero WH は標準ではWIFI 5G帯をサポートしないので、2.4G帯をセットしましょう。
このあたりはよく分からんので任意でチェックを付けました。
microSDへ書き込む
初期設定を済ませて、「WRITE」 をクリックすれば書き込みを開始されます。
microSDカードの中身はすべて削除されて、勝手にフォーマットされます。
大切なデータが入っている場合は、あらかじめバックアップしておきましょう。
環境にも依りますが、10分くらいで書き込みが完了します。
Raspberry Pi にアクセスしてみる
早速、microSDカードをRaspberry Pi Zero WH 本体に挿して、起動してみましょう。
TeraTerm SSH接続
ターミナルソフトは好みのものを使用してください。今回はフリーソフトのTeraTermを使います。
TeraTermを実行して、ブートROM作成時にセットしたホストネームでTCP/IP SSH接続します。
今後IPアドレスで接続したい場合は、あらかじめラズパイ側で固定IPアドレスを振っておく必要があります。そうすることでホストネームの代わりにIPアドレスでSSH接続できます。
セキュリティ警告が出てきますが、何もせずOKで先に進みます。
ユーザ名は「pi」、パスフレーズはブートROM作成時にセットしたものを使います。
ラズパイにSSH接続できました。
Raspberry Pi はデフォルトで、ユーザ名「pi」, パスワード「raspberry」がセットされています。
パスワードがデフォルト設定だと「セキュリティに問題あるからパスワード変更しろ」とメッセージ出力されるので変更しておきましょう。
Windows標準 リモートデスクトップ
GUI環境ではリモートデスクトップという形で利用することができます。今回はWindowsに標準で搭載されているリモートデスクトップ(RDP)を試してみます。
ちなみに小型のメリットがなくなるので、キーボード、マウス、ディスプレイ接続するつもりは全く無いです。
pi@raspberrypi:~$ sudo apt install xrdp -y
リモートデスクトップを使うために、ラズパイ側で上記コマンドを実行してリモートデスクトップできるようにしておきます。
Windowsキーから 「Windowsアクセサリ」 -> 「リモートデスクトップ接続」、もしくは「windowsキー + mstsc」でリモートデスクトップ接続アプリを起動します。
コンピューターは「raspberrypi.local」で接続します。
SSH接続時と同様に、ユーザ名は「pi」、パスフレーズはブートROM作成時にセットしたものを使います。
ラズパイのデスクトップ表示までできました。
が、描画が非常に重いです。ホストPCの解像度が1920×1200だったので非力なラズパイには少し荷が重すぎました。
GUI環境を使うつもりはないので、とりあえず表示はできるところまでの確認でした。
通常利用のための準備
システムアップデートと使いにくい部分の設定を変更しておきます。
システムアップデート
pi@raspberrypi:~$ sudo apt update
pi@raspberrypi:~$ sudo apt full-upgrade -y
WAN側に繋いでるので、定期的にアップデートしておきましょう。
ビープ音を消す
pi@raspberrypi:~$ sudo vim /etc/inputrc
“set bell-style none” のコメントアウトを外します。通常操作のビープ音はこれで消えます。
pi@raspberrypi:~$ sudo vim /etc/vim/vimrc
“set visualbell t_vb=”を追記します。vim操作のビープ音はこれで消えます。
まとめ
自作GPSロガー作成のために、今回はRaspberry Pi Zero WH をSSH接続して、操作できるところまで実施しました。
実際にGPSロガーを完成するまでに時間は掛かりそうですが、まずは第一歩を踏み出した感じです。
次回は、Raspberry Pi Zero WH のGPIO端子を利用し、GPSモジュールと接続して位置情報を取得してみます。
追記 2024/1/12: 第02回を公開しました

まずは気軽にGPSロギングを試してみたい方は、以下の記事を参考にしてください。
Androidをお使いの方はこちら

iPhoneをお使いの方はこちら

コメント