SlideShare a Scribd company logo
1 of 60
© Hitachi, Ltd. 2019. All rights reserved.
日立製作所 中央研究所
2019/12/26
横井 一仁
Node-REDの今とこれから
© Hitachi, Ltd. 2019. All rights reserved.
横井 一仁 (Yokoi Kazuhito)
• GitHub上のNode-REDプロジェクトの開発メンバ
• Node-REDのサブプロジェクト、Node generatorのメンテナ
• Node+JS Interactive 2018のスピーカー
• 日本Node-REDユーザ会の運営メンバ
https://www.hitachi.co.jp/rd/portal/contents/story/nodered
自己紹介
1
サイトに開発ストーリーが
載っています
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDの今
2
© Hitachi, Ltd. 2019. All rights reserved.
JavaScript関連のプロジェクトを管理するLinux Foundation傘下の組織
• Node-REDや Node.js、jQuery、WebdriverIO、Mocha、Express、
Grunt、Electron等のJavaScript関連の主要プロジェクトを推進
• Google、IBM、Microsoft、Intel、BrowserStack、
npm、Red Hat等がメンバとして参画
https://openjsf.org/projects/
OpenJS Foundation
3
Node-REDはOpenJS Foundation
のプロジェクトの1つ
OpenJS Foundationのプロジェクト
© Hitachi, Ltd. 2019. All rights reserved.
中小の産業オートメーションベンダは、Node-RED等のソフトウェア
によって協力し、既存の大企業と競争できるようになる
• 「Node-REDは、プロトコル変換とエッジからクラウドへの接続を
するための最も人気のあるオープンソースソフトウェア」
• 「製品でNode-REDをサポートする産業用接続ハードウェア
ベンダは、少なくとも13社もある」
IoT調査会社のレポート
4
https://iot-analytics.com/5-industrial-connectivity-trends-driving-the-it-ot-convergence/
© Hitachi, Ltd. 2019. All rights reserved.
採用企業
5
• クラウド環境
- AT&T, AT&T IoT Platform
- CISCO, Meraki
- Fujitsu, K5 COLMINA Platform
- Google, Xively
- Hitachi, Lumada
- IBM, IBM Cloud
- NEC, Obbligato
- Nokia, Nokia Innovation Platform
- Orion Labs, Orion Platform
- Particle, IoT Rules Engine
- Sense Tecnic, FRED
- Siemens, MindSphere Visual Flow Creator
- Uhuru, enebular
• エッジデバイス
- Fujitsu, INTELLIEDGE A700 Appliance
- GE, Predix Developer Kit
- Hewlett Packard Enterprise, Edgeline OT Link
- Intel, Intel IoT Gateway
- NEC, CONNEXIVE IoT Connectivity Engine
- Samsung, Artik
- Schneider Electric, Edge Box
- Siemens, SIMATIC IOT2020
- Toshiba, SPINEX
• ノード
- Fujitsu, K5 IoT Platform
- IBM, dashDB, Cloudant, OpenWhisk,
Watson, Watson IoT Platform
- Microsoft, Azure IoT Hub,
Azure Cognitive Services,
Azure Blob Storage,
Azure Cosmos DB,
Azure Event Hub, Azure SQL,
Azure Table Storage
- NEC, Mobile Backend Platform SecureWare
- Siemens, MindConnect
主要なIoTプラットフォームでNode-REDが
採用されている
© Hitachi, Ltd. 2019. All rights reserved.
橋のインタラクティブな照明制御でNode-REDを活用
• 日の出日の入り、天気や交通量等の街のデータによって照明が変化
• ツイートに合わせて照明を制御
商用利用の例1
6
https://www.youtube.com/watch?v=XaNNAVPGS4Q
の動画を投影
© Hitachi, Ltd. 2019. All rights reserved.
電気自動車の情報取得や可視化のため車載デバイスでNode-REDを活用
• モータの温度、窓の状態をダッシュボードに表示
• 窓の上下、ライト点灯消灯、ミラー操作をダッシュボードから指示
商用利用の例2
7
https://www.youtube.com/watch?v=Sv6vhBh1eSQ
の動画を投影
© Hitachi, Ltd. 2019. All rights reserved.
テーマパークの模型をインタラクティブに動作させるためNode-REDを活用
• 人が前を通ると、恐竜が反応するフローをNode-REDを用いて実装
• Raspberry Pi上のNode-REDを用いて恐竜を制御
商用利用の例3
8
https://www.youtube.com/watch?v=4d4P0PV1wUQ
の動画を投影
© Hitachi, Ltd. 2019. All rights reserved.
ビール工場のポンプの予兆保全のためにNode-REDを活用
• ポンプの圧力、温度、電流のデータを時系列データベースに転送
• 1秒毎に値を取得し、異常値がある場合に保守員へメール通知
商用利用の例4
9
https://www.youtube.com/watch?v=rz09FHxGSHE
の動画を投影
© Hitachi, Ltd. 2019. All rights reserved.
センサと接続したエッジデバイスでNode-REDを活用
• センサから取得したデータをクラウドへ転送
• セキュティやリアルタイム性確保のためのエッジ分析
商用利用の例5
10
https://www.youtube.com/watch?v=pnfSU52ZSOk
の動画を投影
© Hitachi, Ltd. 2019. All rights reserved.
産業機器の予兆保全のためにNode-REDを活用
• センサデータをMATLABを用いて分析して、残存寿命を予測
• 保守員を派遣のため業務管理システムMicrosoft Dynamicsに案件登録
https://www.hitachi.co.jp/New/cnews/month/2018/06/0620.html
商用利用の例6
11
(1) データ取得
(3) 異常判定
(4) 保守案件登録
MathWorks
MATLAB
Microsoft
Dynamics
ダッシュボード
産業機器
REST
API
(2) 分析処理
REST
API
データの可視化
© Hitachi, Ltd. 2019. All rights reserved.
商用利用の例6
12
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDでできること
13
既存
システム
先端技術
(6)データ可視化
(4)データ
転送
(2)プロトコル変換
(3)エッジ分析
(5)データ
蓄積
データベース
(7)接続
(1)データ
集取
エッジ環境とクラウド環境を連携させたIoTシステムを開発できる。
現場システム
エッジ環境 クラウド環境
© Hitachi, Ltd. 2019. All rights reserved.
開発の裏側
14
© Hitachi, Ltd. 2019. All rights reserved.
以下の理由でNode-REDを採用し、Node-REDの開発チームに参加
• 現場システムのソフトウェアのコンテナ化、REST API化を進め、
マイクロサービス型の開発を促進
• クラウドネイティブアプリケーションが稼働する基盤を構築
• 現場で作られた図面を、直感的に分かりやすい実行可能な生きた
ソフトウェアの形式で共有、再利用して新規開発工数を削減
https://js.foundation/announcements/2017/08/09/hitachi-announces-commitment-to-node-red
Node-RED採用理由
15
JS Foundation(現在OpenJS Foundation)のニュースリリース
© Hitachi, Ltd. 2019. All rights reserved.
Node-RED本体の全ソースコードをOSS化するUpstream first開発の利点
• 安定したリリースを製品に採用するタイミングの把握
• バグが見つかった際に迅速に修正できる体制確保
• 独自機能を継続にメンテナンスする工数を不要化
• ビジネスや標準化の関連機能の取り込みを依頼しやすい関係構築
• コミュニティメンバで新技術やサービスの使い方を
お互いに教え合うことでエンジニアの技術力向上
• Raspberry Pi等のコンシューマ向けデバイス、
他社クラウドで自分のコードが動く達成感、責任感
OSSの開発に参加するメリット
16
© Hitachi, Ltd. 2019. All rights reserved.
2016年末頃は、日立がNode-REDの開発に参加しやすい状況
• 日立とIBM Japanとのつながり
• Node-REDがJS Foundation(OpenJS Foundation統合前)のプロジェクト化
• Node-RED勉強会を2回、日立の会場で開催した実績
• フローエディタの日本語化コードを提供可能な状態
-> F2Fミーティングを打診
開発チームに参加の打診
17
https://www.ibm.com/blogs/solutions/jp-ja/introduction-of-nodered/
開発元のIBM UKに訪問
© Hitachi, Ltd. 2019. All rights reserved.
2週間英国に滞在し、Node-REDコミュニティでの開発の進め方を学んだ。
• 時差がないため、効率的に議論と開発を進めることができた。
• 帰国後にオンラインでもスムーズに議論を進めれる関係構築
ブートキャンプ
18
Discussion Coding
夕食の様子議論と開発の繰り返し
© Hitachi, Ltd. 2019. All rights reserved.
オンライン/オフラインの両方でコミュニケーションを取り、
バグ修正や機能開発を推進中
• Slackミーティング(2週間に1回)
• テレカンファレンス(2~4ヵ月に1回)
• F2Fミーティング(半年に1回)
現在の開発方法
19
フォーラムのページSlackでの議論
https://nodered.org/slack/ https://discourse.nodered.org/
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDv1.0の新機能
20
© Hitachi, Ltd. 2019. All rights reserved.
2019年9月30日にNode-REDの正式版v1.0をリリース
• Node-REDが成熟、安定し、
生産性を高めるためのツールとして
プロダクション利用のための整備が
整ったことを示すリリース
• v1.0の新機能
- パレットのカテゴリ、ノードの配置変更
- completeノード
- サブフローインスタンスプロパティUI
- ビジュアルJSONエディタ
- ショートカットキー、クイックワイヤリング
- 読み込み/書き込みダイアログのUI変更
https://nodered.jp/blog/2019/09/30/version-1-0-released
Node-RED v1.0
21
© Hitachi, Ltd. 2019. All rights reserved.
ノードのカテゴリ、配置をより分かりやすくなる様に変更
• ノードが所属するカテゴリを整理
• 組みで用いるノードを上下に配置
パレットのカテゴリ、ノードの配置変更
22
v0.20.7以前 v1.0以降
組み合わせて
用いるノードの例
ノードのカテゴリ変更
© Hitachi, Ltd. 2019. All rights reserved.
終端ノードの処理完了を待ち、別の処理を継続する機能
• WebSocket outノードがデータ送信を完了したイベントを
completeノードでキャッチ
• completeノードの後ろにデータ送信完了後に実行するフローを記述
completeノード(ノード実行の完了検知機能)
23
WebSocket outノード
のデータ送信完了
をキャッチ
Completeノードの
後ろに後続の処理を追加
© Hitachi, Ltd. 2019. All rights reserved.
サブフローに対して設定UIを定義する機能
• 例えば、サブフローを用いてMySQLノード
(node-red-node-mysqlモジュール)と同等のノードの見た目を定義可能
サブフローインスタンスプロパティUI
24
サブフローのUI定義 ノードプロパティUI
MySQLノード同じ色
カテゴリ、アイコン MySQLノードと
同等のノードの説明
コーディング不要で
ノードプロパティUI
を開発可能
MySQLノードと
同等のノードプロパティ
© Hitachi, Ltd. 2019. All rights reserved.
マウス操作と最低限のキー入力でJSONデータを作成できるエディタ
• キー名のクォーテーション有無、複数オブジェクト記載時の
カンマ有無によるバグを回避
• タブレット等でもJSONデータの作成が容易
ビジュアルJSONエディタ
25
ビジュアルJSONエディタ 作成したJSONデータ
マウス操作で
JSONデータ
を作成
© Hitachi, Ltd. 2019. All rights reserved.
デプロイや「やり直し」を行うショートカットキーを新規追加
• Ctrl+d: フローをデプロイ
• Ctrl+z: 元に戻す(v1.0以前から存在)
• Ctrl+y: やり直し
ショートカットキー
26
Deleteキーで
ノードを削除
Ctrl+yで
やり直し
Ctrl+zで元に戻す
「やり直し」の操作例
© Hitachi, Ltd. 2019. All rights reserved.
プルダウンメニューからノードを選択できるクイックワイヤリングに機能追加
• v0.20.7以前は、ワークスペース上のみ対応
• v1.0からワイヤー上でもプルダウンメニューを表示
ワイヤリング操作
27
(1) Ctrl+クリック
(2) プルダウンメニューから
ノードを選択
クイックワイヤリングの機能
© Hitachi, Ltd. 2019. All rights reserved.
複数タブの一括削除のために、タブを選択する機能がWindowsに対応
• Ctrlキーを押しながらタブをクリックしてタブ選択*
• Shiftキーを押して、複数のタブを選択
• タブ間の隙間をクリックすることで、新規タブを追加
* v1.0で対応、他はv1.0以前から存在
タブ操作
28
タブを選択ダブルクリックにより
新規タブを追加
タブ操作の例
© Hitachi, Ltd. 2019. All rights reserved.
クリップボード、ライブラリ、フロー例からフローの
読み込みや書き込みを行うためのダイアログ
• Node-RED v0.20.7以前は、メニューからサンプルフローを
選択する仕様になっており、マウス操作が困難
• ダイアログ化したことでフローの選択を容易化
読み込み/書き込みダイアログ
29
Node-RED v0.20.7以前 Node-RED v1.0.0以降
マウスポインタが黒枠から
外れたら最初からやり直し
確実にフローを選択可能
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDv1.0以前の機能
30
© Hitachi, Ltd. 2019. All rights reserved.
v1.0の開発ロードマップは2年前に公開され、様々な機能を開発
• v0.16
- エディタの日本語表示対応
• v0.17
- エディタの中国語表示対応
• v0.18
- プロジェクト機能
- 順序保証ノード
- アイコン変更機能
Node-REDv1.0開発ロードマップ
31
• v0.19
- コンテキストデータの永続化
• v0.20
- ドイツ語、韓国語対応
- UIテスト
https://speakerdeck.com/knolleary/deploying-node-red-apps-to-devices-using-resin-dot-io?slide=39
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDのフローをGitを用いて、バージョン管理できる機能
• 状況に応じてフロー全体を切り替えたい時に便利
• GitLabやGitHubとの連携も可能
プロジェクト機能
32
© Hitachi, Ltd. 2019. All rights reserved.
フローコンテキストやグローバルコンテキストのデータを
ファイルに格納することで、再起動やクラッシュ時もデータを永続化
コンテキストデータ永続化(Persistent store)
33
Node-RED
停止&再起動
メモリ
Node-RED
停止&再起動
ファイル ファイル
ファイルに格納すれば...
メモリ上に格納していたため... データが消失…
データを保持できます
• Persistent storeがない時
• Persistent storeがある時
© Hitachi, Ltd. 2019. All rights reserved.
各ノードに説明文を記載できる機能
• 従来はノードの説明を記載する場合、commentノードを用いる
必要があり、多用するとフローの可読性が低下していた問題を解決
• 特に、説明がないと処理内容が不明なfunctionノードで便利な機能
ノードの説明文追加機能
34
記載した説明文は、
情報タブに表示される
Markdown形式で
ノードの説明を記載
Commentノードを
沢山用いることで
可読性が低下
[従来] [ノードの説明文追加機能]
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDフローエディタの新規バグを避けるための自動UIテスト
• Cookbookのエディタ操作を記載したコードを実行しテスト
• 複数バージョンのブラウザやOSをテストしサポート環境リスト作成
自動UIテスト
35
© Hitachi, Ltd. 2019. All rights reserved.
Google Chrome Firefox
macOS
Windows
クラウド上の複数のブラウザ環境を用いて、自動UIテストを実行した例
自動UIテスト
36
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDのサブプロジェクト
37
© Hitachi, Ltd. 2019. All rights reserved.
データのグラフ表示や、入力UIを作成するNode-REDの部品
Node-REDフローエディタ上でダッシュボードUIを開発可能
Node-REDダッシュボード
38
Node-REDダッシュボードのUI
https://flows.nodered.org/node/node-red-dashboard
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDダッシュボードに、テーブルを表示できるノード
• 各産業機器の稼働状態などのデータを一覧表示する際等で利用
• 表の幅調整、画像表示等もNode-REDフローエディタからカスタマイズ可
ダッシュボード向け可視化部品(テーブルノード)
39
テーブル表示ノードの例
https://github.com/node-red/node-red-ui-nodes
© Hitachi, Ltd. 2019. All rights reserved.
Open APIドキュメント等の定義やfunctionノードのソースコードから
ノードを自動生成するツール
• Linux Foundation (JS Foundation) のオープンソースソフトウェア
• 日立以外にもCisco、IBM等の企業で採用
オリジナルノード開発ツールNode generator
40
Node
generator
Open API
ドキュメント
ノード
https://github.com/node-red/node-red-nodegen
https://qiita.com/kazuhitoyokoi/items/a95fe4f92c03af195732
https://qiita.com/kazuhitoyokoi/items/77333548635d9e8a8387
ノードを
自動生成
npmjsにて
“nodegen”で検索
© Hitachi, Ltd. 2019. All rights reserved.
ノードを生成するソースとして、Web of Thingsをサポート
• Web of Thingsは、デバイス接続のための仕様
• Node-REDのノードにより、デバイス接続を容易化
Node generatorのWeb of Things対応
41
Node
generator
© Hitachi, Ltd. 2019. All rights reserved.
ノードの生成するソースとして、サブフローをサポート予定
• サブフローをモジュールとして共有できるよう、
Node generatorがパッケージングする機能を提供
Node generatorのサブフロー対応(将来機能)
42
開発者
(1) サブフロー
作成
(2) サブフローをノード
モジュールへパッケージング
Node
generator
ノード
サプフローをノードとして
フローライブラリで共有可能
フローエディタ
JSONデータ
サブフロー
サブフロー内のフロー
© Hitachi, Ltd. 2019. All rights reserved.
Node-REDのこれから
43
© Hitachi, Ltd. 2019. All rights reserved.
• 注目動向
- タブレット版Node-RED
- Electron版Node-RED
- デプロイメントパイプライン
- サーバレス対応
- マイクロサービス型の開発
- Distributed Node-RED
- TensorFlow.js、コンテナ
技術を用いたエッジ分析
- JavaScript以外の言語
が利用できるfuctionノード
Node-REDの開発中の機能、注目動向
44
• 開発中(予定)の機能
- フローデバッガ
- フローテスト
- Flow linter
- Pluggable Message Routing
開発コミュニティのカンバン
Trelloのカンバンに
新機能の開発状況
が共有されている
https://nodered.org/blog/2019/04/05/accelerating-the-roadmap https://trello.com/b/R0O3CSrI/node-red-whiteboard
© Hitachi, Ltd. 2019. All rights reserved.
フロー開発時にフローのブレイクポイントを利用できる機能
• フロー内にブレイクポイントを作成
• フローのメッセージの流れを一時停止してキューに蓄積
• キュー内のメッセージの状態を確認可能
フローデバッガ
45
端子をダブルクリックし、
ブレイクポイントを設定
(端子が青色になる)
デバッグタブで
フローの停止、
メッセージの確認が可能
https://github.com/node-red/node-red/tree/debugger
© Hitachi, Ltd. 2019. All rights reserved.
フローエディタ上でフローのテスト作成、実行をするフレームワーク
• http-in、http-responseノードの様にテスト対象のフローを囲む
• コマンドラインでフローをテストすることも可能
フローテスト
46
test-inノード test-outノード
複数のテスト
ケースを指定
受信メッセージが
期待値通りか検証
テスト対象のフロー
https://github.com/node-red/node-red/pull/2118 https://github.com/node-red/designs/pull/8
© Hitachi, Ltd. 2019. All rights reserved.
タブレット上で動作させたNode-REDフローエディタ
• Termuxを用いる方法、Google Play上のアプリを用いる方法がある
• 展示デモなどでタブレットを用いてフローの説明が可能
タブレット版Node-RED
47
タブレット端末上での編集操作
フリック入力と似た操作で
編集できる
https://nodered.org/docs/getting-started/android https://play.google.com/store/apps/details?id=com.okhiroyuki.redmobile
タブレット端末上での起動方法
© Hitachi, Ltd. 2019. All rights reserved.
デスクトップアプリケーションとして利用できるNode-RED
• インストーラによってコマンド操作不要で簡単にインストール可能
• Node-REDのバージョンアップ、バージョンダウンが容易
• ブラウザのレンダリングエンジンの違いによるUI動作の不具合なし
• ローカルPCのCPUやメモリのリソースを有効活用
• クラウドやエッジデバイスよりプロジェクト機能との親和性が高い
Electron版Node-RED
48
https://sakazuki.github.io/node-red-desktop/
Electron版Node-RED
インストーラーによる
インストール
アプリケーションとして
メニューに追加
© Hitachi, Ltd. 2019. All rights reserved.
通常のウェブアプリ開発と同様のデプロイメントパイプラインを実現
開発環境
デプロイメントパイプライン
49
GitHub
本番環境
Travis
フロー
テスト
Electron版
Node-RED
ローカル開発
その他、環境変数からクレデンシャル取得、
開発/本番DB切替、アップデート、ログ管理など
ヘッドレスNode-RED
をデプロイ、スケール
・・・
実行環境
デプロイメントパイプライン
OSS DB 商用DB
test
test
! test
Pull request型
チーム開発
フロー
https://www.youtube.com/watch?v=jo6MFQIaDLA
https://github.com/node-red/designs/blob/master/designs/runnable-projects.md https://speakerdeck.com/knolleary/node-red-in-production
https://github.com/appsody/stacks/tree/master/incubator/node-red https://github.com/node-red/designs/pull/18/files
© Hitachi, Ltd. 2019. All rights reserved.
スケールやリソース使用効率化のためサーバレス環境でフローを実行
サーバレス対応
50
将来に目を向けると、O'Leary氏は、Node-REDをサーバーレス環境でコンテナー化
されたワークロードを実行するプロジェクトであるKnativeと統合する可能性があると述
べました。 現在、Node-REDはNode.jsを実行できる任意の場所で実行できますが、
Knativeの一時的なサーバーレス環境でNode-REDを実行できる可能性があると考え
ています。 彼はまた、エディターが他のユースケースでも使用されており、サーバーレ
ス環境が再び絶好の機会であると見ていると語った。
サーバレス環境
フロー
https://containerjournal.com/topics/container-ecosystems/overview-of-node-red-1-0-release/
https://thenewstack.io/node-red-hits-1-0-looks-to-a-serverless-microservices-future/
Node-RED開発者のインタビュー記事の内容
© Hitachi, Ltd. 2019. All rights reserved.
OpenAPIドキュメントを用いて、サーバ側の仕様変更を
クライアント側が追従する開発方法
マイクロサービスアーキテクチャ型の開発
51
Node
generator
Swagger
Editor & UI
Open API
ドキュメント
コードの開発REST APIの設計
Open API
ドキュメント
API提供者
REST API
(1) Open API
ドキュメント
を作成 (2) ノード生成
クライアント
サイドの開発者
ノード (3) クライアント
サイドのフローを
開発(4) REST APIへアクセス
© Hitachi, Ltd. 2019. All rights reserved.
フローの一部をエッジ側のNode-REDで実行する分散環境Node-RED
Distributed Node-RED
52
指定された環境
へデプロイ
デバイス1
デバイス3
デバイス2
メッセージ
送受信
ノードを実行する
デバイスを指定
https://github.com/namgk/dnr-editor
https://www.youtube.com/watch?v=NVhIAz2s--Q
https://www.youtube.com/watch?v=UgXrunVZWGs
Distributed Node-REDのフローエディタ
デバイス3
デバイス2
デバイス1
© Hitachi, Ltd. 2019. All rights reserved.
応答速度の向上、回線コスト削減のためエッジデバイスでデータ分析
• TensorFlow.jsを用いて、Node-REDが動くNode.js上でデータ分析
• 学習済モデルとフレームワーク(TensorFlow、Keras、PyTorch等)が
入ったコンテナを用いてデータ分析
TensorFlow.js、コンテナ技術を用いたエッジ分析
53
DockerNode.js
エッジデバイス
OS
データ分析
コンテナ
Node-REDTensorFlow.js
functionノードや
自作ノードから
呼び出し
http requestノードや
自作ノードから
呼び出し
エッジデバイス
内で画像認識
https://qiita.com/kazuhitoyokoi/items/934e8babbb5ed467f660
https://hub.docker.com/r/codait/max-object-detector
https://github.com/dceejay/tfjs-nodes https://ibm.biz/tfjs-nodered
© Hitachi, Ltd. 2019. All rights reserved.
他言語のライブラリ(機械学習ライブラリ等)利用等のため、
JavaScript以外のコードを記載できるfunctionノード
• Python functionノード
Pythonコードを実行できる
functionノード
• Java functionノード
JDKがインストールされている環境で、
Javaコードを記載、実行できるfunctionノード
• GraalVM
Java言語以外のコードも実行できるJVM。
GraalVMのNode.jsを用いてNode-REDを実行することで、
従来のfunctionノード上でJava等のコードを実行可能。
JavaScript以外の言語が利用できるfunctionノード
54
https://flows.nodered.org/node/node-red-contrib-python-function https://flows.nodered.org/node/node-red-contrib-java-function https://www.graalvm.org
© Hitachi, Ltd. 2019. All rights reserved.
最後に
55
© Hitachi, Ltd. 2019. All rights reserved.
• 2018年
- 10/10-12 Node+JS Interactive@バンクーバー
- 12/8 IBM Cloud Community Summit@永田町
• 2019年
- 2/22-25 IBM Think@サンフランシスコ
- 4/22 ノード開発ハンズオン@銀座
- 6/14 ノード開発ハンズオン@品川
- 7/12 産業オートメーションフォーラム
@神谷町
- 7/18 Node-RED Con Tokyo@国分寺
- 12/26 ならAIラボ@奈良 <- イマココ
• 2020年
- 1/24 Node-RED勉強会@大阪、名古屋、東京を接続して開催
- 3/6 Node-RED勉強会v1.0新機能&ベストプラクティス紹介@大森
最近の登壇イベント、開催予定のイベント
56
Node+JS Interactiveでの発表の様子
https://node-red.connpass.com/event/159379/ https://www.youtube.com/watch?v=3_7BikDCXk8
© Hitachi, Ltd. 2019. All rights reserved.
日立製作所 中央研究所
Node-REDの今とこれから
2019/12/26
横井 一仁
END
57
© Hitachi, Ltd. 2019. All rights reserved.
[参考文献]
- AT&T, AT&T IoT Platform, https://flow.att.com
- FUJITSU Cloud Service K5 COLMINA Platform ユーザーズガイド, https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/colminapf/document/manual/usersguide.pdf
- IBM Cloud, Node-RED Starter, https://console.bluemix.net/catalog/starters/node-red-starter
- Node-RED node for Azure IoT Hub, https://github.com/Azure/azure-iot-sdk-node/tree/master/device/node-red
- NEC Mobile Backend Platform, https://flows.nodered.org/node/node-red-contrib-nec-baas
- GE Predix Developer Kit, https://software.intel.com/en-us/predix-developer-kit-adding-sensors
- Intel IoT Gateway, https://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/setting-up-to-connect-to-dreamfactory-platform-tutorial.pdf
- NEC CONNEXIVE IoT Connectivity Engine, http://jpn.nec.com/connexive/ice/feature.html
- Samsung Artik, https://developer.artik.io/documentation/artik/tutorials/node-red.html
- Siemens, SIMATIC IOT2020, https://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/SupportoDidattico/PartnerAccordi/Documents/iot2020-flyer-en.pdf
- エッジコンピューティングを実現する 社会インフラ・産業分野向け IoTゲートウェイ装置, https://www.toshiba.co.jp/tech/review/2017/04/72_04pdf/a09.pdf
- Dreamforce2016 Day4:XivelyはIoT導入のカギとなるサービスかも知れない, https://www.terrasky.co.jp/blog/2016/161010_001859.php
- Fujitsu Client Computing Devices Product Facts, https://sp.ts.fujitsu.com/dmsp/Publications/public/br-Facts-Client-Computing-Devices.pdf
- Siemens MindSphere Visual Flow Creator, https://documentation.mindsphere.io/resources/pdf/visual-flow-creator-en.pdf
- A node to call REST API for FUJITSU Cloud Service K5 IoT Platform, https://flows.nodered.org/node/node-red-contrib-fjiotpfhttp
- Nokia Innovation Platform, https://platform.innovation.nokia.com/services.php?service_id=5911efac48d5f4645c849b8c
- Uhuru enebular, https://enebular.com/
- node-red-contrib-azure, https://github.com/Azure/node-red-contrib-azure
- NEC SecureWare/Credential Lifecycle Manager, https://jpn.nec.com/secureware/clm/function.html
- FRED, https://fred.sensetecnic.com
- Node-RED Agent for the MindConnect API, https://flows.nodered.org/node/@mindconnect/node-red-contrib-mindconnect
- Particle, IoT Rules Engine, https://www.particle.io/iot-rules-engine/
- Orion Labs, Orion Platform, https://www.orionlabs.io/product/
- NEC、企業のビジネスモデル変革に向けてPLMソリューション「Obbligato」の基盤を刷新, https://jpn.nec.com/press/201902/20190205_02.html
- Schneider Electric Harmony iPC, https://www.se.com/ww/en/product-range/61054-harmony-ipc
- HPE Edgeline OT Linkソフトウェア, https://www.hpe.com/jp/ja/product-catalog/detail/pip.hpe-edgeline-ot-link-software.1011573418.html
[商標]
- IBM, Watson, dashDB, Cloudant, and OpenWhisk are registered trademarks of International Business Machines Corporation.
- AT&T is a registered trademark of AT&T Inc.
- Fujitsu and COLMINA are registered trademarks of Fujitsu Ltd.
- Microsoft is a registered trademark of Microsoft Corporation.
- NEC and CONNEXIVE are registered trademarks of NEC Corporation.
- GE and Predix are registered trademarks of General Electric Company.
- Intel is a registered trademark of Intel Corporation.
- Samsung is a registered trademark of Samsung C&T Corporation.
- Samsung Artik is a registered trademark of Samsung Electronics Co. Ltd.
- Siemens and SIMATIC are registered trademarks of Siemens Aktiengesellschaft.
- Toshiba is a registered trademark of Toshiba Corporation.
- SPINEX is a registered trademark of Toshiba Digital Solutions Corporation.
- Cisco and Meraki are registered trademarks of Cisco Technology, Inc.
- Google is a registered trademark of Google Inc.
- HPE and Edgeline are registered trademarks of Hewlett-Packard Development Company, L.P.
- Schneider Electric is a registered trademark of Schneider Electric SA.
参考文献、商標
59

