PythonでIoTだって?!「大丈夫だ、問題ない」~ IoT最新事例とPythonでセンサー操作 1・2・3
by
SORACOM
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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.