Raspberry Pi、DHT11、ThingSpeakで作る初めてのIoTプロジェクト
IoT(モノのインターネット)は、日常デバイスとのインタラクションを一変させています。センサーがデータをクラウドにストリーミングすれば、どこからでも環境を監視・管理できます。IoT初心者には、温度・湿度・光量モニターが最適なスタート地点です。
湿気の多い北東部の夏、地下室の環境は劇的に変化します。私のワークショップは除湿機で乾燥していますが、真夏の外気温より涼しいままです。実際にどれほど涼しく、湿度が高いのか知りたくて、この最初のIoTプロジェクトを始めました。
DHT11センサーは安価で温度と相対湿度を測定できます。実験室レベルの精度ではありませんが、地下室環境の監視には十分です。また、安価なフォトレジスタを追加して、照明の消し忘れも検知できるようにしました。
独自のWebサーバーを構築する代わり、シンプルなAPIでセンサーデータの投稿と可視化ができるThingSpeakを採用しました。
ステップ1:プロジェクトに必要なもの
ブレッドボードでプロトタイピングするため、はんだ付けは不要です。設計検証後、必要ならPCBに移行できます。
ハードウェア:
- Raspberry Pi 2(SDカード、Raspbian OS付き)
- USB電源アダプター
- USBケーブル
- ブレッドボードとジャンパーワイヤー
- DHT11センサー × 2
- 10kΩ抵抗 × 2
- フォトセル(フォトレジスタ) × 2
- 1µFコンデンサ × 2
ステップ2:Raspberry Piの準備
まずPiにRaspbianをインストールします。ヘルプが必要な場合は、Soldering Sundayガイドや公式のRaspberry Pi OSインストールガイドを参照してください。
次に、GPIOアクセスのためのPythonサポートを有効化。AdafruitのGPIOライブラリとDHTライブラリが必要です。公式Adafruitチュートリアルに従ってください:
ステップ3:GPIOピンの理解
GPIO(汎用入出力)ピンは、Piのソフトウェアと外部ハードウェアをつなぐ橋渡し役です。全Raspberry Piモデルでピン1〜26は共通、新しいボードではピン27〜40が追加されています。コードで使用するGPIO番号と物理ピン番号を常に照合し、誤配線を防ぎましょう。
詳細はGPIOチュートリアルを参照してください。
ステップ4:回路を組み立てる
Piの電源を切ってからブレッドボードを接続し、破損を防ぎます。Dupontジャンパーケーブル(Piヘッダー側メス、ブレッドボード側オス)を使用します。
以下を接続:
- DHT11 – ピン1を3.3V、ピン2をPi GPIO 23(ピン16)に4.7kΩプルアップ抵抗経由で3.3Vに、ピン4をグランドに
- フォトレジスタ – 片足を3.3V、もう片足をPi GPIO 24(ピン18)に。フォトレジスタの足とグランド間に1µFコンデンサを挟んでノイズ除去
添付のFritzing図と写真で配線を確認してください。
ステップ5:ThingSpeakでIoTデータをセットアップ
ThingSpeakにアクセスし、無料アカウントを作成して新しいチャネルを追加。チャネル名とフィールド(例:Temperature、Humidity、Light)を設定します。フィールドの順序は後でデータ投稿時に重要になります。
チャネルの公開/非公開を選び、必要なら位置情報を設定。チャネルのWrite APIキーをコピーしておきます。Pythonスクリプトでデータを投稿する際に必要です。
ハードウェア配線とチャネル設定が完了したら、センサー値を読み取ってThingSpeakに投稿するPythonスクリプトを作成します。スクリプトを実行すれば、地下室の環境をどこからでも監視できるようになります。
製造プロセス
- 複数DS18B20 1-WireセンサーをRaspberry Pi接続で精密温度監視
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- 初心者向けIoTチュートリアル:Raspberry Piから温度データをストリーミング
- 気象観測ステーションをCWOPと統合:実践ガイド
- センサーデータをRaspberry Piに統合:実践ガイド
- Raspberry PiとBrickPiでThingSpeak温度モニターを構築
- Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
- Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
- Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
- Raspberry Pi GPIOマスター:PIRモーションセンサーをB+/Model 2でインターフェース
- Acconeer A111パルスレーダーをRaspberry Piと統合:実践ガイド