Vol.2
2018-11-16
山添 知久
EnOceanとエッジサーバでDALI照明を制御
Greengrass
自己紹介
• 山添 知久 (やまぞえ ともひさ)
– IoTエンジニア
• ハンダ付けからクラウドまで。工作。
• IT業界やBuilding Automation業界でオープン技術による機器のIoT化に取り組んでいます。
• LonMark JapanでIIoT研究会を主催しています。
– 経歴:
• データセンタ機器メーカー、BAデバイスベンダを経てフリーランス。
@zoe6120
https://www.linkedin.com/in/tyamazoe/
https://www.facebook.com/tyamazoe
LonMark Japan:
• https://ssl.lmjapan.org
• https://www.facebook.com/lonmarkjapan/
2Control IoTLT vol.2
DALIとは?
• 照明専用オープンプロトコル
• DALI: Digital Addressing Lighting Interface
• ヨーロッパで普及
• IEC62386準拠
• マスタ・スレーブ方式max64台
• 2線式 1200bps
• コマンド:
– アドレス+情報
– 例: #255,5
Control IoTLT vol.2 3
エッジとは?
• エッジコンピューティングとは
– クラウドと異なる場所にコンピューティングリソースと意思決定機能を持たせること
• クラウドのみで制御を行う場合の問題
– オフライン : 通信が切れると制御不可能
– 応答性 : クラウドへの通信の遅延による制御遅れ
– 帯域幅 : 不足すると遅延やデータ欠損
ローカルにも制御機能を持たせたい -> 信頼性の向上
エッジ : 応答性の要する処理
クラウド :可視化、ログ保存、データ解析など
4
HVAC Lighting etc…
中央監視
障害
HVAC Lighting etc…
中央監視
Edge
Control IoTLT vol.2
• これまでローカルで制御していたのでは?
Control IoTLT vol.2 5
AWS Greengrass – AWSのエッジ技術
AWS Greengrassとは
• Greengrass Core :
– エッジ用デバイスにインストールするソフトウェア。
常駐するプロセス。
• Lambda function :
– サーバレスなクラウド上のプログラム。
Greengrassによりエッジ上で実行される。
6
HVAC Lighting
Lambda
function
AWS IoT
Greengrass Core
制御プログラム
DB
クラウドとGreengrass Lambdaの違い
• エッジでは
– デバイスのローカルリソース(I/O、シリアルポートなど)にアクセス可能
– タイムアウトなしの常駐が可能
Control IoTLT vol.2
• クラウド上のリソースとの親和性は高いようだ…
• ともかく試してみる
• DALI照明一式があった!
• EnOceanスイッチも!
Control IoTLT vol.2 7
AWS Greengrassを試してみる
エッジデバイス
• Greengrass Core :
– エッジ用Raspiにインストール
• Lambda function :
– LEDのOn/Offを5秒間隔で実行
– MQTT publishによりメッセージ送信
8
DALI
コントローラ
Lambda
function
AWS IoT
Greengrass Core
制御プログラム
DB
DALIコントローラデバイス
• RasPi
• MQTT subscribeでメッセージを受信 ->
DALIコマンドに変換してLEDのOn/Off
• EnOceanスイッチでモード切替
RasberryPi
Topic: demo/blinker
Message: { ‘led1’:1, ‘led2’:0 }
Control IoTLT vol.2
EnOcean data: EnOcean Serial Protocol (ESP)
#スイッチ
0000000 0055 0207 0a0a 0020 a82d 85bb 0158 c32a
0000010 0055 0207 0a0a 0020 a82d 00bb 01ca ca29
EnOcean Device
ロッカー
スイッチ
DALI Device
#01, 250
#03,00
#05,00
AWS Greengrassの設定
• AWS
– グループを作る
– Coreを作る
– デバイスを作る
– Lambdaを作る
– Subscriptionを作る
– デプロイする
• エッジ(Core)
– Core ソフトウェアをインストールする
– AWSから上記Greengrassがデプロイされる
– Greengrass Coreサービスを起動する
• デバイス
– aws-iot-device-sdk をインストールしてCore/Cloudへ
の接続を作る
Control IoTLT vol.2 9
ポイント
• デバイスからはローカルのGreengrass Coreとクラウド上の
AWS IoTを意識せずにデータをsubscribeできる。
– AWS IoTに接続すると同様のプログラム
• https://github.com/aws/aws-iot-device-sdk-
python/blob/master/samples/greengrass/basicDiscovery.py
• クラウドへの接続が切れてもGreengrass CoreのLambdaで制
御される
Control IoTLT vol.2 10
鋭意製作中…
• エッジサーバで鉄道模型を制御
Control IoTLT vol.2 11
まとめ
• クラウド接続が切れても実行できる
• ローカルなので応答が早い
• デバイスとエッジ間の制御によりクラウドへの通信量・料金が
節約できる
• エッジで実行するLambdaは課金されない。 -> 無限ループOK
• デバイス、エッジ、クラウドとの各通信経路ごとにsubscription
を設定する必要があり、デバイス数が増えると管理の方法を
考える必要があるかも
• クラウドに抵抗のある設備系にも受け入れやすい
Control IoTLT vol.2 12
お知らせ
• 第3回スマートビルディングEXPO に出展します。
– 2018/12/12(水)-14(金) @東京ビッグサイト
– https://www.smartbuilding.jp/ja-jp.html
– LonMark Japan 会員企業 (株)リードシステム社ブース内
– エッジサーバとLonWorks、KNX、DALIで照明と鉄道模型を制御する
デモ(予定)
Control IoTLT vol.2 13
昨年の様子

