×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
202410_HackRockFes2024 Node-RED 紹介 ワンフットシーバス 田中正吾
Slide 2
Slide 2 text
Node-RED https://nodered.jp/
Slide 3
Slide 3 text
IoTなど様々なAPI/Data連携をGUIで 直感的に構築できるオープンソースソフトウェア
Slide 4
Slide 4 text
Node.js で出来ていて npm でインストールして使えます sudo npm install -g --unsafe-perm node-red
Slide 5
Slide 5 text
手元のPCでもクラウドでも Raspberry Piのようなデバイスでも使えます このあたりは Node.js / npm による導入のしやすさがプラスには働いています 手元のPC IBM Cloud・Azure・ さくらインターネットなど
Slide 6
Slide 6 text
日本語ドキュメントも翻訳されたものが たくさんにあって調べやすい Qiita やブログなどにもいろいろと文献あり https://nodered.jp/docs/ sudo npm install -g --unsafe-perm node-red
Slide 7
Slide 7 text
GUI の話 GUI(Graphic User Interface) IoTなど様々なAPI/Data連携をGUIで 直感的に構築できるオープンソースソフトウェア
Slide 8
Slide 8 text
Node-RED の画面 手元のPCの場合 node-red コマンドで起動すると http://localhost:1880/ でブラウザで表示
Slide 9
Slide 9 text
大きく分けて3つのエリアがあります パレット・ワークスペース・サイドバー パレット ワークスペース サイドバー
Slide 10
Slide 10 text
パレット 絵の具のようにノードという機能のかたまりが置かれています。 パレットはインストール済みで利用可能なすべてのノードが含まれます。 パレット
Slide 11
Slide 11 text
パレット 標準でもこのような機能が揃っています。
Slide 12
Slide 12 text
このノードは様々な機能のノードがあり flows という形で検索できインストールできます フロー検索 : https://flows.nodered.org/
Slide 13
Slide 13 text
Slack で検索した例 いろいろなノードを世界中の開発者がつくっている!実際の公開先は npm。
Slide 14
Slide 14 text
ワークスペース ワークスペースはパレットからノードを配置してフロー(データの流れ)を作るエリア ワークスペース
Slide 15
Slide 15 text
サイドバー サイドバーは、エディタ内に多くの便利なツールを提供するエリアです。 サイドバー
Slide 16
Slide 16 text
ノードはNode-REDの基本的な構成要素です。 処理をする機能のかたまりです。 ノード
Slide 17
Slide 17 text
ノードをつないでフローという データの流れを作ります ノード ノード ノード
Slide 18
Slide 18 text
前のノードからメッセージを受け取るか、 外部イベントを受け取ることで動きます ノードはメッセージまたはイベントを処理し次のノードにメッセージを送り、右から左に処理されます。 ノード ノード ノード メッセージ (JSONデータ) メッセージ (JSONデータ) 処理 0_0 処理 外部イベントなど データのきっかけ 起きた!
Slide 19
Slide 19 text
メッセージはJSONデータで構成されます。 各ノードで処理された内容がバケツリレーのようにやり取りされていきます。 ノード ノード メッセージ (JSONデータ) 処理 処理
Slide 20
Slide 20 text
メッセージの中身 msg という一番上のオブジェクトがあり、 配下の payload というオブジェクトが連絡に良く使われます。 ノード ノード メッセージ (JSONデータ) 処理 処理 msg payload 様々なデータ 様々なデータ
Slide 21
Slide 21 text
こんな感じのバケツリレー ノード ノード 処理
Slide 22
Slide 22 text
デモしてみます!
Slide 23
Slide 23 text
inject ノードと debug ノードをつなぐデモ
Slide 24
Slide 24 text
このような仕組み タイムスタンプ メッセージ (JSONデータ) デバッグデータを 表示する処理 ボタンクリックを きっかけにメッセージを送る
Slide 25
Slide 25 text
デバッグタブに文字が出るデモしてみます!
Slide 26
Slide 26 text
API連携の話 API(Application Programming Interface) IoTなど様々なAPI/Data連携をGUIで 直感的に構築できるオープンソースソフトウェア
Slide 27
Slide 27 text
パレットにはじめから多彩な接続ノードがあります IoTで良く使われる MQTT や WEB まわりで使われる HTTP / WebSocket など揃えています
Slide 28
Slide 28 text
API は HTTP でつなぐことが多いですが Node-RED にも HTTP 関連ノードあります API サーバー Node-RED
Slide 29
Slide 29 text
HTTP の関連ノード
Slide 30
Slide 30 text
ことはじめ、お伝えしました
Slide 31
Slide 31 text
IoTなど様々なAPI/Data連携をGUIで 直感的に構築できるオープンソースソフトウェア
Slide 32
Slide 32 text
Node-RED は色々なものをつなぐツール
Slide 33
Slide 33 text
➔ obniz 連携 ➔ Unity 連携 ➔ Vonage 連携 エクストラ 時間があれば調べてみる