SlideShare uma empresa Scribd logo
1 de 23
IoT Hub と
Azure Functions とかで
片桐ヒマボタンを作った話
2017/02/22
DMM.comラボ
太田浩一
目次
• 自己紹介
• このLTの趣旨
• プロダクト構成
• Azure の IoT Ready
• まとめ
自己紹介
Me
• 太田浩一(おおたこういち)
• DMM.comラボ
• ロボットユニットでWebアプリやAPI等を開発中
• 本日のLTネタに関するBlog記事はQRコードから
IoT・Azure
• それぞれ趣味と実益を兼ねて
• 遊んでる
DMM近未来工作部(非公認)
• 社内の有志が集まって
• 遊んでる←重要
• 今回のネタも業務外の遊び
このLTの趣旨
とりあえずつないで漫然と計って見えてパチ
パチは、もう卒業だぁ! IoT開発のトレン
ドを共有しましょう!
• このイベントのアオリ
• しかし
やったことは IoT Hello World!
• A○mazon Dash Button
• のPushを通知するようなもの
• (デバイスも手作りではありますが)
それだけに感じたIoT Ready
• Hello World はしやすかった
• Azure の PaaS も切り張り
• 次の一歩も想像しやすい
• このあたりの感想共有
プロダクト構成
暇を通知してもらうプロダクト
• 社長が暇だかわからない
• ボタンを押すと暇だと通知される
通知
暇なときに
Push!!
全体像
デバイスでボタンが押されると
Azureを経由して
ユーザーに通知される
Button IoT Hub
Azure
Functions
Bot
Service
Bot
Channels
Webhooks
Web Push
デバイス
• ESP8266
• Wi-Fi接続できるマイコンボード
• ボタンの押下をIoT Hubに送信
これ
クラウド
• AzureのPaaS
• デバイスとの接続:IoT Hub
• メッセージの配信:Event Hub互換エンドポイント
• メッセージの処理:Azure Functions
• メッセージの通知:Azure Bot ServiceやFuncsionsへの実装
• 詳しくは懇親会や別の機会に
これ以外
Azure の IoT Ready
デバイスとの接続はどんどんしやすく
• IoT Hubの機能拡充は充実している
• 今回は使わなかったDevice Twinほか
• 追いかけるのが難しいほど
• 有志のライブラリも出つつある
• 今回はESP8266向けのMQTTライブラリで接続
• https://github.com/wamisnet/Azure-iothub-mqtt-esp8266
• Certified for IoT デバイスも増えている
• https://catalog.azureiotsuite.com/
メッセージのストリーミング処理
• Event HubsやStorage Queueなど
• リニアなスケール
• 分配の柔軟性
• デバイスからのメッセージを加工、処理するのに向く
• Azure Functions
• Stream Analytics
• など
• 細かい加工、処理を組み合わせるパズル感
• Node-REDが流行る理由も分かる
拡張性
メッセージの分岐先を増やすなども容易
Button IoT Hub
Azure
Functions
Bot
Service
Bot
Channels
Webhooks
Web Push
気になった点
• IoT HubのEvent Hub互換エンドポイントのメッセージスキー
マ
• メッセージ以外(送信元デバイスID)などはどこへ?
• ご存知な方教えて!
• Azure Functions のデバッグ
• csx のユニットテストとか
• コンパイル済アセンブリの実行機能で解決?
まとめ
まとめ
• 相性がよさそう
• IoT と Azure Functions でのデータ処理
• 小さな処理を組み合わせていく作り
• まだまだな部分もある
• みんなで課題共有解決しましょう
Button IoT Hub
Azure
Functions
Bot
Service
Bot
Channels
Webhooks
Web Push
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

サーバを運用する時代は終わった
サーバを運用する時代は終わったサーバを運用する時代は終わった
サーバを運用する時代は終わったYuki Ishikawa
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話Yuki Ishikawa
 
altJSの選び方
altJSの選び方altJSの選び方
altJSの選び方terurou
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話ota42y
 
enebular と Azure IoT で遠隔地にあるデバイスを扱う
enebular と Azure IoT で遠隔地にあるデバイスを扱うenebular と Azure IoT で遠隔地にあるデバイスを扱う
enebular と Azure IoT で遠隔地にあるデバイスを扱うKazumi IWANAGA
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例Yasutomo Uemori
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方Yusuke Wada
 
A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。典子 松本
 
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方Mori Tetsuya
 
Microservices Architecture の利点と欠点
Microservices Architecture の利点と欠点Microservices Architecture の利点と欠点
Microservices Architecture の利点と欠点ota42y
 
20130614 jaws ug山形-lt
20130614 jaws ug山形-lt20130614 jaws ug山形-lt
20130614 jaws ug山形-ltSeiji Akatsuka
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いota42y
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot FrameworkKazumi IWANAGA
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~MakotoItoh
 
なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話ota42y
 
あじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPあじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPc-mitsuba
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Yusuke Wada
 
Endo kitura on_bluemix
Endo kitura on_bluemixEndo kitura on_bluemix
Endo kitura on_bluemixjoohoun song
 
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成(shibao)芝尾 (kouichiro)幸一郎
 

Mais procurados (20)

サーバを運用する時代は終わった
サーバを運用する時代は終わったサーバを運用する時代は終わった
サーバを運用する時代は終わった
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
 
altJSの選び方
altJSの選び方altJSの選び方
altJSの選び方
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話
 
enebular と Azure IoT で遠隔地にあるデバイスを扱う
enebular と Azure IoT で遠隔地にあるデバイスを扱うenebular と Azure IoT で遠隔地にあるデバイスを扱う
enebular と Azure IoT で遠隔地にあるデバイスを扱う
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
 
A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。
 
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方
 
gulp芸
gulp芸gulp芸
gulp芸
 
