Wio BG770Aへの道② 乾電池で駆動するGPSユニットをつくる
はじめに~前回の記事はこちら↓
前回からの検証作業を進めているうちに、12/2よりソラコムからWioBG770Aの販売が始まりました。
私は早速購入しました。開発環境を整えてLチカを試し、その後にGPSユニットの実験を始めました。
WioBG770Aの開発環境のセットアップからLチカまでは、しょーちゃんさん記事が大変参考になります。ボードマネジャーのセットアップやLTE-M通信に必要なライブラリに関しては、下記のリンクを参考にしていただければ幸いです
やりたいこと~テーマの修正
前回書いていた「やりたいこと」=テーマのうち、VSCodeでのコーディングは除外しました。現段階では難しいようなので、今回は開発環境はArduino IDEで構築しました。
GPSユニットをつなげ、乾電池でシステムを動かす
概要
今回は購入したWio BG770Aと自宅にあったGPSモジュールを使って、乾電池で動く、持ち運べるGPSユニットを作ることにしました。必要となるGPSモジュールはSeeedのものですが、私がテストした段階では品切れで調達不可能です。たまたま以前に購入したWio LTEのハンズオン用のキットに、GPSモジュールが同梱されていることをSeeed社の松岡さんからお知らせいただき、無事にテストを行うことができました。
本文中の作例で使用しているコード等は、下記のリンクのものを使用しています。
https://github.com/SeeedJP/wio_cellular/tree/main/examples/application/soracom-gps-tracker
サンプルコード
サンプルコードはSORACOM Airを使用してSORACOM Harvestにデータを送信することを目的としています。そのため、データの蓄積・可視化にはソラコムの上記のサービスをご利用ください。
GPSモジュールはUARTでWio BG770Aと通信します。また、このサンプルコードではGPSで取得した緯度・経度のほかに「uptime」という、デバイスの稼働時間を示す数値(秒)が一緒に送信されます。
static constexpr int INTERVAL = 1000 * 60 * 5; // [ms]
送信は5分間隔で行われます。もし送信間隔を変える必要がある場合は、サンプルコード中の「5」を任意の数値に変えてください。
ケースの中はこんな感じに
コードをWio BG770Aにアップロードして、一通りの動作テスト(後述)した後にタカチの乾電池対応ケースにセットしました。ケースは単4電池4本(6V)に対応したものを選定しました。WIo BG770Aには給電用のPHコネクタがついており、こちらにケースに収めた乾電池より給電しています。購入したPHコネクタの配線色が逆になっていますので、ご了承ください。
後日、ケース外部にオルタネートスイッチを配置して、外部からON/OFFできるように改造しました。
測定の結果
私はこのユニットをWio BG770Aの持ち味、すなわち
①LTE-M通信ができる
②拡張性が高い
③乾電池でも使用できる
を活かしたモノを何か作り、実際にどういう使い方ができるかを検討するために作りました。サンプルコードは非常に順調に動いてくれたので、特に手を止めて考えることもなく実際のGPS稼働試験まで終えることができました。以下に、テストを実施した結果と感想をまとめます。
データの蓄積・可視化にはSORACOM Harvest Data を使用しました。
①送信件数は257件(約21時間)
uptimeの送信件数で、通信が途絶するまでの稼働時間を調べてみます。今回の5分間隔の送信テストでは257件のデータを乾電池を使って送信できました。時間に換算すると5*257=1285件(約21時間)稼働したことになります。この稼働時間はサンプルプログラムをそのまま動かしたものであり、今後の工夫で伸ばしていける可能性があると感じています。途中uptimeがゼロになっているのは、外出時にテストをするためにリセットしたものです。
②GPSデータの受信状態は?
室内のテスト(当社ラボ)ではほぼGPSのデータを受信することができました。しかし、電車で移動した時間帯や都心の混雑した場所に滞在していた時間帯ではGPSのデータを取得することができませんでした。
マップ上で可視化してみると…
テスト当日の行動結果を、SORACOM Harvest Dataで可視化してみました。GPSトラッカーとしては十分に使用できそうです。
今後の課題
今回作ったGPSユニットでのテストを通じて、Wio BG770Aの「乾電池で動くIoTデバイス」としての魅力を十分に感じました。電源から解放されれば、IoTデバイスにはいままでにない大きな可能性が見えてきます。
もちろん、可能性を広げるための課題も今回見つかりました。それは、
①電池の寿命を伸ばすための工夫う
②実際に、乾電池の電圧推移を測定してみる必要性
③乾電池自体の最適化
④ケースの防水性は?(今回、適した防水ケースが見つけられませんでした)
です。これらは新しいデバイスが生まれ、試してみて気づかされたものばかりです。しばらくこのシリーズは続け、テストを続けていきます。
謝辞
SORACOM UGのメンバーの皆様、特に木村健一郎さん・須佐美俊和さんには大変お世話になりました。また、Seeedの松岡貴志様には膨大な情報提供をいただき感謝いたします。部品調達の際に相談に乗っていただいた、千石電商の皆様、ありがとうございました。