More Related Content

What's hot

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generatorBMXUG
 
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化nodered_ug_jp
 
Node-REDはSociety5.0実現の鍵になる
Node-REDはSociety5.0実現の鍵になるNode-REDはSociety5.0実現の鍵になる
Node-REDはSociety5.0実現の鍵になるSmartLight
 
Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Tomohiro Nakajima
 
データで散らかった製造業界における最高の翻訳機 Node-RED
データで散らかった製造業界における最高の翻訳機 Node-REDデータで散らかった製造業界における最高の翻訳機 Node-RED
データで散らかった製造業界における最高の翻訳機 Node-REDnodered_ug_jp
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-onJingun Jung
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションJingun Jung
 
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトAtsushi Nakamura
 
20211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v120211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v1Ayachika Kitazaki
 
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介Kazuki Saito
 
Node RED で実現する製造業の DX
Node RED で実現する製造業の DXNode RED で実現する製造業の DX
Node RED で実現する製造業の DX雅治 新澤
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Atsushi Nakamura
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021Atsushi Nakamura
 
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたTech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたMasaru Takahashi
 
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介Masaru Takahashi
 

What's hot (20)

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generator
 
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
 
Node-REDはSociety5.0実現の鍵になる
Node-REDはSociety5.0実現の鍵になるNode-REDはSociety5.0実現の鍵になる
Node-REDはSociety5.0実現の鍵になる
 
Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話
 
