SlideShare a Scribd company logo
IoT Gateway と Node-RED の
美味しい関係
--- IoT GatewayへのNode-REDの実装 ---
民田雅人
ぷらっとホーム株式会社
2019-07-18 Node-RED Con Tokyo 2019
ぷらっとホーム株式会社
自社開発コンピュータ
「OpenBlocks®
」
「OpenBlocks®
」はLinuxを採用した手のひらサイズの小型サーバーで、
耐熱・耐塵設計に加え超低消費電力であるなど、常時稼働を求められる
用途に最適な仕様を備えています。IoTゲートウェイ用途に最適な
「OpenBlocks®
IoT Family」、各種ネットワークサーバー用途のほか、ア
プライアンスのベース製品として利用される「OpenBlocks®
A Family」、マ
イクロサーバーをベースハードウェアとして、各種サービスを予め設定し、
すぐに運用開始できるようにしたアプライアンス製品「EasyBlocks」を提供
しております
2
■ 本社 (外観)       
〒102-0073
東京都千代田区九段北4-1-3
日本ビルディング九段別館3F/4F
TEL:03-3221-3200 FAX:03-3221-3733
設立 1993年3月23日
資本金 11億9,760万円 (2019年3月31日現在)
売上高 11億837万円 (2019年3月期)
従業員数 39名 (2019年3月31日現在)
株式公開区分 東京証券取引所第二部
みんみんって?
● みんみん / 民田 雅人(みんだまさと)
○ ぷらっとホーム株式会社 (2015年1月〜 )
○ OpenBlocks®
IoT Familyに関わる IoTサービスなんかをやってます
● UNIXとの付き合いはとても古い
○ 古のものでは4.1 BSD (VAX 750)とか
■ もちろん当時は単なるユーザーです。管理者ではありませんよ
○ 20年程前には証券取引で当時日本で最大級のSSLトラフィックを発生する
サーバーを運用していたとか
○ DNSとかも色々やってました
● Node-REDとの付き合い
○ ぷらっとホームに来てから少しづつ使うようになりました
3
IoT Gateway としての
OpenBlocks®
IoT Family
4
ハードウェア開発のみならず、 OSおよびランタイムを全て
自社でサポートし、常に最新のセキュリティパッチを提供
2015年2月 OpenBlocks®
IoT Family BX1 リリース
以降、IoT分野に特化した機器と機能を提供
OpenBlocks®
Familyの歴史
5
OpenBlocks®
IoT Family
2015
OpenBlocks®
IoT
BX1, EX1
OpenBlocks®
A Family
2001
2000
OpenBlocks
2003
OpenBlocks 266
2007
OpenBlocks 266R
OpenBlocksS OpenBlocksR
2005
OpenMicroServer
2011
EasyBlocks
2009
OpenBlocks 600
2010
OpenBlocks 600D
2012
OpenBlocks
AX3, A6
OpenBlocks®
600 Family
2012
EasyBlocks
 Enterprise
 Webフィルタリング向け Proxyモデル
 Webキャッシング向け Proxyモデル
2017
OpenBlocks®
IoT VX2
6
OpenBlocks®
IoT
VX2
OpenBlocks®
IoT
EX1
OpenBlocks®
IoT
BXシリーズ
OpenBlocks®
IoT Family
OpenBlocks®
IoT VX2 ハードウェア
● CPU: 1.33GHz 2 Core 64bit (Intel Atom®
E3805 組込向け長期供給サポート)
● メモリ 2GB / ストレージ 32GB eMMC
● ファンレス半密閉構造 IP40
● 耐環境性能 -20~+60℃
 カバー部は強度と耐熱性能に優れたポリカーボネート
● 小型軽量 WxDxH(mm) 91.9x114.8x25 160g
● 標準インタフェース
 1GbpsLAN x 2 / WLAN / USB 3.0 / BT 4.0 / RS-485
● 通信モジュール (オプション)
 LTE/3G モデム(docomo / KDDI / SoftBank / 地域BWA)
 EnOcean / Wi-SUN / LoRaWAN(ノード)
7
OpenBlocks®
IoT ソフトウェア
Webブラウザ経由での
 ネットワーク設定
 センサーとの接続
 各種IoTサービスとのデータ連携
 OpenBlocks®
