0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

温湿度・気圧のロガーを作る #4

Last updated at Posted at 2020-11-17

1話 センサー1つ+Ambient編 / 2話 センサー2つ+Ambient編 / 3話 センサー4つ編
4話 SDカード記録編 / 5話 システム時刻・NTP編

あらすじ: 4個BME280をつけて、データ取得しシリアルモニタに表示できました。

4話

今度は、SDカードロガーの挙動を勉強していきます。
ここからの目標は

  • BMEでデータ取得してSDカードに保存する
  • そのときに時刻を入れたい
    • Case1. ネット環境がある→NTPからJSTを取得していく。
    • Case2. ネット環境がない→RTPモジュールでスタンドアローンでもできるように。

用意したもの

やったこと

例によってググります。先人に感謝です。これから主にこちらの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サーバーからの時刻取得をおこないます。

5話に続きます

参考文献

勝手にソースコードを拝借しています。すみません。ありがとうございます。
何かあればお申し付けください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?