データで散らかった製造業界における最高の翻訳機 Node-RED
データで散らかった製造業界における最高の翻訳機 Node-REDデータで散らかった製造業界における最高の翻訳機 Node-RED
データで散らかった製造業界における最高の翻訳機 Node-RED
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-on
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
 
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
 
20211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v120211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v1
 
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
 
Node RED で実現する製造業の DX
Node RED で実現する製造業の DXNode RED で実現する製造業の DX
Node RED で実現する製造業の DX
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたTech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
 
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
 

Similar to Current status and future trends in Node-RED

Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころBMXUG
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~Masanori Kaneko
 
Low-Codeプログラミングシステム Node-REDとその応用
Low-CodeプログラミングシステムNode-REDとその応用Low-CodeプログラミングシステムNode-REDとその応用
Low-Codeプログラミングシステム Node-REDとその応用HiroyasuNishiyama1
 
Windows 10X .NETラボ勉強会 2020年6月27日
Windows 10X .NETラボ勉強会 2020年6月27日Windows 10X .NETラボ勉強会 2020年6月27日
Windows 10X .NETラボ勉強会 2020年6月27日Tomokazu Kizawa
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてDevice WebAPI Consortium
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Koyo Takenoshita
 
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~Hitachi, Ltd. OSS Solution Center.
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~Web Technology Corp.
 
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightYahoo!デベロッパーネットワーク
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンTomokazu Kizawa
 
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜Akira Nakagawa
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方dena_study
 
