ノーコードIoT開発 NodeRed入門
サーバもエッジも!スピード・アプリ制作
Node-REDによるノーコードIoT開発
![]() |
---|
図1 ノーコードでIoTアプリケーションを開発できる視覚的プログラミング環境「Node-RED」を使って,センサ・データの処理やクラウドとの連携も簡単に実現できる.画像クリックで動画を見る.または記事を読む.[提供・著]後閑 哲也 詳細:[VOD/Pi KIT] ラズパイ×Node-REDで作ろう!IoTアプリ開発入門 |
Node-REDとは
Node-REDは,IBMが2013年に開発したノーコードの開発環境です.インターネット上の各種サービスやデバイスを簡単につなげることを目的としています.オープンソースとして公開され,現在はJS Foundationの管理下にあります.日本語化や高信頼化が進められ,ラズベリー・パイのOS「Raspbian」にも標準搭載されています.
Node-REDの開発環境はWebブラウザ上で動作し,視覚的にノードを配置してワークフローを構築します.プログラミングの知識がなくても,ノードどうしを接続するだけでIoTアプリケーションを開発できます.
- Node-REDはノンプログラミング・ツールとして設計されている
- Webブラウザを利用して開発できる
- オープンソースであり,多くのライブラリが提供されている
- ラズベリー・パイなどのエッジ・デバイスにも適用可能
Node-REDの基本構造
Node-REDの開発環境は,パレット,ワークスペース,サイド・バーの3つの領域で構成されます.
- パレット:プログラムの要素となるノードが配置されており,必要に応じてインターネットから追加できます
- ワークスペース:ノードをドラッグ&ドロップし,線で接続することでフローを構築します
- サイドバー:ノードの設定情報やデバッグ・メッセージが表示されます
フローはノード間を接続することで作成され,その線上をメッセージ・オブジェクトが流れます.このメッセージはJSON形式で記述され,データの受け渡しを行います.
- フローはノードの接続によって構築される
- メッセージ・オブジェクトはJSON形式で表現される
- 「debug」ノードを利用するとメッセージの内容を確認できる
Node-REDの主要な概念
ノードとフロー
Node-REDでは,各ノードが特定の機能をもち,入力を処理して出力を生成します.ノードには自由に名前を付けることができ,設定画面で動作を決定できます.
フローは,ノードの入出力端子を線で接続することで構築されます.フローをデプロイすると,メッセージ・オブジェクトがノード間を流れて処理が実行されます.
- ノードは1つの機能をもつ処理ユニット
- フローはノード間の接続で構築される
- メッセージ・オブジェクトがフロー上を移動する
Node-REDの活用例
Node-REDは,IoTシステムの開発において多くの場面で活用されています.
- センサ・データの収集と可視化
- スマートホームの自動化
- エッジ・コンピューティングによるデータ処理
- クラウドとの連携によるデータ分析
キーワード
Node-REDのフローの中核を担うのが「メッセージ・オブジェクト」です.このオブジェクトは,データの送受信を行うためのJSON形式のデータ構造です.
メッセージ・オブジェクトの構成要素
メッセージ・オブジェクトは,以下の要素で構成されます.
- _msgid:メッセージの識別ID
- payload:ノード間で受け渡されるデータ
- topic:メッセージの種類を区別するキー
メッセージ・オブジェクトは,デフォルトでは`msg.payload`に値が格納されますが,自由にプロパティを追加・削除できます.複数のデータを同時に扱う場合,`msg.temperature`や`msg.humidity`といったプロパティを定義できます.
メッセージのデバッグ
メッセージの送受信を確認するためには,「debug」ノードを利用します.debugノードをフローに追加すると,サイドバーにメッセージの詳細が表示され,フローの動作を確認できます.
- メッセージ・オブジェクトはJSON形式で表現される
- payloadがデータの主要な格納場所
- debugノードを利用するとメッセージの詳細を確認できる
〈著:ZEPマガジン〉
著者紹介
- 1971年 東北大学 工学部卒 大手通信機メーカにて制御機器開発に従事
- 1996年 ホームページ「電子工作の実験室」を開設
- 2003年 有限会社マイクロチップ・デザインラボ設立 代表取締役 計測制御システムコンサルタント,書籍執筆 セミナ講師
- 2012年 神奈川工科大学 工学部 客員教授
著書
- [VOD/KIT/Book/data]ラズパイPico W×ChatGPT APIで学ぶ 会話型IoTエッジ開発,ZEPエンジニアリング株式会社.
- [VOD/KIT]PICマイコン オールイン1日学習キット ,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズパイ×Node-REDで作ろう!IoTアプリ開発入門,ZEPエンジニアリング株式会社.
- 電子工作のための PIC16F1ファミリ活用ガイドブック,技術評論社.
参考文献
- [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
- [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]LabVIEW×Arduino!初めてのパソコン計測&制御【改訂版】,ZEPエンジニアリング株式会社.