Node-RED: ユースケース: メールボックスの接続
郵便局で数百のメールボックスをシームレスに接続
Stackheroドキュメントへようこそ
Stackheroは、迅速にワークフローを構築できるよう設計された、完全マネージドのNode-REDクラウド環境を提供しています:
- シームレスなIoT統合のための組み込みMQTTサーバー(Mosquitto)
- フローや設定を管理できるNode-RED管理UIへのフルアクセス
- Node-RED Dashboardを標準搭載し、リアルタイムでの可視化が可能
- 送信制限なしの専用SMTPメールサーバーを含む
- インスタンスを常に最新に保つためのワンクリックアップデート
- カスタムドメイン名と自動HTTPS対応:例 https://node-red.your-company.com
- プライベートかつ専用インフラによる高いパフォーマンスと強固なセキュリティ
約5分でセキュアかつ本番運用に対応したNode-REDクラウドホスティングインスタンスを立ち上げることができます。Stackheroがセットアップ、アップデート、インフラ管理を担当するため、オートメーションの構築に集中していただけます。
あるお客様は、郵便局のメールボックスを数百個管理しています。会社は、新しい郵便物(メールではなく、実際の紙の郵便物)が届いたときに顧客に通知することを目指していました。この目的のために、Node-RED、MQTT、MongoDBを活用したIoTソリューションが数日で実装されました。これはAmazon Dashに似ていますが、郵便通知に特化しています。以下はその実現方法です。
IoTデバイスの詳細
IoTデバイスは非常にシンプルです。USBで電源を供給するコンパクトな黒いボックスで、ボタンと赤いライトが組み込まれています。各メールボックスに1台のデバイスが割り当てられています。
郵便物が受付で受け取られると、対応するメールボックスに入れられ、オペレーターがボタンを押します。赤いライトが15秒間点滅します。この期間内にオペレーターが再度ボタンを押すと、通知はキャンセルされます。15秒以内に何もアクションがない場合、顧客にメール通知が送信されます。
ボタンを世界に接続する
各ボタンにはWiFi対応のチップセットであるESP8266が装備されています。このWiFi接続により、デバイスはインターネットと通信できます。
WEMOS D1 Miniボード上のESP8266
ESP8266とサーバー間の通信にはMQTTプロトコルが選ばれました。これは軽量なプロトコルで、IoTアプリケーションに最適です。
ボタンが押されると、15秒の短い待機の後、MQTTを介してサーバーにメッセージが送信されます。サーバーは対応するメールを特定し、顧客に通知を送信します。
警告 MQTTはIoTに最適です。しかし、認証や暗号化はデフォルトで有効になっていません。多くのIoTプラットフォームが攻撃に対して脆弱で、プライベートデータの漏洩を引き起こすことを観察しました。幸いなことに、StackheroでMQTTインスタンスを開始すると、認証と暗号化が有効になり、完全に安全なソリューションが提供されます。
ボタンの押下を受信し、メールを送信する
ボタンのアクションを管理し、ユーザーに通知を送信するために、Node-REDがデータ処理に選ばれ、ユーザーのメールを保存するためにMongoDBデータベースが使用されました。
Node-REDはIBMによって開発されたグラフィカルプログラミングツールで、この種のタスクに最適です。使いやすく、強力で、非常に拡張性があります。
Node-REDのおかげで、お客様はわずか数時間でバックエンド全体を作成することができました!
メールボックスのボタンが押されると、メッセージはMQTTを介してNode-REDに受信されます。Node-REDはMongoDBデータベースで対応するユーザーを見つけ、新しいメールを作成して送信します。
Node-REDフロー: バックエンド全体を作成するのに必要なのはわずか5つのノードです!
警告 StackheroでNode-REDインスタンスを開始すると、MQTTサーバーと専用のメールサーバーが提供され、無制限のメールを送信できます!
バックオフィスインターフェースの作成
バックオフィスインターフェースは郵便局のオペレーターによって使用されます。彼らは必要に応じて、関連するメールを持つ新しいボタンを追加したり、削除したりできます。
Node-REDにはHTTPサーバーが含まれており、HTMLページやAPIを最小限の労力で作成できます。
Node-REDバックオフィスフロー
バックオフィスインターフェース全体はNode-RED内で直接開発されました。認証付きのHTMLページと2つのルートを持つAPIで構成されています。最初のAPIルートは新しいボタンの追加を可能にし、2番目のルートは既存のボタンの削除を容易にします。
結論
Node-REDはこのプロジェクトの基盤として機能しました。Stackheroのインスタンスが安全なMQTTサーバーとメールサーバーを提供することで、プロジェクトはわずか数時間で実現され、従来のツールでは実現できないものでした。
Node-REDは無限の可能性を提供します。たとえば、任意のAPIやデータベースに接続し、外部モジュールを簡単に追加できます(約2000のモジュールが利用可能です!)。
Node-REDに興味がある場合は、Stackheroでわずか2分でインスタンスを開始できます: Node-RED.