Kinect for Windows およびDepthセンサーの動向
Kinect for Windows およびDepthセンサーの動向Kinect for Windows およびDepthセンサーの動向
Kinect for Windows およびDepthセンサーの動向Kaoru NAKAMURA
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”Drecom Co., Ltd.
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】WESEEKWESEEK
 
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Atsushi Nakamura
 
モノづくりのススメ
モノづくりのススメモノづくりのススメ
モノづくりのススメcat kaotaro
 
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメNIFTY Cloud
 

Similar to Current status and future trends in Node-RED (20)

Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
 
Low-Codeプログラミングシステム Node-REDとその応用
Low-CodeプログラミングシステムNode-REDとその応用Low-CodeプログラミングシステムNode-REDとその応用
Low-Codeプログラミングシステム Node-REDとその応用
 
Windows 10X .NETラボ勉強会 2020年6月27日
Windows 10X .NETラボ勉強会 2020年6月27日Windows 10X .NETラボ勉強会 2020年6月27日
Windows 10X .NETラボ勉強会 2020年6月27日
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開について
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
 
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
 
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
Kinect for Windows およびDepthセンサーの動向
Kinect for Windows およびDepthセンサーの動向Kinect for Windows およびDepthセンサーの動向
Kinect for Windows およびDepthセンサーの動向
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
 
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
 
