体験IoT(Azureと
Raspberry Piで体験する
IoT)
会社名 今岡工学事務所
役職 代表
発表者名 今岡 通博
Session ID:HOL004
本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 開催日(2016年11月1-2日)時点のものであり、予告なく変更される場合があります。
© 2016 Microsoft Corporation. All rights reserved.
自己紹介
今岡 通博
今岡工学事務所代表
MVP (Windows Development)
https://www.facebook.com/imaoka.micihihiro
@imaoca
imaoca@gmail.com
© 2016 Microsoft Corporation. All rights reserved.
温度データをAzureに送ります。
Azure経由でLEDを制御します。
つぎの2つのミッションを
45分で達成します。
© 2016 Microsoft Corporation. All rights reserved.
MQTTというプロトコルを用います
この5つのキーワードを覚えてください。
• message やり取りされるデータ
• topic メッセージのタグ付け
• publisher メッセージを送信するノード
• subscriber メッセージを受け取るノード
• broker メッセージを仲介するノード
© 2016 Microsoft Corporation. All rights reserved.
PUB/SUBモデル
subscriber(購読者)
トピック
topic/section/sub
publisher(情報提供者)
Broker
© 2016 Microsoft Corporation. All rights reserved.
topicは/で区切って階層的に表現できる
/
/
/ /
/ /
/
Arduino
digital
analog
d4 d5
out in
topic表記の例
Arduino/digital/d4/in
Adrduino/digital/#
+/+/+/in
毎朝新聞/1962-6-7/政治面/#
© 2016 Microsoft Corporation. All rights reserved.
Router
RsPi 45-0A
Publisher
RsPi 6F-B7
Subscriber
user1 GPIO17
user2 GPIO23
user3 GPIO25
user4 GPIO12
user5 GPIO16
user1 user2 user3 user4 user5
mqtttestbed.japanwest
.cloudapp.azure.com
Group A (user1..user5)
Broker
© 2016 Microsoft Corporation. All rights reserved.
Router
RsPi 45-0A
Subscriber
RsPi 6F-B7
Publisher
user6 GPIO17
user7 GPIO23
user8 GPIO25
user9 GPIO12
user10 GPIO16
user6 user7 user8 user9 user10
mqtttestbed.japanwest
.cloudapp.azure.com
Group B (user6..user10)
Broker
各自のユーザ名でログイン
• PCのTera Termを立ち上げます。
• PublisherのノードとSubscriberのノードそれぞれSSH
でログインしてください。
• ログイン名:ユーザ名、パスワード:raspberry
• あなたのPCには二つのログイン画面があるはずです。
© 2016 Microsoft Corporation. All rights reserved.
ミッション1:
温度データをAzureに送信せよ
• PublisherのCPU温度を測定する
• 温度データを下記のAzureに送る
mqtttestbed.japanwest.cloudapp.azure.com
• スマホでAzureに送った温度データを確認する
© 2016 Microsoft Corporation. All rights reserved.
PublisherのCPU温度を測定する
• Publisher側で以下のコマンドで温度を取得
• cat /sys/class/thermal/thermal_zone0/temp
• 取得された数値は温度を1000倍した値
• チップ内の温度なので気温より少し高め
© 2016 Microsoft Corporation. All rights reserved.
Scriptを起動
• sudo ./pubtemp.sh
© 2016 Microsoft Corporation. All rights reserved.
ここからはスマホの操作です。
© 2016 Microsoft Corporation. All rights reserved.
• IoT MQTT Dashboardインストール
• https://play.google.com/store/apps/deta
ils?id=com.thn.iotmqttdashboard&hl=ja
• 以下のアイコンをクリック
© 2016 Microsoft Corporation. All rights reserved.
①コネクション
を追加
③コネクション
を保存
②既存のコネク
ションを長押しす
ると編集できる
© 2016 Microsoft Corporation. All rights reserved.
①SUBSCRIBE
に切り替える
②ここをクリック
③Subscriptionに
適当名前を付与 ④トピックを指定
⑥このSublication
を保存
⑤数値データの場
合ここをチェック
するとグラフ化す
ることができる
© 2016 Microsoft Corporation. All rights reserved.
②タップするとグ
ラフ表示になる
①タップすると接
続になる
ミッション2:
Azure経由でLEDを制御
• Subscriberのスクリプトを修正する
• スクリプトを起動
• スマホでLED点灯/消灯メッセージを送る
© 2016 Microsoft Corporation. All rights reserved.
© 2016 Microsoft Corporation. All rights reserved.
LED 割り当て
user1,6
GPIO17
user2,7
GPIO23
user3,8
GPIO25
user4,9
GPIO12
user5,10
GPIO16
スクリプトを起動
© 2016 Microsoft Corporation. All rights reserved.
mosquitto_sub -h mqtttestbed.japanwest.cloudapp.azure.com
-t "rspi/gpio17/" | sudo ./remoteled.sh
各自に割り当てられ
たGPIO番号に変更
© 2016 Microsoft Corporation. All rights reserved.
①PUBLISHに切
り替える
②ここをクリック
③ここを選択
© 2016 Microsoft Corporation. All rights reserved.
①このPublication
に適当名前を付与
②Publishするト
ピックを指定
③ボタンを追加
④このPublication
を保存
⑤クリックすると
LEDが点灯
⑥クリックすると
LEDが消灯
意図したとおりにLEDは点灯しましたか
© 2016 Microsoft Corporation. All rights reserved.
これですべてのミッションは完了です。
© 2016 Microsoft Corporation. All rights reserved.
このハンズオンで獲得したもの
• MQTTに関する基礎的理解
• センサーの値をMQTTメッセージとして送信する
• Brokerにメッセージを要求し取得する
• MQTTメッセージを受信しデバイスを制御
• デバイスをリモート制御するメッセージを送信
© 2016 Microsoft Corporation. All rights reserved.
お疲れさまでした。
© 2016 Microsoft Corporation. All rights reserved.
PLS. ASK ANY QUESTION.
https://www.facebook.com/imaoka.micihihiro
@imaoca
imaoca@gmail.com

Hol004 体験io t(azureとraspberry_piで体験