のメンテナンス etc...
8
OpenBlocks®
IoT Familyが提供する機能
● OpenBlocks®
IoT Gateway Firmware / FW3
○ WEB UIによるシステムコントロール
○ PDHMS (Plathome Data Handring Module System)
○ Docker管理 (VX2のみ) / Microsoft Azure IoT Edge管理 (VX2のみ)
○ マイクロサービス構造による容易なカスタマイズ
● ハードウェア長期サポートサブスクリプション
● ソフトウェア長期サポートサブスクリプション
● セキュリティ機能
● ゲートウェイ遠隔管理システム AirManage2™
● IoT Data伝送SaaS AirManage2™ Transfer
(太字は本プレゼンでのポイント)9
OpenBlocks®
IoT Family (OBSIoT) 機能簡易比較表
10
VX2 EX1 BX Family
CPU 64bit (1.33GHz x 2) 32bit (500MHz x 2) 32bit (500MHz x 2)
メモリ 2 GB 1 GB 1 GB
ストレージ 32 GB 4 GB 4 GB
Wi-Fi 有 有 有
Bluetooth 有 有 有
Ethernet 2 1 無し or 1
通信I/F オプション オプション 内蔵 or PoE
Docker 有 無 無
Node-RED 有 有 有
OBSIoTがサポートしているセンサー類
11
OBSIoT標準サポートのセンサー
OBSIoTでは、サポートしている
センサーならプログラミング不要
でセンシングデータを扱える
EnOcean, BLE Beacon 等
(BLE: Bluetooth Low Energy)
12
OMRON環境センサーの例
{
"deviceId": "d11397e0d126",
"memo": "OMRON Env Sensor",
"time": "2016-10-14T09:27:52.278+09:00",
"humidity": 38.7,
"temperature": 25.42,
"light": 114,
"uvi": 0.02,
"pressure": 1018.1,
"noise": 38.17,
"discomfortIndex": 71.09,
"heatstroke": 20.05,
"battery": 2917
}
EnOcean あけしめセンサーの場合
13
{
"deviceId": "04000A1B",
"time": "2016-03-14T16:16:52.525+09:00",
"contact": 0,
"EEP": "D50001",
"memo": "Contacts and Switches",
"rssi": -65,
"repeater_count": 1
}
deviceId センサー個別のID
time データ取得日時 (ISO 8601拡張形式)
contact 開閉ステータス
(0: オープン 、1: クローズ)
EEP EnOcean プロファイル
memo メモ (WEB UI にて設定)
rssi 受信信号強度
repeater_count リピータ経由数
OpenBlocks®
IoT で
標準サポートでは無い
センサーを扱いたい!
14
そんな時は
Node-REDの出番です
OpenBlocks®
IoT Firmwareの構造
と
Node-RED
15
OpenBlocks®
IoT Firmware Architecture
16
● PD Handler
○ デバイスからのデータを受け取るサービス。必要に応じて適正なフォーマット
に変換する(PD Handler UART、PD Handler BLE等複数あり)
● PD Repeater
○ クラウドサービス等とデータやメッセージを送受するサービス
● PD Agent
○ PD Repeater を介しクラウドから制御メッセージを受け設定されたシェルスク
リプト等を動かすサービス
● PD Broker
○ データもしくは制御メッセージを 複数のサービスに分配するサービス
OBSIoTのFWはマイクロサービス構造を採用
17
これらのサービスが独立したプログラムとして動作
PD Repeater がサポートする接続先
PD Repeater は多くのIoTサービスに対応
● 本体内(lo)宛を除き、同時に最大4つの送受信
先を選択可
● 「使用する」を選ぶと、各サービス向けの設定メ
ニューが表示される
18
OBSIoTでのセンサーデータの流れ
19
OBSIoTでは各サービス間は UNIX ドメインソケットで通信する
OBSIoT の Node-RED はどうするの?
PD
Repeater
各種
センサー
BLE
UART
EnOcean
等
PD
Handler
UNIX
ドメイン
ソケット
ネット
ワーク
各種
IoT
サービス
OBSIoT 内部
センサーデータをIoTサービスにデータを送るもっとも簡単な例
OBSIoT では Node-RED も UNIX ドメインソケット
OBSIoT では、Node-REDもUNIXドメインソケット経由で
通信を行い、OBSIoTの各種サービスと親和性の高い融
合を行なっている
ちなみに OBSIoT オリジナル版のノード
20
OBSIoTのNode-REDのパレット
UNIX ドメインソケットからの読み込み
UNIX ドメインソケットへの書き込み
Node-REDを加えたデータの流れ
● PD Repeater の出力先をドメインソケットに指定
● Node-REDのipc-inで、デバイスデータを取得
● データを加工後改めてipc-outで PD Repeaterに返す
Node-REDでのデータ加工が自由自在になる
21
PD
Repeater
デバイス
PD
Handler 各種
IoT
サービス
Node-RED
OpenBlocks®
IoT で Node-REDを使う場合
Node-REDのインストールが必要
$ npm install -g --unsafe-perm node-red
22
ここで「Node-RED」を選ぶ
標準インストールでは無いのは、
BX / EX のストレージ節約の為
(開発環境も同時インストール)
では無く、WEB UI の「メンテナンス」→「機能拡張」からインストール
● 未サポートのセンサーを扱える
○ 未サポートのEnOceanデバイスや、UARTデバイス、BLEのブロードキャスト
データから、Node-REDで加工して必要なデータを取り出す
○ Node-RED UG勉強会2018年末LTパーティ で発表した IoTテーブルサッカー
で、ゴールの判断に使った照度センサーは未サポート
○ BLEのブロードキャストデータがHEX文字列で出力されるので、Node-REDで
デコードしてIoTサービスへ送信
● 自由自在にデータ加工
○ 複合センサーから特定の値だけを送るとか
○ 秒間10個のデータを、delayノードで秒間1個にするとか
○ 同じデータを5回ずつ送るとか
Node-RED が IoT Gateway のサービスに加わると
23
データを減らす その1
1メッセージのデータ量を減らす
24
元のデータ
{
"deviceId": "d11397e0d126",
"memo": "OMRON Env Sensor",
"time": "2016-10-14T09:27:52.278+09:00",
"humidity": 38.7,
"temperature": 25.42,
"light": 114,
"uvi": 0.02,
"pressure": 1018.1,
"noise": 38.17,
"discomfortIndex": 71.09,
"heatstroke": 20.05,
"battery": 2917
}
変更後のデータ
{
"deviceId": "d11397e0d126",
"time": "2016-10-14T09:27:52.278+09:00",
"temperature": 25.42,
"humidity": 38.7,
"pressure": 1018.1
}
データを減らす その1
1メッセージのデータ量を減らす (続き)
25
● ipc-in から受けたデータを加工する(JSONとし
て扱う)場合、必ず json 変換が必要
● 削除の他にも、キーの変更等も簡単
○ 温度のキーは "temp"しか受け付けないよ
うな場合 "payload.temperature" →
"payload.temp" に変換するなど
Changeノードでサクっと削る
データを減らす その2
メッセージ数を減らす
多数のメッセージを 1分に1個まで減らして残りは捨てるとか
26
例えば、同じデータを5回繰り返して出力する
データを増やすとか
27
ところで
28
PD Repeater を二重に通ってるのは…
PD Handlerから直接 Node-RED へ繋げられたら良さそう
ん?これって無駄じゃね?
29
PD
Repeater
デバイス
PD
Handler 各種
IoT
サービス
Node-RED
ちゃんとサポートしてます
30
PD
Repeater
デバイス
PD
Handler 各種
IoT
サービス
Node-RED
PD
Repeater
デバイス
PD
Handler
各種
IoT
サービス
Node-RED
ちゃんとサポートしてます (続き)
31
PD
Repeater
デバイス
PD
Handler
各種
IoT
サービス
Node-RED
● PD Handler から直接 Node-RED にデータを送り、Node-RED から PD Repeater
に戻すことで、スループットの向上が期待できる
● ただし WEB UI のメニュー設定だけでは直接変更出来無い…
○ PD Repeater はメニュー設定で、複数の送信先を指定できる
○ PD Handler の送信先を変更するメニューは用意していない
● WEB UI の「ユーザー定義コンフィグ」機能を利用する
○ 通信に使う UNIX ドメインソケットを直接指定する
これだけではありません
32
こんな事も簡単に出来ちゃいます
33
IoT Gateway と Node-RED でお手軽にIoTデモ
34
簡単かつ確実なデモが実現
node-red-dashboardって本当に便利ですね~
BLE HTTP
(BLE : Bluetooth Low Energy)
Open Source Summit Japan 2019 でデモってま〜す
35
まとめ
IoT GatewayとNode-REDの組み合わせで
美味しさ倍増
鬼に金棒
36
おまけ
最近つくづく思うこと
Node-RED は IoT 時代の電子ブロック
だよね
37