Microservices Architecture の利点と欠点
Microservices Architecture の利点と欠点Microservices Architecture の利点と欠点
Microservices Architecture の利点と欠点
 
20130614 jaws ug山形-lt
20130614 jaws ug山形-lt20130614 jaws ug山形-lt
20130614 jaws ug山形-lt
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
 
なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話
 
あじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPあじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWP
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
 
Endo kitura on_bluemix
Endo kitura on_bluemixEndo kitura on_bluemix
Endo kitura on_bluemix
 
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
 

Semelhante a IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話

観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪Kazumi IWANAGA
 
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかJazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかTsubasa Yoshino
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...日本マイクロソフト株式会社
 
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONHajime Fujimoto
 
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actionsDaiki Mogmet Ito
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!Yuka Tokuyama
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史ide_an
 
SINAP様 IoT×littleBitsブレスト
SINAP様 IoT×littleBitsブレストSINAP様 IoT×littleBitsブレスト
SINAP様 IoT×littleBitsブレストSeigo Tanaka
 
こんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せこんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せKnowledge & Experience
 
いないいないさあぼ
いないいないさあぼいないいないさあぼ
いないいないさあぼTetsuya Kanja
 
20190628 iot central_demo
20190628 iot central_demo20190628 iot central_demo
20190628 iot central_demoSyota Yano
 
IoT家電を作ってみて気がついたUX
IoT家電を作ってみて気がついたUXIoT家電を作ってみて気がついたUX
IoT家電を作ってみて気がついたUXTakuya Noaki
 
Kansai Azure IoT, Device & Cloud 20140927
Kansai Azure IoT, Device & Cloud 20140927Kansai Azure IoT, Device & Cloud 20140927
Kansai Azure IoT, Device & Cloud 20140927Ayako Omori
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功Tatsuya Sakai
 

Semelhante a IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話 (20)

観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
 
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかJazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとか
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
 
Io t最初の一歩
Io t最初の一歩Io t最初の一歩
Io t最初の一歩
 
WebとIoTとMake
WebとIoTとMakeWebとIoTとMake
WebとIoTとMake
 
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
 
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actions
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
SINAP様 IoT×littleBitsブレスト
SINAP様 IoT×littleBitsブレストSINAP様 IoT×littleBitsブレスト
SINAP様 IoT×littleBitsブレスト
 
Bot Service 概要
Bot Service 概要Bot Service 概要
Bot Service 概要
 
こんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せこんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せ
 
いないいないさあぼ
いないいないさあぼいないいないさあぼ
いないいないさあぼ
 
EIoTLTvol1
EIoTLTvol1EIoTLTvol1
EIoTLTvol1
 
20190628 iot central_demo
20190628 iot central_demo20190628 iot central_demo
20190628 iot central_demo
 
IoT家電を作ってみて気がついたUX
IoT家電を作ってみて気がついたUXIoT家電を作ってみて気がついたUX
IoT家電を作ってみて気がついたUX
 
Kansai Azure IoT, Device & Cloud 20140927
Kansai Azure IoT, Device & Cloud 20140927Kansai Azure IoT, Device & Cloud 20140927
Kansai Azure IoT, Device & Cloud 20140927
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
 

IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話

Notas do Editor

  1. スライド読む。
  2. スライド読む。
  3. 今回のネタについてBlog記事を書いていますので、よろしければ参照ください。 → スライド読む。
  4. IoTやAzureといった要素には仕事でも触れていますが、今回のネタは趣味の要素が強いです。
  5. DMM近未来工作部という非公認のクラブ活動の企画としての遊びです。
  6. スライドを読む。
  7. やったことはIoT Hello Worldです。 デバイスも手作りではありますが、ダッシュボタンが押されたことを不特定多数に通知するだけのことをやりました。
  8. スライドを読む。
  9. 背景はBlogに書かせてもらっているのですが、社長が暇かどうかわからない、という課題がありました。 これに対して、押すと暇だ、と通知されるボタンを作りました。 こういうボタンがあって、押すとみんなのPCなりスマホなりに通知されるだけのものです。
  10. デバイスとしてのボタンがあり、IoT Hubにメッセージを送って、そのメッセージをFunctionsで処理して各ユーザーが待ち受けている先に通知するような作りになっています。
  11. スライドを読む。
  12. スライド内容をつなげながら読む。
  13. こんな感じなものを作って実際のところでAzureのIoT Readyを感じたところを紹介します。
  14. デバイスとの接続の肝となるのはIoT Hubです。 今回は昔からあるデバイス接続の基本機能しか使わなかったのですが、デバイスのメタデータ管理や、フィールドゲートウェイのサポート強化など、機能拡充が著しいです。 デバイス側のライブラリ整備で足回りも実装しやすくなっています。
  15. 典型的にはサーバサイドではデバイスからのメッセージという単位で処理をしていくわけですが、それが非常にやりやすかったです。 Event HubsやQueueはメッセージのやり取りをしやすいです。 Functionsなどでの処理を組み合わせてアウトプットを得ていくパズルのような感じを受けました。 後から処理を追加するにも、Event Hubならコンシューマグループを追加したり、Queueのトピックを使っていたりすれば簡単です。 IoT周りでNode-REDがはやっている理由もわかるというものです。
  16. デバイスとしてのボタンがあり、IoT Hubにメッセージを送って、そのメッセージをFunctionsで処理して各ユーザーが待ち受けている先に通知するような作りになっています。
  17. 半面、気になったこと。
  18. 所感をまとめますと、IoTとAzure Functionsなどでの小さな処理を組み合わせていく作りはやはり相性がよさそうです。 が、先に上げたようによくわからない部分もあるので課題は共有しながら解決していくのがいいのかなぁ、と考えております。