EnOceanとエッジサーバでDALI照明を制御

  • 1.
  • 2.
    自己紹介 • 山添 知久(やまぞえ ともひさ) – IoTエンジニア • ハンダ付けからクラウドまで。工作。 • IT業界やBuilding Automation業界でオープン技術による機器のIoT化に取り組んでいます。 • LonMark JapanでIIoT研究会を主催しています。 – 経歴: • データセンタ機器メーカー、BAデバイスベンダを経てフリーランス。 @zoe6120 https://www.linkedin.com/in/tyamazoe/ https://www.facebook.com/tyamazoe LonMark Japan: • https://ssl.lmjapan.org • https://www.facebook.com/lonmarkjapan/ 2Control IoTLT vol.2
  • 3.
    DALIとは? • 照明専用オープンプロトコル • DALI:Digital Addressing Lighting Interface • ヨーロッパで普及 • IEC62386準拠 • マスタ・スレーブ方式max64台 • 2線式 1200bps • コマンド: – アドレス+情報 – 例: #255,5 Control IoTLT vol.2 3
  • 4.
    エッジとは? • エッジコンピューティングとは – クラウドと異なる場所にコンピューティングリソースと意思決定機能を持たせること •クラウドのみで制御を行う場合の問題 – オフライン : 通信が切れると制御不可能 – 応答性 : クラウドへの通信の遅延による制御遅れ – 帯域幅 : 不足すると遅延やデータ欠損 ローカルにも制御機能を持たせたい -> 信頼性の向上 エッジ : 応答性の要する処理 クラウド :可視化、ログ保存、データ解析など 4 HVAC Lighting etc… 中央監視 障害 HVAC Lighting etc… 中央監視 Edge Control IoTLT vol.2
  • 5.
  • 6.
    AWS Greengrass –AWSのエッジ技術 AWS Greengrassとは • Greengrass Core : – エッジ用デバイスにインストールするソフトウェア。 常駐するプロセス。 • Lambda function : – サーバレスなクラウド上のプログラム。 Greengrassによりエッジ上で実行される。 6 HVAC Lighting Lambda function AWS IoT Greengrass Core 制御プログラム DB クラウドとGreengrass Lambdaの違い • エッジでは – デバイスのローカルリソース(I/O、シリアルポートなど)にアクセス可能 – タイムアウトなしの常駐が可能 Control IoTLT vol.2
  • 7.
    • クラウド上のリソースとの親和性は高いようだ… • ともかく試してみる •DALI照明一式があった! • EnOceanスイッチも! Control IoTLT vol.2 7
  • 8.
    AWS Greengrassを試してみる エッジデバイス • GreengrassCore : – エッジ用Raspiにインストール • Lambda function : – LEDのOn/Offを5秒間隔で実行 – MQTT publishによりメッセージ送信 8 DALI コントローラ Lambda function AWS IoT Greengrass Core 制御プログラム DB DALIコントローラデバイス • RasPi • MQTT subscribeでメッセージを受信 -> DALIコマンドに変換してLEDのOn/Off • EnOceanスイッチでモード切替 RasberryPi Topic: demo/blinker Message: { ‘led1’:1, ‘led2’:0 } Control IoTLT vol.2 EnOcean data: EnOcean Serial Protocol (ESP) #スイッチ 0000000 0055 0207 0a0a 0020 a82d 85bb 0158 c32a 0000010 0055 0207 0a0a 0020 a82d 00bb 01ca ca29 EnOcean Device ロッカー スイッチ DALI Device #01, 250 #03,00 #05,00
  • 9.
    AWS Greengrassの設定 • AWS –グループを作る – Coreを作る – デバイスを作る – Lambdaを作る – Subscriptionを作る – デプロイする • エッジ(Core) – Core ソフトウェアをインストールする – AWSから上記Greengrassがデプロイされる – Greengrass Coreサービスを起動する • デバイス – aws-iot-device-sdk をインストールしてCore/Cloudへ の接続を作る Control IoTLT vol.2 9
  • 10.
    ポイント • デバイスからはローカルのGreengrass Coreとクラウド上の AWSIoTを意識せずにデータをsubscribeできる。 – AWS IoTに接続すると同様のプログラム • https://github.com/aws/aws-iot-device-sdk- python/blob/master/samples/greengrass/basicDiscovery.py • クラウドへの接続が切れてもGreengrass CoreのLambdaで制 御される Control IoTLT vol.2 10
  • 11.
  • 12.
    まとめ • クラウド接続が切れても実行できる • ローカルなので応答が早い •デバイスとエッジ間の制御によりクラウドへの通信量・料金が 節約できる • エッジで実行するLambdaは課金されない。 -> 無限ループOK • デバイス、エッジ、クラウドとの各通信経路ごとにsubscription を設定する必要があり、デバイス数が増えると管理の方法を 考える必要があるかも • クラウドに抵抗のある設備系にも受け入れやすい Control IoTLT vol.2 12
  • 13.
    お知らせ • 第3回スマートビルディングEXPO に出展します。 –2018/12/12(水)-14(金) @東京ビッグサイト – https://www.smartbuilding.jp/ja-jp.html – LonMark Japan 会員企業 (株)リードシステム社ブース内 – エッジサーバとLonWorks、KNX、DALIで照明と鉄道模型を制御する デモ(予定) Control IoTLT vol.2 13 昨年の様子