More Related Content

PPTX
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
PDF
データで散らかった製造業界における最高の翻訳機 Node-RED
PDF
Node-REDのプログラミングモデル
PDF
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
PDF
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
PDF
Intuneによるパッチ管理
PDF
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
PDF
WindowsのCP932に苦闘している件
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
データで散らかった製造業界における最高の翻訳機 Node-RED
Node-REDのプログラミングモデル
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
Node-REDなら、DIYで産業用センサ・コントローラを繋いで見える化
Intuneによるパッチ管理
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
WindowsのCP932に苦闘している件

What's hot (20)

PPTX
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
PDF
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
PDF
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
PDF
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
PDF
ここが良かったDatadog
PDF
バージョン17からのpg_stat_bgwriter (第48回 PostgreSQLアンカンファレンス 発表資料)
PDF
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
PPTX
MongoDBの監視
PDF
「顧客の声を聞かない」とはどういうことか
PDF
IPv6マルチプレフィックスの話
PDF
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
PDF
最近のOpenStackを振り返ってみよう
PDF
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
PPTX
SharePoint で始める情報共有とそのアプローチ
PPTX
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
PPTX
WiredTigerを詳しく説明
PDF
CDNの仕組み(JANOG36)
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
DPDKによる高速コンテナネットワーキング
PDF
SQL大量発行処理をいかにして高速化するか
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
ここが良かったDatadog
バージョン17からのpg_stat_bgwriter (第48回 PostgreSQLアンカンファレンス 発表資料)
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
MongoDBの監視
「顧客の声を聞かない」とはどういうことか
IPv6マルチプレフィックスの話
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
最近のOpenStackを振り返ってみよう
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
SharePoint で始める情報共有とそのアプローチ
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
WiredTigerを詳しく説明
CDNの仕組み(JANOG36)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
DPDKによる高速コンテナネットワーキング
SQL大量発行処理をいかにして高速化するか
Ad

