川の中の micro:bit が深く静かに計測したデータを ambient で地図上に表示する
最近自作しているログ収集ウェブアプリのテストとして、 「通信できない状況で計測されたデータを、後から BLE で同期し活用する」 という想定の実験をしてみました。
肝心のウェブアプリ自体がまだアップできていないので「なんのこっちゃ」という感じかとは思いますが。。。

実験概要と注意事項
「通信できない状況といったら水中かな」ということで、 今回は以下の手順で「川の(水面下の)温度と明るさをmicro:bitで計測し、 ambient で地図上に表示する」という実験を行いました。
- 河川の利用ルール等を確認。
- 100円均一等でボトルと重石(今回は100円均一のミックス小石を利用)を準備。
- micro:bit で使う計測用コードを作成し、書き込む。
- ボトルに micro:bit と重石を詰め込み、河川敷でのジョギングに持っていく。
- 計測ポイントに到着したらボトルを川へ投入し計測が終わるまで待つ。
- ボトルを引き揚げ、BLE 接続でデータを同期(回収)。
- 帰宅後に ambient へ送信し表示する。

なお、今回の実験は、河川の自由使用の範囲を超えないようにしたつもりですが、 素人が個人的に行っていることなので見落としていることも多いかと思います。 もしも、同じような実験を行う場合は、ご自身でも河川の利用ルールや安全な利用についてのご確認をお願いいたいます。
参考:
micro:bit へ書き込むコード
おおまかには以下のように動作するコードを作成しました。
- 温度、明るさ、時刻(ミリ秒)を 2 分間隔 x 6 回、配列に記録する。
- Bluetooth で接続されたら、スマホ側から時刻情報を受け取り、補正を行いながら記録されたデータを送信。
配列の大きさについては、あまり大きくすると 020
エラーになってしまうので、
6 回分としました。
時刻は micro:bit のミリ秒
で記録しておいて、
ウェブアプリが送信してきた現在時刻(Date.now()
)を元に micro:bit 内で補正しています。
通信の遅延などは考慮していないので、精度はよくないと思います。
また、今回は地図上で表示を行うための位置情報も必要となりますが、 これについてはウェブアプリ側でログを取得するとき付加しています。 よって、同期する前に移動してしまうと場所がズレてしまいます。
具体的なコードはウェブアプリがアップできた後にアップする予定ですが、 とりあえずスクリーンショットを貼っておきます。

計測ポイント
写真の場所の左岸と右岸で2回計測しました。

micro:bit を川へ投入
投入とは言いつつも、ゆっくりと川へ降ろしました。
右岸は思っていたよりも水深があるようで、用意したロープ(3から4mくらい)をいっぱいまで伸ばしても底には到達しませんでした。

温度と明るさを計測
計測は自動で行われるので、景色を眺めながら待つだけです。。。 と優雅な感じで行きたいところでしたが、当日はスマホのカメラも音を上げる暑さだったので汗だらだらで待っていました。
後から考えると、人間は日陰で待っていてもよかったような気もしないでもないですが。。。
データの同期(回収)
ボトルを引き揚げて浸水してないか等を確認し、BLE 接続でデータを同期(回収)。
写真では micro:bit をボトルから取り出していますが、 水面から引き揚げれば(通信状況にもよりますが)ボトルに入れたままでも接続できます。
結果
下図は ambient へ送信した結果です (地図がぼやけていますが、今回のような引用が Google マップの利用規約に引っ掛かるかが不明だったので、 念のためぼやかしました。処理的に不具合があったわけではありません)。
今回は正しくは水温を測ったわけではないのですが、 環境庁の資料によると、 (数年前の値ですが)この近辺の水温の年最高値(5カ年度平均)が27℃くらいとあったので 「それほどかけ離れた値でもないのかな」といった感じでしょうか。
また、2回目の計測ではボトルは水面から見えない状態でしたが、明るさが完全にはゼロにならないのはちょっと意外でした。
なお、micro:bit 側で 6 回計測しているはずなのに ambient 上では 5 回分のデータしか表示されていないのは、ウェブアプリの制限です(現状では最後の1回分が記録できないので。。。)。

まとめ
データを記録できる容量を増やせないか等、改善の余地はありそうですが、 蓄積されたデータを BLE 経由で回収し活用するという当初の目的は達成できたと思います。
また、実験の本筋からは少し外れますが、 「水温は(夏ということもあってか)思っていたよりも温かい」「水深のあるとことろでも意外と日光は届いている?」 など、普段はあまり考えることがなかったようなことを知ることができたのは興味深かったです。