「MixSoda」
バスに、あいがもロボに、駐車場にと活躍、IchigoJamでIoTを実現する、MixSoda by ナチュラルスタイル、福井県福井市、福井高専の先輩、まったさん会社!
IoT.OUT 1
電源を入れて、IchigoJam BASICでたった1コマンドで任意のデータをクラウドへ送信できるお手軽IoT。
MixServerでのデータ保存期間は7日間。リアルタイムデータをオープンデータとして公開するだけでなく、遡ったデータも使いたくなったので、GitHub Actions を使って、自動バックアップするツールを作成。
「MixSoda-util」
Denoをインストールした環境で、MixServerに設定したトークン(Store Token)と共に次のコマンドを実行すればデータを昨日のデータを取得し、日付別、デバイス別にdataディレクトリに整理して保存します。
deno run -A https://code4fukui.github.io/MixSoda-util/backup.js [Store Token]
パラメーターにallを追加すると最大7日分、ありったけ取ってきて保存するので、初回の実行にどうぞ!
日時に自動実行する、GitHub Actions(.github/workflows/)として設定する際、Store Tokenは、Secretsとして設定しておきます。(参考、Encrypted secrets - GitHub Docs)
サーバー上で日付を扱うときに注意しないといけたいタイムゾーン。今回作ったバックアップツール「backupData.js」は動いたと思って安心していたら一昨日のデータでズレも発生。バグの原因は、日本時間で動いていないサーバーで動かしたこと。
「day-es」
分かりやすく扱えるように日付ライブラリday-esに、TimeZone.JSTを加えました。サーバーのタイムゾーンに依存せず、日本時間の昨日の日付を表示するサンプルプログラムをドキュメントに記述。
失敗は前進の元。
links
- 「アイガモロボ」をプログラミングし田んぼに放つ 小学生がITの農作業支援を学ぶ 山梨 | 山梨のニュース | UTYテレビ山梨 (1ページ)