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.

Watson IoT Platform全貌解説

1,627 views

Published on

BXMUG Bluemix大勉強会 (2017/6/21)
Watson IoT Platform 全貌解説
合同会社井上研一事務所 ITコーディネータ 井上 研一
Bluemixのカタログにひっそりたたずむ「Internet of Things Platform」を、あなたは使ったことがありますか?IoTデバイスへの組み込みは容易な上、500台までは無料で接続可能。さらにクラウド側はノンプログラミングで、可視化、自動化、さらにセンサーデータの蓄積まで可能!IoT Platformの基本から、Node-REDやIFTTTや、IBM Data Science Experience(DSX)との連携までお話しします。

Published in: Technology
  • Be the first to comment

Watson IoT Platform全貌解説

  1. 1. For Innovation, Coordinate Collaboration Up-front 合同会社 井上研一事務所 BXMUG Bluemix大勉強会 (2017/6/21) Watson IoT Platform 全貌解説 合同会社井上研一事務所 ITCA認定ITコーディネータ 井上 研一
  2. 2. 井上研一 プロフィール ITコーディネータ (経済産業省推進資格)・ITエンジニア 合同会社井上研一事務所 代表社員 ※アルティザンエッジ合同会社より2017年4月に商号変更 ITCA届出組織 ITC-Pro東京 理事 Tech Garden School 講師(CakePHP / Monaca / Watson etc…) IBM BlueHubインキュベーションプログラム(第3期) メンター ICTCO(中野区産業振興推進機構)会員 https://inoccu.com Twitter: @inoccu | Facebook: kenichi.inoue © Kenichi Inoue 2017 2
  3. 3. Watson IoT Platform? © Kenichi Inoue 2017 3 Watsonって名前が 付いているから、 AI(コグニティブ)的 機能が付いている? IoTとWatsonの 親和性は? インスタンス数は 4〜5位らしい!
  4. 4. Watson IoT PlatformとWatsonの関係 • Watson IoT Platformに、いわゆるAI(コグニティブ)的機能 は付いていない • Watsonの得意とする自然言語認識や画像認識と、IoTで取り扱 うデータとして一般的なセンサーデータ(気温・加速度などの 数値データ)は別物と考えた方が良い • いわゆるAI(機械学習的な)活用の第一歩として、センサー データの蓄積や可視化、閾値を用いた自動化は有意義 • Watson IoT Platformは、こうした第一歩を簡単に踏み出せる ツール(プラットフォーム)である • DSX(Data Science Experience)との親和性は高いと考え られる © Kenichi Inoue 2017 4 但し、IoTデバイスから画像などを送信して、Watson(Visual Recognition等)につなげるのはアリ
  5. 5. IoTとBluemix © Kenichi Inoue 2017 5 Raspberry Pi 3 Model B Groove Pi 気温・照明・音量センサー Watson IoT Platform MQTT / HTTP Cloudant Node-RED IBM DSX 可視・ 自動 フロー 制御 予測・ 自律 IoTサービス (API) AI データ蓄積 デバイス スマートフォンも身近な IoTデバイスとして活用可
  6. 6. デバイスとの接続 © Kenichi Inoue 2017 6 Watson IoT Platform (WIOTP) MQTT/HTTP 事前にWIOTPにデバイス登録 ゲート ウェイ デバイスを直接接続 ゲートウェイ経由で接続 MQTT/HTTP ゲートウェイのみ事前にWIOTP に登録(ゲートウェイ配下の デバイスは自動登録される) クライアントライブラリを 使えば、簡単にデバイスを 接続できる (標準規格なので、ライブ ラリは必須ではない)
  7. 7. デバイスタイプ・デバイス イベント・コマンド © Kenichi Inoue 2017 7 • 機種(製品コードなどの単位) • 規則はデバイスタイプ毎に設定 デバイス タイプ • 機器(シリアル番号の単位) • デバイスタイプに紐付く デバイス • デバイスからのメッセージ(Publish) • “status”など イベント • デバイスへのメッセージ(Subscribe) • デバイス側ではコールバック コマンド ※厳密にはデバイスタイプ単位に設定するスキーム単位
  8. 8. Pythonを用いた接続/Publish例 ※クライアントライブラリ使用 © Kenichi Inoue 2017 8 import ibmiotf.device options = ibmiotf.device.ParseConfigFile("./device.cfg") client = ibmiotf.device.Client(options) data = { 'd': { 'temperature': temp, 'light': light, 'sound': sound } } client.publishEvent('status', 'json', data)
  9. 9. JavaScriptを用いたMQTT接続例 ※クライアントライブラリ未使用 var mqtt_address = orgID + '.messaging.internetofthings.ibmcloud.com'; var mqtt_port = 1883; var deviceID = 'd:' + orgID + ':' + deviceType + ':' + deviceName; client = new Paho.MQTT.Client(mqtt_address, mqtt_port, '/', deviceID); client.connect({ userName: 'use-token-auth', password: password, onSuccess: function() { isConnectMQTT = true; }, onFailure: function() { isConnectMQTT = false; } }); © Kenichi Inoue 2017 9 注:JavaScript (Node.js)用のクライア ントライブラリは提供され ていますが、敢えて・・・
  10. 10. JavaScriptを用いたMQTT Publish例 ※クライアントライブラリ未使用 var data = { d: { accel_x: accelX, accel_y: accelY, accel_z: accelZ, heading: magneticHeading } }; if (isConnectMQTT == true) { var msg = new Paho.MQTT.Message(JSON.stringify(data)); msg.destinationName = 'iot-2/evt/status/fmt/json'; msg.qos = 0; client.send(msg); } © Kenichi Inoue 2017 10
  11. 11. HTTP(S)を使用するPublish © Kenichi Inoue 2017 11 curl -u use-token-auth:[Password] -H 'Content-Type: application/json’ -d '{"d":{"key1":"value1"}}' https://[OrgID].messaging.internetofthings.ibmcloud.com: 8883/api/v0002/device/types/[DeviceType]/devices/[Device Name]/events/[EventName] • MQTTを使わなくてもHTTP(S)でイベントをPublish可能
  12. 12. 可視化とデータ蓄積 © Kenichi Inoue 2017 12 リアルタイムの可視化 設定だけでCloudantへ
  13. 13. 規則を用いた自動化 © Kenichi Inoue 2017 13 ルールの設定で自動処理を実現 デバイスタイプ毎のスキームを設定し、スキームが規則の適用対象となる 「条件」を満たすと「操作(アクション)」を起動する 規則はクラウド規則と エッジ規則がある (エッジ規則を使えば、ク ラウドと通信しなくても規 則に応じた操作ができる) メール送信 IFTTT Node-RED HTTP input Webhook
  14. 14. アクションとしてIFTTTを使う © Kenichi Inoue 2017 14
  15. 15. IBM DSXでのデータ活用 © Kenichi Inoue 2017 15 おなじみの Jupyter Notebooks Cloudantなどとの接続は容易 Data Servicesに設定しておくと、 接続情報セルが生成される (あとは通常のPythonコード)
  16. 16. Node-REDとも簡単につながる © Kenichi Inoue 2017 16 Node-REDは処理フ ローを制御するもの のため、適宜、予測 や自律的判断を行う ためのAIと接続する 必要がある。
  17. 17. 使用料金 © Kenichi Inoue 2017 17 Internet of Things Platform (Watson IoT Platform) ※履歴データのCloudantは別料金 IBM DSXは Apache Sparkで 動いている
  18. 18. © Kenichi Inoue 2017 ありがとうございました。 18

×