はじめに
実家の庭にある池の水温をリアルタイムで監視したくて、試作したのですが。実家に帰る機会が、シルバーウィーク後半戦だったのでそのタイミングまで眠らせての制作だったのですが、部品を忘れてしまいデータ送信は試せず。
最終日になってデータ送信含めて試作しているのですが、ギリギリまで制作を遅らせてしまい「夏休み最終日に宿題が終ってない小学生状態」です。
簡単に言えば、おわた状態 なのですが・・・
すやぁすやぁとサボリ続けて、本日2022年09月06日ついに試作を開始した。
敵前逃亡は許されないと銃口を突きつけられたような状態で挑みます。
コンテスト締切まで残り3時間なんだけど、完成するこが出来るか・・・・・!!!
部品
- SPRESENSEメインボード[CXD5602PWBMAIN1] ¥6,050
- SPRESENSE拡張ボード[CXD5602PWBEXT1] ¥3,850
- SPRESENSE用ELTRESアドオンボード ¥12,650
- 5個x1m DS18B20デジタル温度センサー ¥999
- 100均で500円で購入した5000mAhモバイルバッテリー(GT205)
- ジャンパーケーブル
- 4.7kΩ抵抗
- ユニバーサル基板
- マイクロUSBケーブル
- 100均で購入した透明ケース(内寸:105mmx165mm)
制作手順
- Spresenseメインボードと拡張ボードをガチャんと合体!
- マイクロUSBケーブルでバッテリーとSpresenseメインボードを接続!!
- DS18B20をの信号線と5Vを4.7kΩ抵抗と接続してプルアップ
- DS18B20の5VとGNDをSpresense拡張ボードに接続!
- DS18B20の信号線をSpresense拡張ボードのD10に接続!
- ELTRESモジュールをSpresenseメインボードと接続!!!
- GNSS用のアンテナとLPWAアンテナをELTRESモジュールと接続して適当に設置!
完成時の全体像
ソースコード
// すみませんギリギリまで粘っています
動作確認
DS18B20での計測
SPRESENSEでOneWire.hが正しく動作せず、調べたところSPRESENSEでOneWire.hを使う|saya|noteの記事を参考に、ライブラリに修正を加えることで一応動作するようになります。
ELTRESのGNSS電波の受信
タワマンに住んでいるのですがGNSSの衛星電波の受信状態が悪く受信できず。時刻情報を取得できないとLPWA経由でのデータ送信ができないです。
Serial Monitorを眺めても invalid data が流れるだけ・・・・こんな環境でも、暫くほうちすると位置情報が表示され、時刻を受信できるみたい。
これだと、GNSS受信が容易な場所じゃないと、開発効率がグーンと下がりますね。
CLIP Viewer Liteへの送信
サンプルプログラムでも動作確認したのですが、LED表示的には送信が完了した状態であるが、何故かペイロードがダッシュボード上に表示されてこない・・・・
何度か試してると表示されたので、開発してるタワマン環境だと殆どが取りこぼしになってしまうみたいです。ちなみに周辺はタワマンぐらいしか障害物はないのですがベランダの向こう、タワマンが立ってるのでかなり、障害物多いのです。
設置イメージ
DS18B20の一つを池にエイヤと投げ入れ、もう一方は陸地に放り出す。
時間の都合で簡易的な試作なので防水等は考慮してません。
ごめんなさい
温度計でも水温を計測
見たまんま池にぽちゃんとセンサーを投げ込む。
CLIP Viewer ダッシュボード
すみませんギリギリまで粘っています。