Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

株式会社ソラコム テクノロジー・エバンジェリスト 松下享平 (まつした こうへい) "Max" IoT や SORACOM を紹介 通算講演回数 500超 好きな言葉「論よりコード」 ニックネームは Max (マックス)

Slide 3

Slide 3 text

今日のハッシュタグ @SORACOM_PR fb.com/soracom.jp フォローや チャンネル登録 お気軽に!! youtube.com/c/SORACOM_Japan #stapy #SORACOM と #Maxデテル も!

Slide 4

Slide 4 text

https://qiita.com/ma2shita/items/be871db4afa241172385 https://qiita.com/ma2shita/items/42ad9527b37495887449

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

クラウド センサー/デバイス “モノ” ネットワーク 現場を デジタル化 現場とクラウドを つなげる デジタルデータの 活用 モノやコトをデジタル化 IoT の構成要素と実現できること

Slide 7

Slide 7 text

社会のあらゆる場所で活用されているIoT 社会インフラ(ガス) 運輸・輸送 商業施設(カメラ・AI) 顧客利便性向上 モビリティ 製造現場 見守り コミュニケーション支援 社会インフラ(河川) 洋上プラント 商業施設(ロボット) 鳥獣捕獲

Slide 8

Slide 8 text

IoT は “IT や ICT の広がった姿” ICT IoT IT あらゆるモノをネットにつなげてデジタル社会を実現

Slide 9

Slide 9 text

クラウド センサー/デバイス “モノ” ネットワーク デジタル化の課題「ネットワーク」 ネットワークの 設定? セキュリティ 対策や更新? クラウドとの 連携? “モノ” の開発や 管理 現場を デジタル化 デジタルデータの 活用

Slide 10

Slide 10 text

SORACOM は IoT の「つなぐ」を簡単に IoT デバイス クラウドサービス ✓ 遠隔操作 ✓ メンテナンス ✓ 蓄積・見える化 ✓ アラート通知 センサ キット IoT 通信 IoT SIM LPWA パートナー デバイス パートナークラウド (AWS / Microsoft / Google) Wi-Fi / 有線 3G / LTE / 5G LTE-M 通信 デバイス IoT カメラ

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

IoT デバイスとは? CPU や マイコン 通信 モジュール ファームウェア モニター、ロボットアーム、 スピーカー等 温度センサー、GPS、 マイク等 クラウド これまでの “モノづくり” デジタル化 制御 IoT における “モノづくり” IoT における “モノづくり” において、現実世界側を担当するハードウェア。 クラウドと連携して、センサーや機器の制御を行う。 センサー込み IoT デバイス スマートスピーカー ハードウェア的な境界 IoT 向けコンピューター / マイコン Raspberry Pi (ラズベリーパイ / ラズパイ) センサーや アクチュエーター

Slide 13

Slide 13 text

ソースネクスト株式会社 「POCKETALK Ⓡ 」 外国語での双方向コミュニケーショ ンを実現するAI通訳機。 グローバル通信搭載で、電源を 入れれば、世界中ですぐに利用可能。 導入事例 利用したSORACOMサービス:SORACOM Air (plan01s / planX1)チップ型SIM(eSIM)搭載 サービス * 対応言語の詳細は製品ウェブサイトをご確認ください 協力パートナー:JENESIS株式会社

Slide 14

Slide 14 text

IoT デバイスとは、 「クラウドを味方にするインターフェイス」 CPU や マイコン 通信 モジュール ファームウェア スピーカー マイク クラウド上の 翻訳エンジン CPU や マイコン ファームウェア スピーカー マイク ハードウェア的な境界 = クラウドとのインターフェイス 翻訳エンジン

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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回目の登場! いい本 (^^

Slide 17

Slide 17 text

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 サーバー」にアクセスする アドレス指定 データ取得

Slide 18

Slide 18 text

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) を検 討。

Slide 19

Slide 19 text

継続的な利用を支えるミドルウェアや Tips systemd journald(syslog代替)、 timer(cron代替)、daemon化も systemdでできる時代。 rootfs の ROM化 (電プチ対策) $ sudo raspi-config nonint enable_overlayfs で一発! https://qiita.com/ma2shita/items/45818f0872472ecacac1 これじゃ、 ラズパイ Tips だな

Slide 20

Slide 20 text

FaaS で Python AWS Lambda Azure Functions Cloud Functions

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

食の安全を守る流通や温度管理、 施錠の仕組みをクラウドとIoT技 術でセキュアに実現。 利用したSORACOMサービス: SORACOM Air, Canal, Funnel, Harvest, Lagoon 利用したデバイス: GPS マルチユニット SORACOM Edition, ビーコン対応 GPS トラッカー GW スターターキット 導入事例 サービス クックパッド株式会社 「cookpad mart」

Slide 23

Slide 23 text

!! https://ascii.jp/elem/000/004/064/4064111/

Slide 24

Slide 24 text

セキュアリンクサービス 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

Slide 25

Slide 25 text

オンデマンドリモートアクセスサービス SORACOM Napter SIM に対する TCP ポートフォワード(転送)サービス。 動的なグローバル IP アドレス/ポートの組を払い出し、 SSH 等の TCP アプリケーションによるアク セスができる。アクセス元 IP アドレス制限や、一定時間での自動 OFFや監査ログ等でセキュアに利 用可能。 SORACOM Napter 払い出し依頼 IP とポートの払い出し IoT データ通信 SORACOM Air セキュアリンク SORACOM Arc Napter が ポート転送 IP とポートへアクセス インターネット

Slide 26

Slide 26 text

とはいえ…

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

AWS IoT Greengrass V2 Java ベースのソフトウェア Plain なコードが実行可能 造りが Java なだけで、実行可能なコードはハードウェ ア上のランタイムやライブラリが利用可能(もちろん Pythonも!) 。シェル環境とも言える。 サーバープッシュのリモート更新が可能 フリート(群体)管理を前提に構築されており、同時に複 数展開ができる。

Slide 29

Slide 29 text

クラウド センサー/デバイス “モノ” ネットワーク Python できれば、IoT できる! 現場を デジタル化 デジタルデータの 活用 通信は SORACOM 選んでくれると嬉しい!

Slide 30

Slide 30 text

まあ やってみなはれ! できるからさ (^^

Slide 31

Slide 31 text

IoTで解決したいこと、実現したいことから選べる、無料の手順書 SORACOM IoT DIY レシピ カップの有無 = 距離センサーの応用 紛失 = 電波の届き具合を利用 食べ時 = 温度センサーの応用 アイデアを形にできる50以上のレシピ

Slide 32

Slide 32 text

私(Max)も、大崎に終日います! お気軽に「まっくすー」と呼んでください (^^ ※ URL は後で #stapy に投げておきますー。

Slide 33

Slide 33 text

イベント等の最新情報は ☞ https://soracom-ug.jp ソーシャル ☞ #soracomug 全国大会 “SORACOM UG Explorer 2022” 開催! 10/22 (土)

Slide 34

Slide 34 text

SORACOM の願い

Slide 35

Slide 35 text

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