おうち環境モニター
- Grove接続されたI2C I/Fを持つセンサ値を読み取る
- LCDに現在の値を表示する
- microSDカードからの設定の読み書き
- microSDカードへのセンサ値保存
- Ambient へのセンサ値送信
- Taskことに分離された実装による拡張性
- C/C++の実装経験があれば、自分の好みの機能を追加したり修正したりすることができます
- LCDの表示: UiTask.h
- Groveセンサの管理: GroveTask.h
- WiFiを利用したデータ送受信: WiFiTask.h
- SDカードからの設定管理: GlobalConfig.h
- コンパイル時設定管理: FixedConfig.h
- C/C++の実装経験があれば、自分の好みの機能を追加したり修正したりすることができます
- Dockerを使ったビルド環境
- ビルド環境構築に悩む必要はもうありません
- Wio Terminal: ATSAMD51 Core with Realtek RTL8720DN BLE 5.0 & Wi-Fi 2.4G/5G Dev Board
- Grove - Temperature, Humidity, Pressure and Gas Sensor for Arduino - BME680
- Grove - Digital Light Sensor - TSL2561
- Grove - I2C Hub (6 Port)
Wio Terminal 画面左下のGrove Connector に I2C Hub を接続し、 I2C Hub の Grove Connector に BME680 と TSL2561 を接続します。
- Build - Github Actionsからビルド済バイナリをダウンロードします。
- Bootloaderモードで起動します
- PCに接続するとArduinoのストレージデバイスが見えるので、
wfh_monitor.ino.uf2
をドライブ上にコピーします - 無事に起動したら完了
SDカード直下にwfhm.json
というファイルに設定を記述することで、挙動変更やWiFi機能の有効化を行うことができます。
GlobalConfig.h を参照
wfhm.json
が作成されていないFAT32で初期化されたSDカードを挿入した状態で起動することで、デフォルト設定の雛形が自動作成されます。
SDカードでは設定できず、コンパイル時定数として埋め込まれる設定も存在します。 詳細は FixedConfig.h を参照
素晴らしいライブラリをありがとうございます。
- AmbientDataInc/Ambient_ESP8266_lib
- bblanchon/ArduinoJson
- lovyan03/LovyanGFX
- Seeed-Studio/Grove_Digital_Light_Sensor
- Seeed-Studio/Seeed_Arduino_atUnified
- Seeed-Studio/Seeed_Arduino_atWiFi
- Seeed-Studio/Seeed_Arduino_atWiFiClientSecure
- Seeed-Studio/Seeed_Arduino_FreeRTOS
- Seeed-Studio/Seeed_Arduino_FS
- Seeed-Studio/Seeed_Arduino_mbedtls
- Seeed-Studio/Seeed_Arduino_SFUD
- Seeed-Studio/Seeed_BME680
- Seeed-Studio/esp-at-lib
doxygenを整備しています。 Docs - GitHub Actions から最新のものをDLするか、$ docker-compose run docs
, $ doxygen
等でビルドすることで入手することができます。
Dockerを推奨しますが、同様の環境を作れば任意の環境で開発できます。
安定性確保のためにはlib
下のモジュールとバージョンを合わせることを推奨します。
$ docker-compose run build
.lib
下にあるライブラリとSeeeduino:seeed_wio_terminal
の追加が必要です。
詳しくは arduino-cli.Dockerfile をご参照ください
$ ./build.sh
- seeed_wio_terminalをボードマネージャから追加します
./lib
下にあるライブラリをインストールします- にwfh_monitor.inoを開いてコンパイルして書き込んでください。
MIT