Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PythonでIoTだって?!「大丈夫だ、問題ない」~ IoT最新事例とPythonでセンサー操作 1・2・3

PythonでIoTだって?!「大丈夫だ、問題ない」~ IoT最新事例とPythonでセンサー操作 1・2・3

2022年7月14日(木)開催のみんなのPython勉強会#83で、ソラコム松下享平の発表資料「PythonでIoTだって?!「大丈夫だ、問題ない」~ IoT最新事例とPythonでセンサー操作 1・2・3」

7cd783377515bdf8207062840b7b2f4e?s=128

SORACOM
PRO

July 14, 2022
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. PythonでIoTだって?! 「大丈夫だ、問題ない」 IoT最新事例とPythonでセンサー操作 1・2・3 July 14, 2022 みんなのPython勉強会#83 株式会社ソラコム テクノロジー・エバンジェリスト

    松下享平 (Max / @ma2shita)
  2. 株式会社ソラコム テクノロジー・エバンジェリスト 松下享平 (まつした こうへい) "Max" IoT や SORACOM を紹介

    通算講演回数 500超 好きな言葉「論よりコード」 ニックネームは Max (マックス)
  3. 今日のハッシュタグ @SORACOM_PR fb.com/soracom.jp フォローや チャンネル登録 お気軽に!! youtube.com/c/SORACOM_Japan #stapy #SORACOM と

    #Maxデテル も!
  4. https://qiita.com/ma2shita/items/be871db4afa241172385 https://qiita.com/ma2shita/items/42ad9527b37495887449

  5. × IoTできる! 大丈夫だ、問題ない

  6. クラウド センサー/デバイス “モノ” ネットワーク 現場を デジタル化 現場とクラウドを つなげる デジタルデータの 活用

    モノやコトをデジタル化 IoT の構成要素と実現できること
  7. 社会のあらゆる場所で活用されているIoT 社会インフラ(ガス) 運輸・輸送 商業施設(カメラ・AI) 顧客利便性向上 モビリティ 製造現場 見守り コミュニケーション支援 社会インフラ(河川)

    洋上プラント 商業施設(ロボット) 鳥獣捕獲
  8. IoT は “IT や ICT の広がった姿” ICT IoT IT あらゆるモノをネットにつなげてデジタル社会を実現

  9. クラウド センサー/デバイス “モノ” ネットワーク デジタル化の課題「ネットワーク」 ネットワークの 設定? セキュリティ 対策や更新? クラウドとの

    連携? “モノ” の開発や 管理 現場を デジタル化 デジタルデータの 活用
  10. SORACOM は IoT の「つなぐ」を簡単に IoT デバイス クラウドサービス ✓ 遠隔操作 ✓

    メンテナンス ✓ 蓄積・見える化 ✓ アラート通知 センサ キット IoT 通信 IoT SIM LPWA パートナー デバイス パートナークラウド (AWS / Microsoft / Google) Wi-Fi / 有線 3G / LTE / 5G LTE-M 通信 デバイス IoT カメラ
  11. 通信で「モノづくり」のルールが 変わり始めている CPU や マイコン 通信 モジュール ファームウェア モニター、ロボットアーム、 スピーカー等

    温度センサー、GPS、 マイク等 クラウド デジタル化 制御 IoT における “モノづくり” 「製品」の定義が 変わった これまでの “モノづくり”
  12. IoT デバイスとは? CPU や マイコン 通信 モジュール ファームウェア モニター、ロボットアーム、 スピーカー等

    温度センサー、GPS、 マイク等 クラウド これまでの “モノづくり” デジタル化 制御 IoT における “モノづくり” IoT における “モノづくり” において、現実世界側を担当するハードウェア。 クラウドと連携して、センサーや機器の制御を行う。 センサー込み IoT デバイス スマートスピーカー ハードウェア的な境界 IoT 向けコンピューター / マイコン Raspberry Pi (ラズベリーパイ / ラズパイ) センサーや アクチュエーター
  13. ソースネクスト株式会社 「POCKETALK Ⓡ 」 外国語での双方向コミュニケーショ ンを実現するAI通訳機。 グローバル通信搭載で、電源を 入れれば、世界中ですぐに利用可能。 導入事例 利用したSORACOMサービス:SORACOM

    Air (plan01s / planX1)チップ型SIM(eSIM)搭載 サービス * 対応言語の詳細は製品ウェブサイトをご確認ください 協力パートナー:JENESIS株式会社
  14. IoT デバイスとは、 「クラウドを味方にするインターフェイス」 CPU や マイコン 通信 モジュール ファームウェア スピーカー

    マイク クラウド上の 翻訳エンジン CPU や マイコン ファームウェア スピーカー マイク ハードウェア的な境界 = クラウドとのインターフェイス 翻訳エンジン
  15. クラウド センサー/デバイス “モノ” ネットワーク Python できれば、IoT できる! 現場を デジタル化 デジタルデータの

    活用
  16. Python ベースのサンプルコードなら https://www.amazon.co.jp/dp/B09VKM6XHW/ 出版社 : 日経BP (2022/3/18) 発売日 : 2022/3/18

    単行本: 3,190円(7/14時点) / Kindle版あり パーツ分解・実験編 「やりたい、使いたい」センサーやパーツにフォーカス して、それらを動かす準備とコードを解説 Raspberry Pi のIO詳解編 ラズパイが持つ GPIO を基に、デジタル/PWM/I2Cなどな どIOにフォーカスして、操作する方法を解説 2回目の登場! いい本 (^^
  17. urllib.request が使えるなら、センサーも使える 1 2 3 4 5 6 7 8

    9 10 import urllib.request URL = 'https://example.com/api’ req = urllib.request.Request(URL) with urllib.request.urlopen(req) as res: data = res.read() #=> data にHTTP Bodyが入ってる import pigpio pi = pigpio.pi() SENSOR_ADDR = 0x40 ctx = pi.i2c_open(I2C_INTERFACE, SENSOR_ADDR) (_, data) = pi.i2c_read_byte_data(ctx, 0x5e, 2) #=> data に距離データが入ってる 1 2 3 4 5 6 7 8 9 10 ラズパイ自由自在 電子工作パーツ制御 完全攻略 / 著:松岡貴志 P50 GP2Y0E03.py を参考に筆者変更 HTTP の代わりに、 I2C や SPI、UART といった “プロトコル” で センサーやアクチュエーターという「API サーバー」にアクセスする アドレス指定 データ取得
  18. IoT で使える Python ライブラリ等 Requests HTTP(S)クライアント。SaaS の API へ投げ込む 際にコード量を少なくできるのが良い。

    Eclispe Paho MQTT(S)クライアント。RawなMQTTサーバーは 皆無なので、実質は import ssl を用いてMQTTS にするのが一般的。 Tenacity リトライライブラリ。デコレーター(def 直上に `@foo` を記述する書式)で使用する。 wait_exponential が便利。 venv 仮想環境とも称される、実行環境の分離ツール。 保守性や動作の確実性の向上には欠かせない。 while True: && time.sleep() 永続化のプリミティブな実装。センサーデータを 取得しつつデータ送信をするといった並行処理を するなら multiprocessing(Process, Queue) を検 討。
  19. 継続的な利用を支えるミドルウェアや Tips systemd journald(syslog代替)、 timer(cron代替)、daemon化も systemdでできる時代。 rootfs の ROM化 (電プチ対策)

    $ sudo raspi-config nonint enable_overlayfs で一発! https://qiita.com/ma2shita/items/45818f0872472ecacac1 これじゃ、 ラズパイ Tips だな
  20. FaaS で Python AWS Lambda Azure Functions Cloud Functions

  21. クラウド センサー/デバイス “モノ” ネットワーク Python できれば、IoT できる! 現場を デジタル化 デジタルデータの

    活用
  22. 食の安全を守る流通や温度管理、 施錠の仕組みをクラウドとIoT技 術でセキュアに実現。 利用したSORACOMサービス: SORACOM Air, Canal, Funnel, Harvest, Lagoon

    利用したデバイス: GPS マルチユニット SORACOM Edition, ビーコン対応 GPS トラッカー GW スターターキット 導入事例 サービス クックパッド株式会社 「cookpad mart」
  23. !! https://ascii.jp/elem/000/004/064/4064111/

  24. セキュアリンクサービス SORACOM Arc Wi-Fi や有線通信といった IP ネットワークから SORACOM 上の IoT

    向けサービスが利用できる VPN 接続サービス。 VPN には WireGuard を利用、接続認証情報を「バーチャル SIM」として扱い、SORACOM 上では “SIM からの通信” のように、セルラー/LPWA等の回線と同等に扱えるようになる。 IoT データ通信 SORACOM Air SORACOM IoT SIM (セルラー認証情報) セルラーネットワーク SORACOMサービス群 セルラー通信モジュール セキュアリンク SORACOM Arc WireGuard SORACOM バーチャル SIM (VPN 認証情報) VPN Wi-Fi
  25. オンデマンドリモートアクセスサービス SORACOM Napter SIM に対する TCP ポートフォワード(転送)サービス。 動的なグローバル IP アドレス/ポートの組を払い出し、

    SSH 等の TCP アプリケーションによるアク セスができる。アクセス元 IP アドレス制限や、一定時間での自動 OFFや監査ログ等でセキュアに利 用可能。 SORACOM Napter 払い出し依頼 IP とポートの払い出し IoT データ通信 SORACOM Air セキュアリンク SORACOM Arc Napter が ポート転送 IP とポートへアクセス インターネット
  26. とはいえ…

  27. とはいえ… オワタ \(^o^)/

  28. AWS IoT Greengrass V2 Java ベースのソフトウェア Plain なコードが実行可能 造りが Java

    なだけで、実行可能なコードはハードウェ ア上のランタイムやライブラリが利用可能(もちろん Pythonも!) 。シェル環境とも言える。 サーバープッシュのリモート更新が可能 フリート(群体)管理を前提に構築されており、同時に複 数展開ができる。
  29. クラウド センサー/デバイス “モノ” ネットワーク Python できれば、IoT できる! 現場を デジタル化 デジタルデータの

    活用 通信は SORACOM 選んでくれると嬉しい!
  30. まあ やってみなはれ! できるからさ (^^

  31. IoTで解決したいこと、実現したいことから選べる、無料の手順書 SORACOM IoT DIY レシピ カップの有無 = 距離センサーの応用 紛失 =

    電波の届き具合を利用 食べ時 = 温度センサーの応用 アイデアを形にできる50以上のレシピ
  32. 私(Max)も、大崎に終日います! お気軽に「まっくすー」と呼んでください (^^ ※ URL は後で #stapy に投げておきますー。

  33. イベント等の最新情報は ☞ https://soracom-ug.jp ソーシャル ☞ #soracomug 全国大会 “SORACOM UG Explorer

    2022” 開催! 10/22 (土)
  34. SORACOM の願い

  35. IoTの「つなぐ」を簡単に You Create. We Connect.