潮の干満データをAPI経由で取得して電子ペーパーに表示するラズパイ駆動タイドトラッカー
2023/03/01 07:00
満潮/干潮の時刻や潮位の状態を表示するデバイスの作製方法をRaspberry Pi公式ブログが紹介した。
潮の満ち引きは予測できるが、満潮時刻や干潮時刻は分からなくなりがちだ。このプロジェクトでは、英国内607カ所の観測所における潮の干満データをAPI連携によりダウンロードし、満潮時刻や干潮時刻を継続的にトラッキングするデバイスを作製する。
Raspberry Pi公式ブログが紹介しているデバイスでは、Raspberry Pi Zero 2 Wと電子ペーパーディスプレイ「Inky pHAT」を使用している。Inky pHATは、電源を切っても画像が保持される電子ペーパーディスプレイで、名札や天気予報表示など、さまざまな用途に利用できる。
Raspberry Pi Zero 2 WにGPIOヘッダーがない場合は、はんだ付けしてGPIOヘッダーを取り付けるか、ハンマーなどで打ち込んで固定する「GPIO Hammer Header」を使う必要がある。
Inky pHATを使用するため、まず「Inky Python」ライブラリーをインストールする。このデバイスでは、無料で使える「UK Tidal API - Discovery」を使用して、英国周辺の潮位予測データをダウンロードする。データにアクセスするには英国水路部公式サイトでアカウントを作成する必要がある。Raspberry Pi公式ブログ記事では、APIへのアクセスに必要なサブスクリプションキーの取得方法などについても解説している。
また、公式ブログ記事の後半では、タイムスタンプを格納する変数の端数分切り捨て処理や、潮の干満サイクル計算などについても説明している。Pythonで書かれたコードのクエリーは48時間分の干潮と満潮のイベントを取得するため、各イベントを周期的に繰り返すことで、将来の干潮と満潮の時刻を計算している。