Similar to IoT GatewayとNode-REDの美味しい関係 - OpenBlocks IoTへのNode-REDの実装 - (20)

PDF
IoTシステムを支えるワンストップ基盤 Plat'Data Processing
PDF
IBM IoT Foundation - Develop IoT Appl in 10 min
PDF
Ibm io t hands on 150717
PDF
さくらのIoT Platform α版ハンズオン
PDF
Ibm io t hands on 150717
PDF
Try IoT with Node-RED
PPTX
Current status and future trends in Node-RED
PDF
EnOcean × Node-REDで簡単・本格IoT
PDF
話題のNode-REDでIoTアプリを作ってみよう
PPTX
Node-redでお手軽IoT
PDF
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
PDF
littleBitsやWio NodeなどデバイスをNode-REDでBluemixにつなげてIoTする話
PDF
20190521 node-red ug vol8 kitazaki v2
PDF
20190521 node-red ug vol8 kitazaki v1
PDF
TOPPERS as an IoT OS(kernel)
PDF
20190522 enebular meetup vol11 kitazaki v1
PDF
2023-01-26_IoTに活かそう!「UNIXという考え方」.pdf
PDF
Node-REDのノード開発容易化ツール Node generator
PDF
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
PDF
RaspberryPi(OSH)の産業利用の現状
IoTシステムを支えるワンストップ基盤 Plat'Data Processing
IBM IoT Foundation - Develop IoT Appl in 10 min
Ibm io t hands on 150717
さくらのIoT Platform α版ハンズオン
Ibm io t hands on 150717
Try IoT with Node-RED
Current status and future trends in Node-RED
EnOcean × Node-REDで簡単・本格IoT
話題のNode-REDでIoTアプリを作ってみよう
Node-redでお手軽IoT
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
littleBitsやWio NodeなどデバイスをNode-REDでBluemixにつなげてIoTする話
20190521 node-red ug vol8 kitazaki v2
20190521 node-red ug vol8 kitazaki v1
TOPPERS as an IoT OS(kernel)
20190522 enebular meetup vol11 kitazaki v1
2023-01-26_IoTに活かそう!「UNIXという考え方」.pdf
Node-REDのノード開発容易化ツール Node generator
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
RaspberryPi(OSH)の産業利用の現状
Ad

IoT GatewayとNode-REDの美味しい関係 - OpenBlocks IoTへのNode-REDの実装 -