Raspberry Pi Zero WH でGPSロガーを作ってみる – 第01回 スタートアップ編

このブログで旅行のお供に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: Raspberry Pi 4 Model B

イギリスの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」では在庫がない状態が続いています。

Products - スイッチサイエンス
Productsカテゴリのページです。
Raspberry Pi Shop by KSY

Amazonでは定価1848円を大幅に超えるボッタクリ価格になっていたので、秋月電子通商、マルツオンラインあたりで購入するのがオススメです。

秋月電子通商 トップページ - 電子部品・半導体 【通販・販売】
株式会社秋月電子通商(電子部品の通販、販売)のページです
電子部品・半導体パーツの通販 販売 | マルツオンライン
電子部品、半導体など取扱いメーカー2900社以上。圧倒の型番数より瞬間検索、全品1個から購入可能、17:00までのご注文を翌日お届け、税込3,300円以上購入で送料無料。回路設計、試作基板の設計製造、ケース製造など法人様向けのエンジニアリング・サービスも充実。お気軽にご用命下さい。

Raspberry Pi ImagerでROM作成

まずはラズパイで起動するための「Raspberry Pi OS(旧Raspbian)」をmicroSDカードに書き込み、ブートROMを作成します。

昔は面倒な作業だったらしいのですが、現在は「Raspberry Pi Imager」で非常に簡単にブートROMを作成できます。

以下のリンクからダウンロードできます。Windows、macOS、Ubuntu (for x86)向けが用意されています。

Raspberry Pi OS – Raspberry Pi
From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.

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を使います。

Tera Term (テラターム) プロジェクト日本語トップページ - OSDN
Tera Term は、オリジナルの Tera Term Pro 2.3 の原作者公認の後継版です。オープンソースで開発されており、UTF-8 表示に対応しています。 また、SSH1 対応モジュール TTSSH を拡張し、SSH2 プロトコルをサポートしています。

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モジュールと接続して位置情報を取得してみます。

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

Androidをお使いの方はこちら

Android専用アプリでお手軽GPSロギング「GPS Logger」と「GPX Viewer」で位置情報を記録&閲覧してみた
バイクツーリング専用に新しいAndroidスマホを購入しました goldear@goldear820 です。 基本的にGoogleMapのナビのみを使用するつもりでしたが、折角なのでバックグラウンドでGPSロギングさせます。 ...

iPhoneをお使いの方はこちら

iOS専用GPSロガーアプリ「Ryotei」を使ってみた
先日の秋田角館ひとり旅の帰宅の路で、鶏天そばを食べ終わった後、そばつゆの中に思いっきりM241を落としてしまった\(^o^)/ 声にならない叫びというのを初めて経験したかもしれない。M241は完全に乾燥させるまで使用できない、でも...

コメント