スマート室内空気品質・廃棄物監視システム:Raspberry Pi/Arduino/NodeMCUでIOTA Tangle連携
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Raspberry Pi 3 Model B | 1 | メインコントローラー |
| Arduino UNO | 1 | センサーインターフェース用 |
| NodeMCU ESP8266 | 1 | WiFi・MQTT通信用 |
| DHT11 温湿度センサー | 1 | |
| MQ-2 ガスセンサー (LPG等) | 1 | Groveモジュール推奨 |
| MQ-7 COガスセンサー | 1 | |
| 超音波距離センサー HC-SR04 | 1 | ゴミ箱レベル検知用 |
| 電源・ケーブル類 | 一式 | Pi用電源、HDMI、USB、ジャンパー、5Vバッテリー等 |
使用ソフトウェア・サービス
- IOTA Tangle(分散台帳技術、DAGベース、手数料なし)
- Node.js(Raspberry Pi上で実行)
- Raspbian OS
- Arduino IDE
- MQTT(Mosquittoブローカー)
プロジェクト概要
1. はじめに
ビルオートメーション(空調、照明等の一元管理)とIOTA Tangle(ブロックチェーンではなくDAG採用、無手数料・低レイテンシ・高スケーラビリティ)を組み合わせた監視システムです。3段階で構築します。
2. ソフトウェアインストール
- Raspberry PiにRaspbian(NOOBS)をインストール
- Node.js v8.xをインストール
- BCM2835ライブラリをビルド(DHT11制御用)
- GitHubからプロジェクトをクローンし、npm install
- serialportライブラリをインストール
- Arduino IDEをインストール
3. 室内空気品質監視システム v1(DHT11のみ)
構成: Raspberry Pi → DHT11 → IOTA Tangle (MAM: Masked Authenticated Messaging)
手順:
- sensor.js:温湿度を読み取り表示
- mam_sensor.js:データをMAMでTangleに送信(制限モード、サイドキー使用)
- mam_receive.js:Rootからデータを取得表示
- ノード:
https://potato.iotasalad.org:14265で動作確認済み - 送信データ:都市名、建物番号、日時(UTC)、温度(℃/℉)、湿度(%)
4. 室内空気品質監視システム v2(DHT11 + MQ-2 + MQ-7)
構成: Arduino UNO(3センサー読み取り) → シリアル → Raspberry Pi → IOTA Tangle (MAM)
追加ファイル:
- sensorArduino.ino:3センサーのデータ取得
- listportsArduino.ino:シリアルポート確認
- sensorArduino.js / mam_sensorArduino.js / mam_receiveArduino.js
Arduinoライブラリ(DHT11, MQ-2, MQ-7)をインストールし、スケッチをアップロード。Node.js側でシリアルデータを受信しMAMで送信。送信データにLPG(ppm)、CO(ppm)が追加。
5. ゴミ監視システム(NodeMCU + 超音波センサー)
構成: NodeMCU (HC-SR04) → MQTT → Raspberry Pi (Mosquitto) → IOTA Tangle (MAM)
手順:
- NodeMCUにESP8266ボードパッケージをインストール
- PubSubClientライブラリでMQTT通信実装
- Raspberry PiにMosquitto MQTTブローカーをインストール・設定
- trashcan.ino:ゴミ箱の深さから充填率(%)を計算しMQTT送信
- nodemcu_mqtt_mam.js:MQTT購読しMAMでTangleに送信
- 送信データ:都市名、建物番号、日時、ゴミ充填率(%)
6. 結論
- v1:DHT11のみで基本動作確認。メキシコシティのビルでシミュレーション
- v2:ガスセンサー追加で実用性向上。NYのビルでシミュレーション。LPガス使用施設や火災リスク現場に適用可能
- ゴミ監視:ベルリンのスマートビルでゴミ充填率を遠隔監視。悪臭・衛生問題を予防
ソースコード
主要なJavaScriptファイル(sensor.js, mam_sensor.js, mam_receive.js, mam_sensorArduino.js, mam_receiveArduino.js)とArduinoスケッチが提供されています。GitHubリポジトリ:guillengap/indoor-air-quality-and-garbage-monitoring-system
回路図
各バージョンの配線図・ブロック図が提供されています。
製造プロセス
- Raspberry Piで構築する空気質・気象ステーション:InfluxDB & Grafana活用
- Raspberry PiとNagiosで室温を効率監視
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- ホームエナジーセンター:Raspberry PiとMoteinoで太陽光発電、ソーラー熱、室温を監視
- Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
- Raspberry Piフォトセルログ&アラートシステム - Pythonで低消費電力光センサーを構築
- Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
- Raspberry PiとTwilioで実現するトイレ占有センサー:音声通話とSMSで通知
- Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
- Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
- Raspberry Piでホームセキュリティシステムを構築:PIRモーション検知+カメラメール通知