モノづくりのススメ
モノづくりのススメモノづくりのススメ
モノづくりのススメ
 
ニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメニフティクラウドを使った安定運用のススメ
ニフティクラウドを使った安定運用のススメ
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Current status and future trends in Node-RED

  • 1. © Hitachi, Ltd. 2019. All rights reserved. 日立製作所 中央研究所 2019/12/26 横井 一仁 Node-REDの今とこれから
  • 2. © Hitachi, Ltd. 2019. All rights reserved. 横井 一仁 (Yokoi Kazuhito) • GitHub上のNode-REDプロジェクトの開発メンバ • Node-REDのサブプロジェクト、Node generatorのメンテナ • Node+JS Interactive 2018のスピーカー • 日本Node-REDユーザ会の運営メンバ https://www.hitachi.co.jp/rd/portal/contents/story/nodered 自己紹介 1 サイトに開発ストーリーが 載っています
  • 3. © Hitachi, Ltd. 2019. All rights reserved. Node-REDの今 2
  • 4. © Hitachi, Ltd. 2019. All rights reserved. JavaScript関連のプロジェクトを管理するLinux Foundation傘下の組織 • Node-REDや Node.js、jQuery、WebdriverIO、Mocha、Express、 Grunt、Electron等のJavaScript関連の主要プロジェクトを推進 • Google、IBM、Microsoft、Intel、BrowserStack、 npm、Red Hat等がメンバとして参画 https://openjsf.org/projects/ OpenJS Foundation 3 Node-REDはOpenJS Foundation のプロジェクトの1つ OpenJS Foundationのプロジェクト
  • 5. © Hitachi, Ltd. 2019. All rights reserved. 中小の産業オートメーションベンダは、Node-RED等のソフトウェア によって協力し、既存の大企業と競争できるようになる • 「Node-REDは、プロトコル変換とエッジからクラウドへの接続を するための最も人気のあるオープンソースソフトウェア」 • 「製品でNode-REDをサポートする産業用接続ハードウェア ベンダは、少なくとも13社もある」 IoT調査会社のレポート 4 https://iot-analytics.com/5-industrial-connectivity-trends-driving-the-it-ot-convergence/
  • 6. © Hitachi, Ltd. 2019. All rights reserved. 採用企業 5 • クラウド環境 - AT&T, AT&T IoT Platform - CISCO, Meraki - Fujitsu, K5 COLMINA Platform - Google, Xively - Hitachi, Lumada - IBM, IBM Cloud - NEC, Obbligato - Nokia, Nokia Innovation Platform - Orion Labs, Orion Platform - Particle, IoT Rules Engine - Sense Tecnic, FRED - Siemens, MindSphere Visual Flow Creator - Uhuru, enebular • エッジデバイス - Fujitsu, INTELLIEDGE A700 Appliance - GE, Predix Developer Kit - Hewlett Packard Enterprise, Edgeline OT Link - Intel, Intel IoT Gateway - NEC, CONNEXIVE IoT Connectivity Engine - Samsung, Artik - Schneider Electric, Edge Box - Siemens, SIMATIC IOT2020 - Toshiba, SPINEX • ノード - Fujitsu, K5 IoT Platform - IBM, dashDB, Cloudant, OpenWhisk, Watson, Watson IoT Platform - Microsoft, Azure IoT Hub, Azure Cognitive Services, Azure Blob Storage, Azure Cosmos DB, Azure Event Hub, Azure SQL, Azure Table Storage - NEC, Mobile Backend Platform SecureWare - Siemens, MindConnect 主要なIoTプラットフォームでNode-REDが 採用されている
  • 7. © Hitachi, Ltd. 2019. All rights reserved. 橋のインタラクティブな照明制御でNode-REDを活用 • 日の出日の入り、天気や交通量等の街のデータによって照明が変化 • ツイートに合わせて照明を制御 商用利用の例1 6 https://www.youtube.com/watch?v=XaNNAVPGS4Q の動画を投影
  • 8. © Hitachi, Ltd. 2019. All rights reserved. 電気自動車の情報取得や可視化のため車載デバイスでNode-REDを活用 • モータの温度、窓の状態をダッシュボードに表示 • 窓の上下、ライト点灯消灯、ミラー操作をダッシュボードから指示 商用利用の例2 7 https://www.youtube.com/watch?v=Sv6vhBh1eSQ の動画を投影
  • 9. © Hitachi, Ltd. 2019. All rights reserved. テーマパークの模型をインタラクティブに動作させるためNode-REDを活用 • 人が前を通ると、恐竜が反応するフローをNode-REDを用いて実装 • Raspberry Pi上のNode-REDを用いて恐竜を制御 商用利用の例3 8 https://www.youtube.com/watch?v=4d4P0PV1wUQ の動画を投影
  • 10. © Hitachi, Ltd. 2019. All rights reserved. ビール工場のポンプの予兆保全のためにNode-REDを活用 • ポンプの圧力、温度、電流のデータを時系列データベースに転送 • 1秒毎に値を取得し、異常値がある場合に保守員へメール通知 商用利用の例4 9 https://www.youtube.com/watch?v=rz09FHxGSHE の動画を投影
  • 11. © Hitachi, Ltd. 2019. All rights reserved. センサと接続したエッジデバイスでNode-REDを活用 • センサから取得したデータをクラウドへ転送 • セキュティやリアルタイム性確保のためのエッジ分析 商用利用の例5 10 https://www.youtube.com/watch?v=pnfSU52ZSOk の動画を投影
  • 12. © Hitachi, Ltd. 2019. All rights reserved. 産業機器の予兆保全のためにNode-REDを活用 • センサデータをMATLABを用いて分析して、残存寿命を予測 • 保守員を派遣のため業務管理システムMicrosoft Dynamicsに案件登録 https://www.hitachi.co.jp/New/cnews/month/2018/06/0620.html 商用利用の例6 11 (1) データ取得 (3) 異常判定 (4) 保守案件登録 MathWorks MATLAB Microsoft Dynamics ダッシュボード 産業機器 REST API (2) 分析処理 REST API データの可視化
  • 13. © Hitachi, Ltd. 2019. All rights reserved. 商用利用の例6 12
  • 14. © Hitachi, Ltd. 2019. All rights reserved. Node-REDでできること 13 既存 システム 先端技術 (6)データ可視化 (4)データ 転送 (2)プロトコル変換 (3)エッジ分析 (5)データ 蓄積 データベース (7)接続 (1)データ 集取 エッジ環境とクラウド環境を連携させたIoTシステムを開発できる。 現場システム エッジ環境 クラウド環境
  • 15. © Hitachi, Ltd. 2019. All rights reserved. 開発の裏側 14
  • 16. © Hitachi, Ltd. 2019. All rights reserved. 以下の理由でNode-REDを採用し、Node-REDの開発チームに参加 • 現場システムのソフトウェアのコンテナ化、REST API化を進め、 マイクロサービス型の開発を促進 • クラウドネイティブアプリケーションが稼働する基盤を構築 • 現場で作られた図面を、直感的に分かりやすい実行可能な生きた ソフトウェアの形式で共有、再利用して新規開発工数を削減 https://js.foundation/announcements/2017/08/09/hitachi-announces-commitment-to-node-red Node-RED採用理由 15 JS Foundation(現在OpenJS Foundation)のニュースリリース
  • 17. © Hitachi, Ltd. 2019. All rights reserved. Node-RED本体の全ソースコードをOSS化するUpstream first開発の利点 • 安定したリリースを製品に採用するタイミングの把握 • バグが見つかった際に迅速に修正できる体制確保 • 独自機能を継続にメンテナンスする工数を不要化 • ビジネスや標準化の関連機能の取り込みを依頼しやすい関係構築 • コミュニティメンバで新技術やサービスの使い方を お互いに教え合うことでエンジニアの技術力向上 • Raspberry Pi等のコンシューマ向けデバイス、 他社クラウドで自分のコードが動く達成感、責任感 OSSの開発に参加するメリット 16
  • 18. © Hitachi, Ltd. 2019. All rights reserved. 2016年末頃は、日立がNode-REDの開発に参加しやすい状況 • 日立とIBM Japanとのつながり • Node-REDがJS Foundation(OpenJS Foundation統合前)のプロジェクト化 • Node-RED勉強会を2回、日立の会場で開催した実績 • フローエディタの日本語化コードを提供可能な状態 -> F2Fミーティングを打診 開発チームに参加の打診 17 https://www.ibm.com/blogs/solutions/jp-ja/introduction-of-nodered/ 開発元のIBM UKに訪問
  • 19. © Hitachi, Ltd. 2019. All rights reserved. 2週間英国に滞在し、Node-REDコミュニティでの開発の進め方を学んだ。 • 時差がないため、効率的に議論と開発を進めることができた。 • 帰国後にオンラインでもスムーズに議論を進めれる関係構築 ブートキャンプ 18 Discussion Coding 夕食の様子議論と開発の繰り返し
  • 20. © Hitachi, Ltd. 2019. All rights reserved. オンライン/オフラインの両方でコミュニケーションを取り、 バグ修正や機能開発を推進中 • Slackミーティング(2週間に1回) • テレカンファレンス(2~4ヵ月に1回) • F2Fミーティング(半年に1回) 現在の開発方法 19 フォーラムのページSlackでの議論 https://nodered.org/slack/ https://discourse.nodered.org/
  • 21. © Hitachi, Ltd. 2019. All rights reserved. Node-REDv1.0の新機能 20
  • 22. © Hitachi, Ltd. 2019. All rights reserved. 2019年9月30日にNode-REDの正式版v1.0をリリース • Node-REDが成熟、安定し、 生産性を高めるためのツールとして プロダクション利用のための整備が 整ったことを示すリリース • v1.0の新機能 - パレットのカテゴリ、ノードの配置変更 - completeノード - サブフローインスタンスプロパティUI - ビジュアルJSONエディタ - ショートカットキー、クイックワイヤリング - 読み込み/書き込みダイアログのUI変更 https://nodered.jp/blog/2019/09/30/version-1-0-released Node-RED v1.0 21
  • 23. © Hitachi, Ltd. 2019. All rights reserved. ノードのカテゴリ、配置をより分かりやすくなる様に変更 • ノードが所属するカテゴリを整理 • 組みで用いるノードを上下に配置 パレットのカテゴリ、ノードの配置変更 22 v0.20.7以前 v1.0以降 組み合わせて 用いるノードの例 ノードのカテゴリ変更
  • 24. © Hitachi, Ltd. 2019. All rights reserved. 終端ノードの処理完了を待ち、別の処理を継続する機能 • WebSocket outノードがデータ送信を完了したイベントを completeノードでキャッチ • completeノードの後ろにデータ送信完了後に実行するフローを記述 completeノード(ノード実行の完了検知機能) 23 WebSocket outノード のデータ送信完了 をキャッチ Completeノードの 後ろに後続の処理を追加
  • 25. © Hitachi, Ltd. 2019. All rights reserved. サブフローに対して設定UIを定義する機能 • 例えば、サブフローを用いてMySQLノード (node-red-node-mysqlモジュール)と同等のノードの見た目を定義可能 サブフローインスタンスプロパティUI 24 サブフローのUI定義 ノードプロパティUI MySQLノード同じ色 カテゴリ、アイコン MySQLノードと 同等のノードの説明 コーディング不要で ノードプロパティUI を開発可能 MySQLノードと 同等のノードプロパティ
  • 26. © Hitachi, Ltd. 2019. All rights reserved. マウス操作と最低限のキー入力でJSONデータを作成できるエディタ • キー名のクォーテーション有無、複数オブジェクト記載時の カンマ有無によるバグを回避 • タブレット等でもJSONデータの作成が容易 ビジュアルJSONエディタ 25 ビジュアルJSONエディタ 作成したJSONデータ マウス操作で JSONデータ を作成
  • 27. © Hitachi, Ltd. 2019. All rights reserved. デプロイや「やり直し」を行うショートカットキーを新規追加 • Ctrl+d: フローをデプロイ • Ctrl+z: 元に戻す(v1.0以前から存在) • Ctrl+y: やり直し ショートカットキー 26 Deleteキーで ノードを削除 Ctrl+yで やり直し Ctrl+zで元に戻す 「やり直し」の操作例
  • 28. © Hitachi, Ltd. 2019. All rights reserved. プルダウンメニューからノードを選択できるクイックワイヤリングに機能追加 • v0.20.7以前は、ワークスペース上のみ対応 • v1.0からワイヤー上でもプルダウンメニューを表示 ワイヤリング操作 27 (1) Ctrl+クリック (2) プルダウンメニューから ノードを選択 クイックワイヤリングの機能
  • 29. © Hitachi, Ltd. 2019. All rights reserved. 複数タブの一括削除のために、タブを選択する機能がWindowsに対応 • Ctrlキーを押しながらタブをクリックしてタブ選択* • Shiftキーを押して、複数のタブを選択 • タブ間の隙間をクリックすることで、新規タブを追加 * v1.0で対応、他はv1.0以前から存在 タブ操作 28 タブを選択ダブルクリックにより 新規タブを追加 タブ操作の例
  • 30. © Hitachi, Ltd. 2019. All rights reserved. クリップボード、ライブラリ、フロー例からフローの 読み込みや書き込みを行うためのダイアログ • Node-RED v0.20.7以前は、メニューからサンプルフローを 選択する仕様になっており、マウス操作が困難 • ダイアログ化したことでフローの選択を容易化 読み込み/書き込みダイアログ 29 Node-RED v0.20.7以前 Node-RED v1.0.0以降 マウスポインタが黒枠から 外れたら最初からやり直し 確実にフローを選択可能
  • 31. © Hitachi, Ltd. 2019. All rights reserved. Node-REDv1.0以前の機能 30
  • 32. © Hitachi, Ltd. 2019. All rights reserved. v1.0の開発ロードマップは2年前に公開され、様々な機能を開発 • v0.16 - エディタの日本語表示対応 • v0.17 - エディタの中国語表示対応 • v0.18 - プロジェクト機能 - 順序保証ノード - アイコン変更機能 Node-REDv1.0開発ロードマップ 31 • v0.19 - コンテキストデータの永続化 • v0.20 - ドイツ語、韓国語対応 - UIテスト https://speakerdeck.com/knolleary/deploying-node-red-apps-to-devices-using-resin-dot-io?slide=39
  • 33. © Hitachi, Ltd. 2019. All rights reserved. Node-REDのフローをGitを用いて、バージョン管理できる機能 • 状況に応じてフロー全体を切り替えたい時に便利 • GitLabやGitHubとの連携も可能 プロジェクト機能 32
  • 34. © Hitachi, Ltd. 2019. All rights reserved. フローコンテキストやグローバルコンテキストのデータを ファイルに格納することで、再起動やクラッシュ時もデータを永続化 コンテキストデータ永続化(Persistent store) 33 Node-RED 停止&再起動 メモリ Node-RED 停止&再起動 ファイル ファイル ファイルに格納すれば... メモリ上に格納していたため... データが消失… データを保持できます • Persistent storeがない時 • Persistent storeがある時
  • 35. © Hitachi, Ltd. 2019. All rights reserved. 各ノードに説明文を記載できる機能 • 従来はノードの説明を記載する場合、commentノードを用いる 必要があり、多用するとフローの可読性が低下していた問題を解決 • 特に、説明がないと処理内容が不明なfunctionノードで便利な機能 ノードの説明文追加機能 34 記載した説明文は、 情報タブに表示される Markdown形式で ノードの説明を記載 Commentノードを 沢山用いることで 可読性が低下 [従来] [ノードの説明文追加機能]
  • 36. © Hitachi, Ltd. 2019. All rights reserved. Node-REDフローエディタの新規バグを避けるための自動UIテスト • Cookbookのエディタ操作を記載したコードを実行しテスト • 複数バージョンのブラウザやOSをテストしサポート環境リスト作成 自動UIテスト 35
  • 37. © Hitachi, Ltd. 2019. All rights reserved. Google Chrome Firefox macOS Windows クラウド上の複数のブラウザ環境を用いて、自動UIテストを実行した例 自動UIテスト 36
  • 38. © Hitachi, Ltd. 2019. All rights reserved. Node-REDのサブプロジェクト 37
  • 39. © Hitachi, Ltd. 2019. All rights reserved. データのグラフ表示や、入力UIを作成するNode-REDの部品 Node-REDフローエディタ上でダッシュボードUIを開発可能 Node-REDダッシュボード 38 Node-REDダッシュボードのUI https://flows.nodered.org/node/node-red-dashboard
  • 40. © Hitachi, Ltd. 2019. All rights reserved. Node-REDダッシュボードに、テーブルを表示できるノード • 各産業機器の稼働状態などのデータを一覧表示する際等で利用 • 表の幅調整、画像表示等もNode-REDフローエディタからカスタマイズ可 ダッシュボード向け可視化部品(テーブルノード) 39 テーブル表示ノードの例 https://github.com/node-red/node-red-ui-nodes
  • 41. © Hitachi, Ltd. 2019. All rights reserved. Open APIドキュメント等の定義やfunctionノードのソースコードから ノードを自動生成するツール • Linux Foundation (JS Foundation) のオープンソースソフトウェア • 日立以外にもCisco、IBM等の企業で採用 オリジナルノード開発ツールNode generator 40 Node generator Open API ドキュメント ノード https://github.com/node-red/node-red-nodegen https://qiita.com/kazuhitoyokoi/items/a95fe4f92c03af195732 https://qiita.com/kazuhitoyokoi/items/77333548635d9e8a8387 ノードを 自動生成 npmjsにて “nodegen”で検索
  • 42. © Hitachi, Ltd. 2019. All rights reserved. ノードを生成するソースとして、Web of Thingsをサポート • Web of Thingsは、デバイス接続のための仕様 • Node-REDのノードにより、デバイス接続を容易化 Node generatorのWeb of Things対応 41 Node generator
  • 43. © Hitachi, Ltd. 2019. All rights reserved. ノードの生成するソースとして、サブフローをサポート予定 • サブフローをモジュールとして共有できるよう、 Node generatorがパッケージングする機能を提供 Node generatorのサブフロー対応(将来機能) 42 開発者 (1) サブフロー 作成 (2) サブフローをノード モジュールへパッケージング Node generator ノード サプフローをノードとして フローライブラリで共有可能 フローエディタ JSONデータ サブフロー サブフロー内のフロー
  • 44. © Hitachi, Ltd. 2019. All rights reserved. Node-REDのこれから 43
  • 45. © Hitachi, Ltd. 2019. All rights reserved. • 注目動向 - タブレット版Node-RED - Electron版Node-RED - デプロイメントパイプライン - サーバレス対応 - マイクロサービス型の開発 - Distributed Node-RED - TensorFlow.js、コンテナ 技術を用いたエッジ分析 - JavaScript以外の言語 が利用できるfuctionノード Node-REDの開発中の機能、注目動向 44 • 開発中(予定)の機能 - フローデバッガ - フローテスト - Flow linter - Pluggable Message Routing 開発コミュニティのカンバン Trelloのカンバンに 新機能の開発状況 が共有されている https://nodered.org/blog/2019/04/05/accelerating-the-roadmap https://trello.com/b/R0O3CSrI/node-red-whiteboard
  • 46. © Hitachi, Ltd. 2019. All rights reserved. フロー開発時にフローのブレイクポイントを利用できる機能 • フロー内にブレイクポイントを作成 • フローのメッセージの流れを一時停止してキューに蓄積 • キュー内のメッセージの状態を確認可能 フローデバッガ 45 端子をダブルクリックし、 ブレイクポイントを設定 (端子が青色になる) デバッグタブで フローの停止、 メッセージの確認が可能 https://github.com/node-red/node-red/tree/debugger
  • 47. © Hitachi, Ltd. 2019. All rights reserved. フローエディタ上でフローのテスト作成、実行をするフレームワーク • http-in、http-responseノードの様にテスト対象のフローを囲む • コマンドラインでフローをテストすることも可能 フローテスト 46 test-inノード test-outノード 複数のテスト ケースを指定 受信メッセージが 期待値通りか検証 テスト対象のフロー https://github.com/node-red/node-red/pull/2118 https://github.com/node-red/designs/pull/8
  • 48. © Hitachi, Ltd. 2019. All rights reserved. タブレット上で動作させたNode-REDフローエディタ • Termuxを用いる方法、Google Play上のアプリを用いる方法がある • 展示デモなどでタブレットを用いてフローの説明が可能 タブレット版Node-RED 47 タブレット端末上での編集操作 フリック入力と似た操作で 編集できる https://nodered.org/docs/getting-started/android https://play.google.com/store/apps/details?id=com.okhiroyuki.redmobile タブレット端末上での起動方法
  • 49. © Hitachi, Ltd. 2019. All rights reserved. デスクトップアプリケーションとして利用できるNode-RED • インストーラによってコマンド操作不要で簡単にインストール可能 • Node-REDのバージョンアップ、バージョンダウンが容易 • ブラウザのレンダリングエンジンの違いによるUI動作の不具合なし • ローカルPCのCPUやメモリのリソースを有効活用 • クラウドやエッジデバイスよりプロジェクト機能との親和性が高い Electron版Node-RED 48 https://sakazuki.github.io/node-red-desktop/ Electron版Node-RED インストーラーによる インストール アプリケーションとして メニューに追加
  • 50. © Hitachi, Ltd. 2019. All rights reserved. 通常のウェブアプリ開発と同様のデプロイメントパイプラインを実現 開発環境 デプロイメントパイプライン 49 GitHub 本番環境 Travis フロー テスト Electron版 Node-RED ローカル開発 その他、環境変数からクレデンシャル取得、 開発/本番DB切替、アップデート、ログ管理など ヘッドレスNode-RED をデプロイ、スケール ・・・ 実行環境 デプロイメントパイプライン OSS DB 商用DB test test ! test Pull request型 チーム開発 フロー https://www.youtube.com/watch?v=jo6MFQIaDLA https://github.com/node-red/designs/blob/master/designs/runnable-projects.md https://speakerdeck.com/knolleary/node-red-in-production https://github.com/appsody/stacks/tree/master/incubator/node-red https://github.com/node-red/designs/pull/18/files
  • 51. © Hitachi, Ltd. 2019. All rights reserved. スケールやリソース使用効率化のためサーバレス環境でフローを実行 サーバレス対応 50 将来に目を向けると、O'Leary氏は、Node-REDをサーバーレス環境でコンテナー化 されたワークロードを実行するプロジェクトであるKnativeと統合する可能性があると述 べました。 現在、Node-REDはNode.jsを実行できる任意の場所で実行できますが、 Knativeの一時的なサーバーレス環境でNode-REDを実行できる可能性があると考え ています。 彼はまた、エディターが他のユースケースでも使用されており、サーバーレ ス環境が再び絶好の機会であると見ていると語った。 サーバレス環境 フロー https://containerjournal.com/topics/container-ecosystems/overview-of-node-red-1-0-release/ https://thenewstack.io/node-red-hits-1-0-looks-to-a-serverless-microservices-future/ Node-RED開発者のインタビュー記事の内容
  • 52. © Hitachi, Ltd. 2019. All rights reserved. OpenAPIドキュメントを用いて、サーバ側の仕様変更を クライアント側が追従する開発方法 マイクロサービスアーキテクチャ型の開発 51 Node generator Swagger Editor & UI Open API ドキュメント コードの開発REST APIの設計 Open API ドキュメント API提供者 REST API (1) Open API ドキュメント を作成 (2) ノード生成 クライアント サイドの開発者 ノード (3) クライアント サイドのフローを 開発(4) REST APIへアクセス
  • 53. © Hitachi, Ltd. 2019. All rights reserved. フローの一部をエッジ側のNode-REDで実行する分散環境Node-RED Distributed Node-RED 52 指定された環境 へデプロイ デバイス1 デバイス3 デバイス2 メッセージ 送受信 ノードを実行する デバイスを指定 https://github.com/namgk/dnr-editor https://www.youtube.com/watch?v=NVhIAz2s--Q https://www.youtube.com/watch?v=UgXrunVZWGs Distributed Node-REDのフローエディタ デバイス3 デバイス2 デバイス1
  • 54. © Hitachi, Ltd. 2019. All rights reserved. 応答速度の向上、回線コスト削減のためエッジデバイスでデータ分析 • TensorFlow.jsを用いて、Node-REDが動くNode.js上でデータ分析 • 学習済モデルとフレームワーク(TensorFlow、Keras、PyTorch等)が 入ったコンテナを用いてデータ分析 TensorFlow.js、コンテナ技術を用いたエッジ分析 53 DockerNode.js エッジデバイス OS データ分析 コンテナ Node-REDTensorFlow.js functionノードや 自作ノードから 呼び出し http requestノードや 自作ノードから 呼び出し エッジデバイス 内で画像認識 https://qiita.com/kazuhitoyokoi/items/934e8babbb5ed467f660 https://hub.docker.com/r/codait/max-object-detector https://github.com/dceejay/tfjs-nodes https://ibm.biz/tfjs-nodered
  • 55. © Hitachi, Ltd. 2019. All rights reserved. 他言語のライブラリ(機械学習ライブラリ等)利用等のため、 JavaScript以外のコードを記載できるfunctionノード • Python functionノード Pythonコードを実行できる functionノード • Java functionノード JDKがインストールされている環境で、 Javaコードを記載、実行できるfunctionノード • GraalVM Java言語以外のコードも実行できるJVM。 GraalVMのNode.jsを用いてNode-REDを実行することで、 従来のfunctionノード上でJava等のコードを実行可能。 JavaScript以外の言語が利用できるfunctionノード 54 https://flows.nodered.org/node/node-red-contrib-python-function https://flows.nodered.org/node/node-red-contrib-java-function https://www.graalvm.org
  • 56. © Hitachi, Ltd. 2019. All rights reserved. 最後に 55
  • 57. © Hitachi, Ltd. 2019. All rights reserved. • 2018年 - 10/10-12 Node+JS Interactive@バンクーバー - 12/8 IBM Cloud Community Summit@永田町 • 2019年 - 2/22-25 IBM Think@サンフランシスコ - 4/22 ノード開発ハンズオン@銀座 - 6/14 ノード開発ハンズオン@品川 - 7/12 産業オートメーションフォーラム @神谷町 - 7/18 Node-RED Con Tokyo@国分寺 - 12/26 ならAIラボ@奈良 <- イマココ • 2020年 - 1/24 Node-RED勉強会@大阪、名古屋、東京を接続して開催 - 3/6 Node-RED勉強会v1.0新機能&ベストプラクティス紹介@大森 最近の登壇イベント、開催予定のイベント 56 Node+JS Interactiveでの発表の様子 https://node-red.connpass.com/event/159379/ https://www.youtube.com/watch?v=3_7BikDCXk8
  • 58. © Hitachi, Ltd. 2019. All rights reserved. 日立製作所 中央研究所 Node-REDの今とこれから 2019/12/26 横井 一仁 END 57
  • 59.
  • 60. © Hitachi, Ltd. 2019. All rights reserved. [参考文献] - AT&T, AT&T IoT Platform, https://flow.att.com - FUJITSU Cloud Service K5 COLMINA Platform ユーザーズガイド, https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/colminapf/document/manual/usersguide.pdf - IBM Cloud, Node-RED Starter, https://console.bluemix.net/catalog/starters/node-red-starter - Node-RED node for Azure IoT Hub, https://github.com/Azure/azure-iot-sdk-node/tree/master/device/node-red - NEC Mobile Backend Platform, https://flows.nodered.org/node/node-red-contrib-nec-baas - GE Predix Developer Kit, https://software.intel.com/en-us/predix-developer-kit-adding-sensors - Intel IoT Gateway, https://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/setting-up-to-connect-to-dreamfactory-platform-tutorial.pdf - NEC CONNEXIVE IoT Connectivity Engine, http://jpn.nec.com/connexive/ice/feature.html - Samsung Artik, https://developer.artik.io/documentation/artik/tutorials/node-red.html - Siemens, SIMATIC IOT2020, https://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/SupportoDidattico/PartnerAccordi/Documents/iot2020-flyer-en.pdf - エッジコンピューティングを実現する 社会インフラ・産業分野向け IoTゲートウェイ装置, https://www.toshiba.co.jp/tech/review/2017/04/72_04pdf/a09.pdf - Dreamforce2016 Day4:XivelyはIoT導入のカギとなるサービスかも知れない, https://www.terrasky.co.jp/blog/2016/161010_001859.php - Fujitsu Client Computing Devices Product Facts, https://sp.ts.fujitsu.com/dmsp/Publications/public/br-Facts-Client-Computing-Devices.pdf - Siemens MindSphere Visual Flow Creator, https://documentation.mindsphere.io/resources/pdf/visual-flow-creator-en.pdf - A node to call REST API for FUJITSU Cloud Service K5 IoT Platform, https://flows.nodered.org/node/node-red-contrib-fjiotpfhttp - Nokia Innovation Platform, https://platform.innovation.nokia.com/services.php?service_id=5911efac48d5f4645c849b8c - Uhuru enebular, https://enebular.com/ - node-red-contrib-azure, https://github.com/Azure/node-red-contrib-azure - NEC SecureWare/Credential Lifecycle Manager, https://jpn.nec.com/secureware/clm/function.html - FRED, https://fred.sensetecnic.com - Node-RED Agent for the MindConnect API, https://flows.nodered.org/node/@mindconnect/node-red-contrib-mindconnect - Particle, IoT Rules Engine, https://www.particle.io/iot-rules-engine/ - Orion Labs, Orion Platform, https://www.orionlabs.io/product/ - NEC、企業のビジネスモデル変革に向けてPLMソリューション「Obbligato」の基盤を刷新, https://jpn.nec.com/press/201902/20190205_02.html - Schneider Electric Harmony iPC, https://www.se.com/ww/en/product-range/61054-harmony-ipc - HPE Edgeline OT Linkソフトウェア, https://www.hpe.com/jp/ja/product-catalog/detail/pip.hpe-edgeline-ot-link-software.1011573418.html [商標] - IBM, Watson, dashDB, Cloudant, and OpenWhisk are registered trademarks of International Business Machines Corporation. - AT&T is a registered trademark of AT&T Inc. - Fujitsu and COLMINA are registered trademarks of Fujitsu Ltd. - Microsoft is a registered trademark of Microsoft Corporation. - NEC and CONNEXIVE are registered trademarks of NEC Corporation. - GE and Predix are registered trademarks of General Electric Company. - Intel is a registered trademark of Intel Corporation. - Samsung is a registered trademark of Samsung C&T Corporation. - Samsung Artik is a registered trademark of Samsung Electronics Co. Ltd. - Siemens and SIMATIC are registered trademarks of Siemens Aktiengesellschaft. - Toshiba is a registered trademark of Toshiba Corporation. - SPINEX is a registered trademark of Toshiba Digital Solutions Corporation. - Cisco and Meraki are registered trademarks of Cisco Technology, Inc. - Google is a registered trademark of Google Inc. - HPE and Edgeline are registered trademarks of Hewlett-Packard Development Company, L.P. - Schneider Electric is a registered trademark of Schneider Electric SA. 参考文献、商標 59