1話 センサー1つ+Ambient編 / 2話 センサー2つ+Ambient編 / 3話 センサー4つ編
4話 SDカード記録編 / 5話 システム時刻・NTP編
あらすじ: 4個BME280をつけて、データ取得しシリアルモニタに表示できました。
4話
今度は、SDカードロガーの挙動を勉強していきます。
ここからの目標は
- BMEでデータ取得してSDカードに保存する
- そのときに時刻を入れたい
- Case1. ネット環境がある→NTPからJSTを取得していく。
- Case2. ネット環境がない→RTPモジュールでスタンドアローンでもできるように。
用意したもの
- Arduino的なもの ESP-WROOM-02開発ボード (SwitchScience) ×1
https://www.switch-science.com/catalog/2500/ - 温湿度・気圧センサー BME280 (SwitchScience) ×1
https://www.switch-science.com/catalog/2236/ - SparkFun マイクロSDカードスロット・ピッチ変換基板 (SwitchScience) ×1
https://www.switch-science.com/catalog/36/
やったこと
例によってググります。先人に感謝です。これから主にこちらのHPを参考にしていきました。
記事が若干古く(2016年)、少しずつ手を加えました。
ESP-WROOM-02を使ったWi-Fi機能付き温度ロガーを作る(1) – スイッチサイエンス マガジン
https://mag.switch-science.com/2016/05/13/esp-wroom-02-wifi-logger-1/
このHPではBME280をI2Cで繋げていますが、ここまでSPI接続でやってきたのでそこが違います。
まず、SDのモジュールをSPI接続でつなぎます。
SPI接続はこの時すごく便利で、CS以外はすべて並列でつなげておけばいいだけで楽チンです。
また、この辺でBME280の3Vは片方でいいと、何かで知ります。(調べなきゃ)
接続は次のとおりです。
SPI接続 | ESPr Developer | BME280 | SDモジュール |
---|---|---|---|
MISO | IO12 | SDO | DO |
CLK | IO14 | SCK | SCK |
MOSI | IO13 | SDI | DI |
CS | IO15 | CS | |
CS | IO16 | CSB | |
GND | GND | GND | GND |
+3.3V | 3v3 | Vcore or Vio | VCC |
Arduino IDEのファイル→スケッチ例→あらゆるボード用のスケッチの例→SD→Datalogger を選択し、
HP通り26行目の chipSelect = 4;
となっているところをchipSelect = 15;
に変更、書き込み。
するとものすごい勢いでシリアルモニタを数値が駆け抜けていきました。(最初すごく焦りました)
通信は成功しており、その数値群がdatalog.txtとしてSDカードに残されていました。
なお、通信の確認だけであれば、
Arduino IDEのファイル→スケッチ例→あらゆるボード用のスケッチの例→SD→CardInfo で書き込むと、シリアルモニタにInfoが表示されるのでそれで十分です。
次に、同じHPの(2)へ行き、SDカード上の内容をESP-WROOM-02がWebサーバとなり、ローカルIPを入れるとブラウザからファイルインデックスがみれるプログラムをやろうとしました。
が、なんだかうまく行かず断念しました。
今回の目的とは少し離れるので(Ambientで飛ばしますし...)、これをカットしますが、今後のために勉強はしておきたいところです。
次回、5話では、NTPサーバーからの時刻取得をおこないます。
参考文献
勝手にソースコードを拝借しています。すみません。ありがとうございます。
何かあればお申し付けください。
- ESP8266 with two BME280 Sensors over SPI – Robot Zero OneRobot Zero One
https://robotzero.one/esp8266-two-bme280-sensors-spi/ - 温度、湿度、気圧を測定し、記録する - AmbientでIoTをはじめよう
https://pages.switch-science.com/letsiot/temphumidpress/ - ESP-WROOM-02を使ったWi-Fi機能付き温度ロガーを作る(1) – スイッチサイエンス マガジン
https://mag.switch-science.com/2016/05/13/esp-wroom-02-wifi-logger-1/