Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
IoT時代における
デバイスのファームウェアとクラウドの
いい関係
JAWS DAYS 2018 / IoTトラック
Mar. 10, 2018 / TOC五反田メッセ
株式会社ソラコム
テクノロジー・エバンジェリスト
松下 享平
自己紹介
株式会社ソラコム / テクノロジー・エバンジェリスト
松下 享平 (まつした こうへい) “max”
• 静岡県民 🗻
• 前職: 東証二部ハードウェア・メーカーで
IoT事業のコーディネート
• 好きなソラコムサービス
• SORA...
クラウドネットワーク
センサー/デバイス
“モノ”
モノやコトをデジタル化する技術
お客様事例:AGC旭硝子様
グローバルで製造現場を
見える化。作業のデータ収集
から分析までの一連の通信の
流れにSORACOM
作業者(スマートウォッチ、スマホ、ス
マートグラス)の作業データをリアルタ
イムに収集、蓄積、分析までを自動化し、...
お客様事例:トーア紡コーポレーション様
工場のPLCから電力使用量を
取得しクラウドへ送信
工場内ダッシュボードとスマホで
見える化
現場主導の省エネ対策を実現
工場の電力使用量を
オンデマンドで見える化
お客様事例: チカク様
スマホで撮った
子どもの写真・動画を
実家のテレビへ配信
お年寄りをターゲット。テレビにつなぐだけ。
難しい通信設定は不要で不具合時も電源
の入れなおし。
お客様事例: ダイドードリンコ株式会社様
SORACOM Funnelを活用し
安全かつ容易にデータを送信
毎日、明日が楽しみになる。
未来型自販機!
IoTの基本要素とネットワークの課題
近距離
無線通信
スマートフォン等
接続の方法
人向け通信プラン
通信の管理、セキュリティ
中・長距離
無線通信
2015年9月30日発表
1日10円〜 1回線~
モノ向け通信サービス
SORACOM Air for セルラー
IoT向け通信プラットフォーム SORACOM
近距離
無線通信
スマートフォン等
便利なモバイル(3G/LTE)通信
1日10円、1回線からのIoT向け
回線管理やセキュリティも
中・長距離
無線通信
Raspberry Pi 等
モデム付き...
for LoRaWAN
1デバイス~
LoRaWAN通信サービス
IoT/M2M向け無線データ通信サービス
SORACOM Air
for Sigfox
1デバイス~ 1回線~
Sigfox通信サービス
for セルラー
1日10円〜 1回線~...
クラウドネットワーク
センサー/デバイス
“モノ”
USB
UART (シリアル)
SD等
センサー/デバイス
“モノ”
接点
《センサー素子》
MCU
《マイコン》
I/O IF
マイコン上で動くソフトウェア
《ファームウェア》
#define SENSOR_PIN 13
void setup...
USB
UART (シリアル)
SD等
接点
《センサー素子》
MCU
《マイコン》
I/O IF
一般的なファームウェアの機能
• センサー素子の制御やI/O制御
• センサー素子から取得したデータの処理
• 外部機器とのI/O IF制御
マ...
USB
UART (シリアル)
SD等
接点
《センサー素子》
MCU
《マイコン》
I/O IF
IoTで求められるファームウェアの役割
• センサー素子の制御やI/O制御
• センサー素子から取得したデータの処理
• 外部機器とのI/O I...
• 低級言語で記述
• 書き換えには特殊な操作が必要
• デバッグ I/F
• DFU モード
ファームウェアの課題
• 要件は走りながら
決めたい
• 出荷後も機能向上を
行いたい
• 開発言語に起因する
生産性の課題
• ファームウェア更新...
ファームウェアの課題
• 開発言語に起因する
生産性の課題
• ファームウェア更新の
特殊性の課題
生産性の高い言語で開発し、
バンバン書き換えができないか?
そもそも書き換えが不要なくらい
シンプルにできないか?
ファームウェアの課題
• 開発言語に起因する
生産性の課題
• ファームウェア更新の
特殊性の課題
生産性の高い言語で開発し、
バンバン書き換えができないか?
そもそも書き換えが不要なくらい
シンプルにできないか?
USB
UART (シリアル)
SD等
接点
《センサー素子》
MCU
《マイコン》
I/O IF
なぜ「あのボタン」は良いのか?
• センサー素子の制御やI/O制御
• センサー素子から取得したデータの処理
• 外部機器とのI/O IF制御
...
エッジコンピューティングに関する勘違いと
IoT時代におけるファームウェアの理想形
デバイス内部における高度な処
理のこと ☜ これは勘違い
単体のデバイスがクラウドのコ
ンピューティングリソースに勝て
る理由がない
本当はクラウドで処理したい...
【再掲】
ネットワークとか応答速度という理由から
泣く泣くデバイス内部で行う
ファームウェアの課題
• 開発言語に起因する
生産性の課題
• ファームウェア更新の
特殊性の課題
生産性の高い言語で開発し、
バンバン書き換えができないか?
そもそも書き換えが不要なくらい
シンプルにできないか?
AWS Greengrass 解説 (デバイス屋視点)
クラウド上で作った python※ な AWS Lambda (以下 ローカル
Lambda) を GGC 実行中のマシンに転送してくれる
転送されたローカル Lambda を実行できる
...
生産性の高い言語で
バンバン更新できる仕組み
https://qiita.com/ma2shita/items/b3435e5e9306c6b44de8
実は import greengrasssdk が無くてもいいのです!
組込みでよくある loop() 実装ができる!
「存続期間が長く無制限に稼働する関数」
をOTAで更新するDEMO
DEMO: 構成
AWS Greengrass Core
On Ubuntu
In VirtualBox
Management
Console
新しい AWS Lambda 関数
更新後 Version
カウントを Publish する
AWS...
ローカル Lambda 関数からのリソースアクセス
1 import greengrasssdk
2 client = greengrasssdk.client('iot-data’)
3 from threading import Timer
4 import logging
5 import...
もう AWS Greengrass Core があれば
怖くない … ?
https://aws.amazon.com/jp/blogs/news/aws-greengrass-ubiquitous-real-world-computing/
そうじゃない世界もある
STMicroelectronics
B-L475...
Welcome to Embedded World !!
この、限られたリソースへようこそ!!
Real Time OS
https://www.slideshare.net/kuroneko_ko2a/amazon-freertos/21
アーキテクトとして知っておくと良い事
ぶっちゃけ、生産性は高く無い
• FreeRTOS Hello World で ggr ってみてください
• それでも生の FreeRTOS を使うより、超いろいろ揃ってる!
https://www.sli...
アーキテクトとして知っておくと良い事
― Amazon FreeRTOS を使わざるを得ない状況
動作環境の制限が強い場合
• 商品形状、消費電力、耐環境性、供給性
応答時間に縛られた性能を要求される場合
• まさに RTOS の目的そのもの
• 開発言語に起因する
生産性の課題
• ファームウェア更新の
特殊性の課題
Amazon FreeRTOS が解決するもの
• 開発言語に起因する
生産性の課題 → しょうがない
• ファームウェア更新の
特殊性の課題 → OTA !!
※O...
Amazon FreeRTOS への道
/dev/* で操作できるなら
Raspberry Pi + GGC で開始
どうしても、と
言うのなら
Amazon FreeRTOS へ
正直
人類には早すぎる
我々は、まず GGC を使おう
Python※ コードを
配信する仕組みとしてのみ
使っても便利すぎる GGC
Raspberry Pi が無いと
GGC をトライできない?
https://qiita.com/ma2shita/items/22b56c6b6f7d11758880
シリアルポートなデバイスは?
https://qiita.com/ma2shita/items/763a911de4c0432d3479
Amazon FreeRTOS までの
要求では無いけど
組込みで AWS サービスを
使いたい!
IoT通信プラットフォーム SORACOM
SORACOMのグローバルなインフラ
欧米や日本も含めたアジア多くの国と地域で利用可能
IoT向けデータ通信
SORACOM Air
Cellular (2G, 3G, LTE) / LPWA (Lo...
セキュア&クラウドネイティブな
プロトコル
SORACOM Beam / Funnel による
ソフトウェア実装の工数削減
モノ
生の
HTTP / TCP / UDP
認証情報
センサー制御、エッジ処理
バッファリング、エラー処理
バッファリ...
エンジニア向け 1Day IoT ラーニングイベント
SORACOM Tech Camp 2018
4/26 (木)
《東京》大崎ブライトコアホール (抽選制/無料)
https://techcamp2018.soracom.jp/
クラウドネットワーク
センサー/デバイス
“モノ”
モノやコトをデジタル化
世界中のヒトとモノをつなげ
共鳴する社会へ
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
Upcoming SlideShare
Loading in …5
×

JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係

2,796 views

Published on

JAWS DAYS 2018
IoT時代におけるデバイスのファームウェアとクラウドのいい関係

株式会社ソラコム
テクノロジー・エバンジェリスト
松下享平

Published in: Technology
  • Be the first to comment

JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係

  1. 1. IoT時代における デバイスのファームウェアとクラウドの いい関係 JAWS DAYS 2018 / IoTトラック Mar. 10, 2018 / TOC五反田メッセ 株式会社ソラコム テクノロジー・エバンジェリスト 松下 享平
  2. 2. 自己紹介 株式会社ソラコム / テクノロジー・エバンジェリスト 松下 享平 (まつした こうへい) “max” • 静岡県民 🗻 • 前職: 東証二部ハードウェア・メーカーで IoT事業のコーディネート • 好きなソラコムサービス • SORACOM Air メタデータサービス • SORACOM Funnel • soracom-cli • Facebook, Twitter: ma2shita NEW!!!
  3. 3. クラウドネットワーク センサー/デバイス “モノ” モノやコトをデジタル化する技術
  4. 4. お客様事例:AGC旭硝子様 グローバルで製造現場を 見える化。作業のデータ収集 から分析までの一連の通信の 流れにSORACOM 作業者(スマートウォッチ、スマホ、ス マートグラス)の作業データをリアルタ イムに収集、蓄積、分析までを自動化し、 カイゼン活動に活用。 (協力パートナー:シーイーシー様)
  5. 5. お客様事例:トーア紡コーポレーション様 工場のPLCから電力使用量を 取得しクラウドへ送信 工場内ダッシュボードとスマホで 見える化 現場主導の省エネ対策を実現 工場の電力使用量を オンデマンドで見える化
  6. 6. お客様事例: チカク様 スマホで撮った 子どもの写真・動画を 実家のテレビへ配信 お年寄りをターゲット。テレビにつなぐだけ。 難しい通信設定は不要で不具合時も電源 の入れなおし。
  7. 7. お客様事例: ダイドードリンコ株式会社様 SORACOM Funnelを活用し 安全かつ容易にデータを送信 毎日、明日が楽しみになる。 未来型自販機!
  8. 8. IoTの基本要素とネットワークの課題 近距離 無線通信 スマートフォン等 接続の方法 人向け通信プラン 通信の管理、セキュリティ 中・長距離 無線通信
  9. 9. 2015年9月30日発表 1日10円〜 1回線~ モノ向け通信サービス SORACOM Air for セルラー
  10. 10. IoT向け通信プラットフォーム SORACOM 近距離 無線通信 スマートフォン等 便利なモバイル(3G/LTE)通信 1日10円、1回線からのIoT向け 回線管理やセキュリティも 中・長距離 無線通信 Raspberry Pi 等 モデム付きマイコン等
  11. 11. for LoRaWAN 1デバイス~ LoRaWAN通信サービス IoT/M2M向け無線データ通信サービス SORACOM Air for Sigfox 1デバイス~ 1回線~ Sigfox通信サービス for セルラー 1日10円〜 1回線~ セルラー(3G/LTE)通信サービス Japan / Global
  12. 12. クラウドネットワーク センサー/デバイス “モノ”
  13. 13. USB UART (シリアル) SD等 センサー/デバイス “モノ” 接点 《センサー素子》 MCU 《マイコン》 I/O IF マイコン上で動くソフトウェア 《ファームウェア》 #define SENSOR_PIN 13 void setup () { pinMode(SENSOR_PIN, INPUT); } void loop() { int btn = digitalRead(SENSOR_PIN); if (btn) { dash_button(); } } • 低級言語で記述 • 書き換えには特殊な操作が必要 • デバッグ I/F • DFU モード
  14. 14. USB UART (シリアル) SD等 接点 《センサー素子》 MCU 《マイコン》 I/O IF 一般的なファームウェアの機能 • センサー素子の制御やI/O制御 • センサー素子から取得したデータの処理 • 外部機器とのI/O IF制御 マイコン上で動くソフトウェア 《ファームウェア》
  15. 15. USB UART (シリアル) SD等 接点 《センサー素子》 MCU 《マイコン》 I/O IF IoTで求められるファームウェアの役割 • センサー素子の制御やI/O制御 • センサー素子から取得したデータの処理 • 外部機器とのI/O IF制御 Wi-Fi, BT, セルラー, LPWA等 《無線モデム》 • 無線モデム制御 • クラウド通信処理 • バッファリング、再送処理 • プロトコル処理、暗号化 • 接続先や認証情報の保管・読出 クラウド
  16. 16. • 低級言語で記述 • 書き換えには特殊な操作が必要 • デバッグ I/F • DFU モード ファームウェアの課題 • 要件は走りながら 決めたい • 出荷後も機能向上を 行いたい • 開発言語に起因する 生産性の課題 • ファームウェア更新の 特殊性の課題
  17. 17. ファームウェアの課題 • 開発言語に起因する 生産性の課題 • ファームウェア更新の 特殊性の課題 生産性の高い言語で開発し、 バンバン書き換えができないか? そもそも書き換えが不要なくらい シンプルにできないか?
  18. 18. ファームウェアの課題 • 開発言語に起因する 生産性の課題 • ファームウェア更新の 特殊性の課題 生産性の高い言語で開発し、 バンバン書き換えができないか? そもそも書き換えが不要なくらい シンプルにできないか?
  19. 19. USB UART (シリアル) SD等 接点 《センサー素子》 MCU 《マイコン》 I/O IF なぜ「あのボタン」は良いのか? • センサー素子の制御やI/O制御 • センサー素子から取得したデータの処理 • 外部機器とのI/O IF制御 Wi-Fi, BT, セルラー, LPWA等 《無線モデム》 • 無線モデム制御 • クラウド通信処理 • バッファリング、再送処理 • プロトコル処理、暗号化 • 接続先や認証情報の保管・読出 クラウド クラウドに「処理を委譲」 ファームウェアの実装を小さく・シンプルに
  20. 20. エッジコンピューティングに関する勘違いと IoT時代におけるファームウェアの理想形 デバイス内部における高度な処 理のこと ☜ これは勘違い 単体のデバイスがクラウドのコ ンピューティングリソースに勝て る理由がない 本当はクラウドで処理したいんだ けど、ネットワークとか応答速度 という理由から 泣く泣くデバイス内部で行う処 理のこと センサー素子や通信モデムとの I/O 処理に特化させて 書き換えが不要なくらいにシンプル化 処理はクラウド IoT時代におけるファームウェアの理想形
  21. 21. 【再掲】
  22. 22. ネットワークとか応答速度という理由から 泣く泣くデバイス内部で行う
  23. 23. ファームウェアの課題 • 開発言語に起因する 生産性の課題 • ファームウェア更新の 特殊性の課題 生産性の高い言語で開発し、 バンバン書き換えができないか? そもそも書き換えが不要なくらい シンプルにできないか?
  24. 24. AWS Greengrass 解説 (デバイス屋視点) クラウド上で作った python※ な AWS Lambda (以下 ローカル Lambda) を GGC 実行中のマシンに転送してくれる 転送されたローカル Lambda を実行できる • AWS IoT Core※ に対して MQTT Subscribe を行い、 そのトピックに対応したローカル Lambda を起動してくれる 「オンデマンド関数」 • GGC 起動後からずーっと起動し続けてくれる 「存続期間が長く無制限に稼働する関数」 NEW!! • ローカルリソース (GGC 実行中のマシンのリソース e.g. /dev/ttyS0) を 扱える ネ申Update !!
  25. 25. 生産性の高い言語で バンバン更新できる仕組み
  26. 26. https://qiita.com/ma2shita/items/b3435e5e9306c6b44de8
  27. 27. 実は import greengrasssdk が無くてもいいのです!
  28. 28. 組込みでよくある loop() 実装ができる!
  29. 29. 「存続期間が長く無制限に稼働する関数」 をOTAで更新するDEMO
  30. 30. DEMO: 構成 AWS Greengrass Core On Ubuntu In VirtualBox Management Console 新しい AWS Lambda 関数 更新後 Version カウントを Publish する AWS IoT Core log 現在の Version カウントをログする
  31. 31. ローカル Lambda 関数からのリソースアクセス
  32. 32. 1 import greengrasssdk 2 client = greengrasssdk.client('iot-data’) 3 from threading import Timer 4 import logging 5 import serial ## $ pip install pyserial -t . 6 7 def loop(): 8 ser = serial.Serial("/dev/ttyS0", 9600) 9 line = ser.readline() 10 client.publish(topic='foo/data', payload='serial data: {}'.format(line)) 11 Timer(0, loop).start() 12 13 loop() 14 15 def lambda_handler(event, context): 16 return このコードがローカル Lambda で動く!
  33. 33. もう AWS Greengrass Core があれば 怖くない … ?
  34. 34. https://aws.amazon.com/jp/blogs/news/aws-greengrass-ubiquitous-real-world-computing/ そうじゃない世界もある STMicroelectronics B-L475E-IOT01A Arm® Cortex®-M4 core 80MHz 1 MBFlash & 128 KB SRAM
  35. 35. Welcome to Embedded World !! この、限られたリソースへようこそ!!
  36. 36. Real Time OS https://www.slideshare.net/kuroneko_ko2a/amazon-freertos/21
  37. 37. アーキテクトとして知っておくと良い事 ぶっちゃけ、生産性は高く無い • FreeRTOS Hello World で ggr ってみてください • それでも生の FreeRTOS を使うより、超いろいろ揃ってる! https://www.slideshare.net/AmazonWebServices/new-launch-aws-greengrass-and-amazon-freertos-connectivity-and-security-at-the-edge-iot403-reinvent-2017/15 Amazon FreeRTOS 単体でも AWS IoT Core と連携は可能 • もちろんネットワーク的近隣に GGC が動いているマシンがあるのも良い Amazon FreeRTOS な デバイス AWS GGC な デバイス AWS IoT Core
  38. 38. アーキテクトとして知っておくと良い事 ― Amazon FreeRTOS を使わざるを得ない状況 動作環境の制限が強い場合 • 商品形状、消費電力、耐環境性、供給性 応答時間に縛られた性能を要求される場合 • まさに RTOS の目的そのもの
  39. 39. • 開発言語に起因する 生産性の課題 • ファームウェア更新の 特殊性の課題 Amazon FreeRTOS が解決するもの • 開発言語に起因する 生産性の課題 → しょうがない • ファームウェア更新の 特殊性の課題 → OTA !! ※OTA は2018年3月段階でβです
  40. 40. Amazon FreeRTOS への道 /dev/* で操作できるなら Raspberry Pi + GGC で開始 どうしても、と 言うのなら Amazon FreeRTOS へ
  41. 41. 正直 人類には早すぎる 我々は、まず GGC を使おう
  42. 42. Python※ コードを 配信する仕組みとしてのみ 使っても便利すぎる GGC
  43. 43. Raspberry Pi が無いと GGC をトライできない?
  44. 44. https://qiita.com/ma2shita/items/22b56c6b6f7d11758880
  45. 45. シリアルポートなデバイスは?
  46. 46. https://qiita.com/ma2shita/items/763a911de4c0432d3479
  47. 47. Amazon FreeRTOS までの 要求では無いけど 組込みで AWS サービスを 使いたい!
  48. 48. IoT通信プラットフォーム SORACOM SORACOMのグローバルなインフラ 欧米や日本も含めたアジア多くの国と地域で利用可能 IoT向けデータ通信 SORACOM Air Cellular (2G, 3G, LTE) / LPWA (LoRaWAN, Sigfox) データ通信 インターフェース ライブラリ & SDKs CLI, Ruby, Swift Web インターフェース User Console API Web API, Sandbox ネットワーク アプリケーション データ転送支援 SORACOM Beam クラウドアダプタ SORACOM Funnel データ収集・蓄積 SORACOM Harvest プライベート接続 SORACOM Canal デバイスLAN SORACOM Gate 専用線接続 SORACOM Direct 仮想専用線 SORACOM Door 認証サービス SORACOM Endorse デバイス管理 SORACOM Inventory 透過型 トラフィック処理 SORACOM Junction
  49. 49. セキュア&クラウドネイティブな プロトコル SORACOM Beam / Funnel による ソフトウェア実装の工数削減 モノ 生の HTTP / TCP / UDP 認証情報 センサー制御、エッジ処理 バッファリング、エラー処理 バッファリング、エラー処理 暗号化・プロトコル実装 認証処理(SDK) SORACOM Beam や Funnelで クラウドを活用 デバイス開発を最小限に SORACOM Beam SORACOM Funnel AWS IoT Core Amazon Kinesis Data Streams Amazon Kinesis Firehose Amazon MQ アイコン はよ!
  50. 50. エンジニア向け 1Day IoT ラーニングイベント SORACOM Tech Camp 2018 4/26 (木) 《東京》大崎ブライトコアホール (抽選制/無料) https://techcamp2018.soracom.jp/
  51. 51. クラウドネットワーク センサー/デバイス “モノ” モノやコトをデジタル化
  52. 52. 世界中のヒトとモノをつなげ 共鳴する社会へ

×