SlideShare a Scribd company logo
IoTビジネスの現場で学んだ
Node-RED活用術
吉野祥之(Yoshino Akiyuki)
2018/11/28 @ Node-RED UG
• NTTコミュニケーションズ株式会社
• 経営企画部 IoT推進室
• 主にIoTデバイスのエンジニアリングや
プロトタイピングを担当
• EnOcean芸人ともいう
• 2児(3歳♂/1歳♀)の父親やってます
吉野 祥之(よしの あきゆき)
Things Cloud ®
データ収集・可視化がすぐに実現できるIoT向けAEP*
*AEP=Application Enablement Platformの略称
オフィス移転進行中
IoT仕込みました
Meeting Space Monitoring
• Up to 200 devices (GW, Sensor)
Restroom Monitoring
• Up to 1,000 devices (GW, Sensor, Light)
Node-REDで作りました
IoT × Node-REDの親和性
■ IoTあるある
• ビジネスモデルが超ゆるふわ -> プロトタイピングが有効
• 必要な機能はシンプルかつ大概似てる -> 再利用率が高い
• センサ入力 -> データ加工 -> クラウドへのPOST
• クラウドへのPolling -> 処理内容取得 -> ローカルデバイスの制御
■ Node-REDの利点
• 習熟コストが低い -> GUIエディタ、同期処理的な記法
• 開発スピードが早い -> デバッグノード、豊富な入出力、再利用性
IoTにはNode-REDが有効
本題:Node-RED活用のノウハウ
データモデル デザインパターン Tips
本題:Node-RED活用のノウハウ
データモデル デザインパターン Tips
データモデルの考え方
• Node-RED初学者に対して真っ先に伝えるべき点(だと思う)
• 必要な変数はメッセージ変数(msg)のプロパティとして扱うのが基本
• デバッグノードが使える、msg._msgidで一意性が担保される、などいいことが多
い
• ただしmsg.payload、msg.url、msg.req、msg.resなど予約語的にノードで利用さ
れる変数があることは知っておく(利用を避ける)
• サブフローへのパラメータ受け渡しはmsg.paramにする、などしておくと汚染さ
れづらい
データモデルの考え方
• Functionノード内だけで利用する変数はメッセージ変数にしない
• メモリ節約観点でも重要
• タブ間でデータを共通して利用する必要があればグローバルコンテクス
ト(global)の利用はアリ
• コンフィグパラメータか状態値(フラグ)など
• その他のデータを受け渡しする場合はUI&APIパターンを検討すべき
• 基本は各タブでフロー完結させる方が望ましい
• コンテクストオブジェクト(context)やフロー変数(flow)はあまり使ったこと
がない
• コンテクストオブジェクトは使い所ありそうな気もするけれど
本題:Node-RED活用のノウハウ
データモデル デザインパターン Tips
デザインパターン
• Node-REDの癖が如実に現れる部分、生産性/メンテナンス性が大
きく変わる
• Node-REDの基本ノードを最大限活用するのが前提
• Functionノードの利用は必要最小限とし、1つのFunctionノード内のコード量
は極力小さくする
• https://qiita.com/zuhito/items/e9abfd6f1ba188f908ed は必読
• ただし全部を使うことはない
よく使うデザインパターン
2. UI & APIパターン
• 特にAPIパターンの方で内部ロジックを実装
• ログ出力をこのパターンで実装するのもアリ
• クラウド環境ではlocalhost指定ができない場合があることに注意
4. Whileパターン
• 基本中の基本
よく使うデザインパターン
5. Sequenceパターン
• サブフロー内での値退避など
• さっと作るには重宝
6. Aggregatorパターン
• 設定ファイルの読み出し
• APIの並列呼び出し
本題:Node-RED活用のノウハウ
データモデル デザインパターン Tips
その他のTIPS
• Cron的にメッセージ出力したい
• 定期的に死活メッセージを飛ばす、試験用データ作る、etc.
• Injectノードでできる
その他のTIPS
• 初期化待ち
• 初期化処理を確実に終わらせてから後続処理したい時に
• 複数の機能を持たせたい時に共通仕様にしておくと楽
• 初期化フラグはglobal変数にしておけばタブまたぎで使える
その他のTIPS
• ロギング
• Debugノードを利用するよりFunctionノードの方が自由度高い
• node.debug() / node.trace() がv0.18.5で使えるようになった
• しかしNode-REDのVersionによって処理分けないと怖い
• ロギング用ノードをつける時にはノード接続順に注意
• ノード接続順次第でログ出力順序が狂いやすくなる
その他のTIPS
• Functionノード内でのrequire
• Moment.js使いたいよね、、、
• settings.jsに書けば使える(公式に書いてある)
https://nodered.jp/docs/writing-functions
その他のつらみ
• 構成管理辛すぎるぉ
• 愚直にコメントノード置いて涙ぐましく管理
• diff取れないの怖い
• サブフローの管理はさらに大変、、みなさんどうしてますか
• VersionUP激しいぉ
• メジャーなノードにもゴリゴリ更新入るので互換性確保が怖い
• contrib系のノードに手を出しづらい一因でもある
• Node.jsもLTS出たことですし、、、
• テストのノウハウ貯めたいぉ
• 複雑なことやりだすと死ねそう
まとめ
• IoTとNode-REDの親和性
• 習熟コストの低さ、再利用性の高さ、Try&Errorの高速化
• Node-RED特有の開発ノウハウ
• データモデル設計
• デザインパターン
• UI&API / While / Sequence / Aggregator
• その他tips
• Cron実行 / 初期化待ち / ロギング / require
• 困りごと
• 構成管理、VersionUP、テスト方法、etc.
Thank you!

