LoginSignup
0
3

More than 3 years have passed since last update.

IoT気温センサーが欲しい(調査メモ)

Last updated at Posted at 2020-11-04

NASを設置しているスペースの温度管理のため IoT センサーが欲しくなったので調査した。

IoT超初心者なのでゼロから調査した。

image.png

調査

  • Amazon で既製品の温度センサーを探したがけっこう高い
  • 気温センサーを自作しようとすると最初に Raspberry Pi+気温センサーの組み合わせが見つかったがオーバースペック&高い
  • Arduino 互換の WiFi 付きデバイスがあるらしい(そもそもArduinoが何か知らなかったが)。下記の2種類が使いやすそう
    • ESP-WROOM-02 (ESP8266) : WiFi
    • ESP-WROOM-32 (ESP32) : WiFi+Bluetooth
  • ESP32 のほうもほとんど値段が変わらない
  • ESP-WROOM-02ESP-WROOM-02D があるが、技適が通ってるのは ESP-WROOM-02D のほう。

  • ググっていたら ESP32 + BME280 の組み合わせを見つけた

    • 温度+湿度+気圧が測れるが高価になりそう&配線が面倒かも?
    • いずれは湿度センサーも欲しくなるかもしれないので候補の1つに覚えておく
  • 今回は温度センサーが欲しいので DS18B20 が良さそう

  • ESP8266 単体だとシリアル通信しかできず、PCとの接続はUSB<->シリアル変換が必要。

    • 「開発キット」という製品だとUSBですぐに接続できるらしい。その分ちょっと高い。
  • 運用時の電源は?

    • 3.3V 500mA(起動時) が必要らしい
    • 「ACアダプタ(~5V)+リニアレギュレータ」(発熱的に5Vが限界)
    • 「ACアダプタ(~12V)+スイッチングレギュレータ」(発熱は抑えられるがちょっとノイズあり&高い)
    • 「乾電池2本」(3.0Vだがギリギリ動く? => ESP32 だと低電圧でも動く)
    • 「乾電池3本+レギュレータ」
    • 「乾電池1本+昇圧回路」

購入、実験

購入したもの

秋月電子さんで下記を購入。

部品 価格(税込)
【I-05276】デジタル温度センサ(1wire)DS18B20+ ¥320
【K-12236】ESP-WROOM-02開発ボード ¥1,280
【C-05159】ブレッドボード・ジャンパーワイヤ(オス-オス)セット ¥220
【P-05294】ブレッドボード BB-801 ¥200
【R-25472】カーボン抵抗(炭素皮膜抵抗) 1/4W4.7kΩ (100本入) ¥100

動作確認

  • ひとまずブレッドボード上に配置する
  • ESP-WROOM-02開発ボード に同梱のピンヘッダーをはんだ付け
  • Arduino(ESP-WROOM-02)で温度センサーDS18B20を制御する – 故きを温ねて新しきを知る人ぞ知る を参考に配線

    • USB接続してもすぐにLEDが消えておかしいと思ってよく見るとDS18B20のGNDとVDDを逆に接続していた。危ない。
  • ソフトウェア準備

    • Arduino IDE 1.8.13 ZIP 版ダウンロード
    • arduino.exe 起動
      image.png
    • ファイル|環境設定
      image.png
    • 追加のボードマネージャのURLにhttps://arduino.esp8266.com/stable/package_esp8266com_index.jsonを入力
      image.png
    • ツール|ボード|ボードマネージャ image.png
    • ESP8266 をインストール
      image.png
    • ツール|ボード に ESP8266 が表れた
      image.png
  • 動作確認用のスケッチ作成

    • 最小限のスケッチを作成
      image.png
    • 開発ボード付属の紙を参考に転送レートなどを設定
      image.png
    • スケッチ|マイコンボードに書き込む
    • Connecting... になったら(またはその前に) PGM と RST ボタンを同時に押し、RST 離す PGM 離す の順に押す
    • ツール|シリアルモニタで動作確認
    • RST ボタンを押すと動作開始
      image.png
  • 温度センサーの動作確認

#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 14  //温度センサーをESP-WROOM-02の14番ピンに接続

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(115200);
  Serial.println("");
  Serial.println("setup done");
}

void loop() {
  sensors.requestTemperatures(); // 温度取得

  float temp = sensors.getTempCByIndex(0); // 温度センサーから摂氏気温を取得
  Serial.println(temp);

  delay(1000);
}
  • シリアルモニタで確認すると流れてくる。温度センサーに軽く触ると数値が上がったので取れてるっぽい
    image.png

ESP-WROOM-02 と DHT11 で温湿度センサーを作る - Qiita に続く。

参考URL

0
3
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
3