IIoTエッジデバイスへのHTTP接続実装:Raspberry Pi DHT-12チュートリアル
編集者注:産業用IoT(IIoT)は産業運用への深い洞察を提供し、接続された機械とシステムの効率を向上させます。大規模IIoTソリューションは階層型アーキテクチャに依存し、多様なセンサーからデータを収集し、それを安全にクラウドに輸送し、生データを実用的なインテリジェンスに変える分析を実行します。『産業用インターネットアプリケーション開発』では、著者らがIIoTアーキテクチャを解剖し、これらの要求の厳しい要件を満たす戦略を概説しています。
『産業用インターネットアプリケーション開発』より抜粋、Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli著。
第3章. IIoTエッジ開発(続き)
Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli著
アプリケーション層プロトコル – HTTP
以下は、Raspberry PiハブとHTTPプロトコルを使用して、DHT-12温湿度センサーからリモートサーバーへデータを送信する方法を実演する実践的な例です。

DHT-12センサーから受信機へのデータフロー
HTTPはウェブで最も広く採用されているプロトコルであり、あなたが使用するほぼすべてのウェブサイトとモバイルアプリケーションの基盤となっています。以下の表は、その主要な特性をまとめたもので、あなたのIIoTシナリオに適しているかどうかを判断するのに役立ちます。
| キー | 値 |
|---|---|
| オープンソース | はい |
| OSI層 | アプリケーション |
| データタイプ | テキスト、HTML、スクリプト、スタイル、フォント、JSON、XML、ストリーム、バイナリ |
| 制限 | 大量のバイナリペイロードには不向き |
| 可能な操作 | データ送信/受信 |
| レイテンシ | 低い |
| 用途 | オンデマンドリクエスト |
| セキュリティ | あり(TLS/SSL) |
| 圧縮 | あり(例:gzip) |
サンプルアプリケーションを構築するには、以下のソフトウェアとハードウェアコンポーネントが必要です。
必要なソフトウェア:
- Node.js 6+
- request パッケージ
- rpi-dht-sensor パッケージ
- Docker
必要なハードウェア:
- Raspberry Pi 3 Model B
- 2A/5V電源アダプター
- 8GB以上 microSDカード + SDアダプター
- DHT-12温湿度センサー
- ブレッドボードとデュポンケーブル
- 有線接続用Ethernetケーブル
デバイスの組み立て
以下の配線図に従って、ブレッドボードを使用してDHT-12センサーをRaspberry Piに接続します。
SDカードの準備
- Raspberry Pi OS から最新のRaspbian Liteイメージをダウンロード。
- SDカードをコンピューターに挿入し、Etcher(https://www.balena.io/etcher/)でイメージを書き込み。
/bootパーティションにsshという空ファイルを作成してSSHを有効化:cd /Volumes/boot
touch ssh- Wi-Fiを有効化するには、
/bootにwpa_supplicant.confを以下の内容で作成:network={ ssid="YOUR_SSID" psk="YOUR_WIFI_PASSWORD" } - SDカードをRaspberry Piに戻し、電源を投入。
Piが起動したら、SSHでログイン(デフォルト認証情報:pi/raspberry)し、センサーアプリケーションの設定を開始できます。
Node.jsプロジェクトのセットアップ
- プロジェクトディレクトリを作成:
mkdir -p ~/sensor ~/sensor/package.jsonに以下の設定を追加:{ "name": "sensor", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "request": "^2.81.0", "rpi-dht-sensor": "^0.1.1" } }~/sensor/index.jsに以下のコードを貼り付け、REMOTE-SERVER-ADDRESS.comをあなたのサーバーURLに置き換え:var rpiDhtSensor = require('rpi-dht-sensor'); var request = require('request'); var receiver = 'https://REMOTE-SERVER-ADDRESS.com:8080'; var dht = new rpiDhtSensor.DHT11(2); function read() { var readout = dht.read(); var data = { temperature: readout.temperature.toFixed(2), humidity: readout.humidity.toFixed(2) }; console.log(data); data.device = 'raspberry'; request.post({url: receiver, form: data}, function(err) { if(err) console.log('Failed to send to ' + receiver); }); setTimeout(read, 1000); } read();- オプション:コンテナ化デプロイ用のDockerfileを作成:
FROM hypriot/rpi-node:boron-onbuild
プロジェクトディレクトリで npm install を実行し、npm start でアプリケーションを開始。センサーは毎秒、温度と湿度の読み取り値を指定されたHTTPエンドポイントに送信し始めます。
クラウドインジェスト、分析、ダッシュボードを含む完全なエンドツーエンドソリューションについては、元のテキストのより広範なIIoTアーキテクチャガイドラインを参照してください。
モノのインターネットテクノロジー
- 産業用IoT(IIoT):定義、範囲、産業への影響
- モノのインターネット(IoE)をナビゲート:ハイパーコネクティビティ成功のためのベストプラクティス
- エッジコンピューティング:5つの落とし穴とその克服法
- インダストリー4.0を昇華:エッジアナリティクスでよりスマートで速い製造を実現
- 現代産業を形作る5つの新興接続性トレンド
- 決定版:トップ10産業用IoTプラットフォームガイド(2024年版)
- IIoTのトレンドと課題:データ過多、製造シフト、スキルギャップ
- エッジ・コンピューティングとIIoT:産業データ戦略の変革
- エッジコンピューティング:クラウド時代の新たな鼓動
- エッジアナリティクス:企業がリアルタイムインサイトを獲得し効率を高める方法
- イノベーションを加速:エッジコンピューティングが自動車業界をどう変革するか