More Related Content

PPTX
スマートスピーカーとRaspberry Piで物品管理にトライ
PDF
酷暑を乗り切る熱中症予防IoT
PDF
電池レス&配線レスでIoTが超絶簡単になった件
PDF
EnOcean × Node-REDで簡単・本格IoT
PDF
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
PDF
JAWS-UG re:Mote 2015 地方こそチャンス!? AWSとIoT
PDF
片岡Io tltシリーズネタ 2016/10/29
PDF
やろうぜ!おうちハック at IOT LT #6 Talk
スマートスピーカーとRaspberry Piで物品管理にトライ
酷暑を乗り切る熱中症予防IoT
電池レス&配線レスでIoTが超絶簡単になった件
EnOcean × Node-REDで簡単・本格IoT
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
JAWS-UG re:Mote 2015 地方こそチャンス!? AWSとIoT
片岡Io tltシリーズネタ 2016/10/29
やろうぜ!おうちハック at IOT LT #6 Talk

What's hot (20)

PPTX
20211209 it trend
PDF
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
PDF
Milkcocoa meetup
PDF
EIoTLTvol1
PPTX
オフィスライフについて本気出して考えてみた
PDF
20200514 classmethod online seminar
PDF
コードを書かずにLチカ。から始めよう
PPTX
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
PDF
AITCオープンラボ IoTx総まとめ これまでのふりかえり
PPTX
Memories of my youth, FM-77 and OS-9
PPTX
20190802 class method_osaka_aws
PDF
IoT勉強会「IoTデバイス Intel Edison編」
PDF
20191016 class method_tokyo_aws
ODP
Iot2bio2 20160521
PPTX
Nefryでiotカーテン作ってみた
PPTX
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
PPT
Real->Virtual変換システムの開発その1の2
PDF
2021 12-02.koga.lecture note-revised
PDF
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
PPTX
スモールスタートで始めよう! IoT/AIでデジタルトランスフォーメーションを加速する
20211209 it trend
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Milkcocoa meetup
EIoTLTvol1
オフィスライフについて本気出して考えてみた
20200514 classmethod online seminar
コードを書かずにLチカ。から始めよう
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
AITCオープンラボ IoTx総まとめ これまでのふりかえり
Memories of my youth, FM-77 and OS-9
20190802 class method_osaka_aws
IoT勉強会「IoTデバイス Intel Edison編」
20191016 class method_tokyo_aws
Iot2bio2 20160521
Nefryでiotカーテン作ってみた
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
Real->Virtual変換システムの開発その1の2
2021 12-02.koga.lecture note-revised
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
スモールスタートで始めよう! IoT/AIでデジタルトランスフォーメーションを加速する
Ad

Similar to IoTビジネスの現場で学んだNode-RED活用術 (20)

PDF
Node-REDをIoTビジネスに適用するために苦労した3つの話
PDF
Node RED で実現する製造業の DX
PDF
Node-REDをIoTビジネスに適用するために苦労した3つの話【Node-RED Con Tokyo 2019】
PPTX
Current status and future trends in Node-RED
PDF
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
PDF
Node-REDをビジネスで使い倒してenebularを作った話
PDF
Try IoT with Node-RED
PDF
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
PDF
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
PDF
プロのためのNode-RED再入門
PDF
Node-RED Conference2020 naotakasaito
PDF
IoTシステムを支えるワンストップ基盤 Plat'Data Processing
PDF
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
PDF
IoT GatewayとNode-REDの美味しい関係 - OpenBlocks IoTへのNode-REDの実装 -
PPTX
SBTのIoTへの取り組み
PDF
Japan IT Week 春 IoT/M2M展 ウイングアーク1st様ブース | 作らずに実現!働く現場に効くIoTの活用術ー明日から始められるIoTー
PPTX
Node-redでお手軽IoT
PDF
20141129第1回九州IoT/M2M勉強会 〜IoTでのクラウド利用〜
PDF
20170703_07 IoTシステム開発スタートアップって本を書こうと思ったら大変だった
PPTX
SORACOM Conference "Discovery" 2018 | B3. IoT活用のはじめ方 〜IoTシステムを迅速に構築する手法
Node-REDをIoTビジネスに適用するために苦労した3つの話
Node RED で実現する製造業の DX
Node-REDをIoTビジネスに適用するために苦労した3つの話【Node-RED Con Tokyo 2019】
Current status and future trends in Node-RED
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
Node-REDをビジネスで使い倒してenebularを作った話
Try IoT with Node-RED
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
プロのためのNode-RED再入門
Node-RED Conference2020 naotakasaito
IoTシステムを支えるワンストップ基盤 Plat'Data Processing
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
IoT GatewayとNode-REDの美味しい関係 - OpenBlocks IoTへのNode-REDの実装 -
SBTのIoTへの取り組み
Japan IT Week 春 IoT/M2M展 ウイングアーク1st様ブース | 作らずに実現!働く現場に効くIoTの活用術ー明日から始められるIoTー
Node-redでお手軽IoT
20141129第1回九州IoT/M2M勉強会 〜IoTでのクラウド利用〜
20170703_07 IoTシステム開発スタートアップって本を書こうと思ったら大変だった
SORACOM Conference "Discovery" 2018 | B3. IoT活用のはじめ方 〜IoTシステムを迅速に構築する手法
Ad

IoTビジネスの現場で学んだNode-RED活用術