Arduino・ESP8266・ThingSpeak で作る信頼性の高い個人気象観測ステーション
プロジェクトの目的
室内の温度・湿度・気圧・光量をリアルタイムで計測し、ThingSpeak のプライベートチャネルにアップロードして、スマホや PC からどこでも確認できる個人用気象ステーションを構築します。Arduino Nano がセンサー値を収集し、ESP8266(ESP-01)が Wi-Fi 経由で ThingSpeak へ送信するアーキテクチャです。
使用センサーと役割
- DHT11:湿度・温度(データピンは 4.7kΩ でプルアップ、A0 接続)
- BMP180:気圧・温度(I2C 接続)
- LDR(フォトレジスター):光量(51kΩ と分圧回路、A1 接続)
電源系設計
- 12V 2A AC アダプター → Arduino Nano Vin 直結
- 同 12V → LM2596 バックコンバーターで 3.3V に降圧 → センサー類・ESP8266 へ供給
- DC ジャックとスイッチをケース前面に実装
ThingSpeak チャンネル作成手順
- ThingSpeak にサインアップし「New Channel」作成
- フィールド 1〜4 を有効化(温度・湿度・気圧・光量)
- 「API Keys」タブから Write API Key を控える
回路接続まとめ
- BMP180 → Nano I2C ピン(A4=SDA, A5=SCL)
- LDR + 51kΩ 分圧 → A1
- DHT11 データ + 4.7kΩ プルアップ → A0
- ESP8266 TX → D10、RX → D11(SoftwareSerial)、CH_PD → 3.3V
- LM2596 出力 3.3V → 全センサー VCC/GND および ESP8266 VCC/GND
基板実装のコツ
- 汎用基板(GCB)に Arduino Nano と ESP8266 はメスピンヘッダーでソケット化
- センサー類と LM2596 はメスコネクターで延長し、ケース蓋・側面に固定
- 配線はワイヤーまたは溶融はんだレールで実装、通電前は必ずマルチメーターでショートチェック
ケース加工(4×4×2 インチ プラスチックボックス)
- 側面:DC ジャック・スイッチ用穴
- 蓋面:センサー露出用穴(寸法図参照)
- ホットナイフまたはドリルで切り出し、ヤスリでバリ取り
- ホットグルーでセンサー・ジャック・スイッチを固定、ねじで蓋を閉める
Arduino スケッチの要点
- ライブラリ:
SoftwareSerial,Wire,dht.h,Adafruit_BMP085.h - SSID・パスワード・Write API Key をスケッチ冒頭で設定
- ESP8266 AT コマンドで STA モード設定 → AP 接続 → TCP 接続 → HTTP GET で ThingSpeak 更新
- 送信間隔:30 秒(
delay(30000)) - デバッグ用に
#define DEBUG 1でシリアル出力可能
ソースコードとライブラリ
完全なスケッチと必要なライブラリは GitHub リポジトリ で公開されています。Fritzing 回路図ファイル(.fzz)も同梱。
製造プロセス
- Raspberry Pi搭載DIYソーラー駆動気象ステーション
- Raspberry Pi 2とADS-WS1で屋外気象観測ステーションを構築
- Raspberry Piで気象観測ステーションを構築し、日次天気データをメール送信
- 気象観測ステーションをCWOPと統合:実践ガイド
- Weather Monitor:Raspberry Pi自作気象ステーション+Dropboxアップロード
- 高度気象ステーション v2.0:温度・気圧・湿度・高度のリアルタイム監視
- スマートブラインド:Arduinoとソーラー電源で実現する自動光制御
- Arduino MKR1000でDHT11センサーデータをThingSpeakにアップロードする方法
- 10ドルで作る携帯型Arduino気象観測ステーション – Nano、DHT22、BMP180、LCDで簡単DIY
- eDOT:高精度Arduino時計・気象ステーション(IRリモコン・自動輝度調整内蔵)
- ArduinoとThingSpeakで作るリアルタイム気象モニタリングシステム