Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
個人で手軽にブラウザやビジュアルプログラミングでIoT /【イマドキのIoTを支える技術】/ ...
Search
you(@youtoy)
PRO
December 14, 2022
Technology
2
180
個人で手軽にブラウザやビジュアルプログラミングでIoT /【イマドキのIoTを支える技術】/ TechFeed Experts Night#10
you(@youtoy)
PRO
December 14, 2022
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
もくはりでのモノ作りと自身のモノ作り活動 / もくはり文化祭2024 オープン記念イベント
you
PRO
0
24
"かわいい" がテーマのハッカソンでWebの技術を使って魔法の世界を作った話など / HTML5 10th Anniversary
you
PRO
0
75
ブラウザで AI・機械学習が扱える TensorFlow.js が使われているライブラリなどの話 / #さくらのAI Meetup vol.4「ブラウザ」
you
PRO
0
150
Blynk と Raspberry Pi Pico W で IoT 〜 MQTT・HTTPリクエストの組み合わせも 〜 / IoTLT vol.114
you
PRO
0
2.4k
AIを活用したWebアプリのプロトタイプを作ってコンテストや展示に出してみた話 / 大阪工業大学 ネットワークデザイン学科 LT大会 2024v2
you
PRO
0
84
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
560
WebHID API で Joy-Con・DUALSHOCK 4 のセンサーをブラウザから利用する / IoTLT vol.109
you
PRO
0
2.3k
UIFlow 2.0 で MQTT をやってみた! / IoTLT vol.108
you
PRO
0
4.8k
UIFlow 2.0 と ATOMS3 の組み合わせで LINE通知を試す / ビジュアルプログラミングIoTLT vol.16
you
PRO
0
2.6k
Other Decks in Technology
See All in Technology
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
300
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
200
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
140
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
230
TypeScript開発にモジュラーモノリスを持ち込む
sansantech
PRO
3
800
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
150
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
710
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
130
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
260
AI×医用画像の現状と可能性_2024年版/AI×medical_imaging_in_japan_2024
tdys13
0
910
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
23
6.6k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Speed Design
sergeychernyshev
25
700
How GitHub (no longer) Works
holman
312
140k
Docker and Python
trallard
43
3.2k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Site-Speed That Sticks
csswizardry
2
210
GraphQLとの向き合い方2022年版
quramy
44
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Transcript
None
個人で手軽に ブラウザやビジュアルプログラミングでIoT 2022年12月14日 (水) TechFeed Experts Night#10 〜 イマドキのIoTを支える技術 @オンライン
豊田陽介( ) @youtoy
自己紹介 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・今年、本2冊出したり、メーカーフェア出展3回 好きなことなど 3月発売 (共著) 7月発売 (単著)
大垣のメーカーフェアの会場の来場者の方から 複数の方に「Twitter で光学迷彩・透明マントやってる人ですよね」と言われた ブラウザ上での機械学習と描画処理を 使ったもの(MediaPipe Hands による 手の認識と、p5.js を使った描画)
自己紹介:書籍で書いた内容関連 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・今年、本2冊出したり、メーカーフェア出展3回 好きなことなど 3月発売 (共著) 7月発売 (単著) ブラウザ上でできる機械学習 や描画との組み合わせの話 ビジュアルプログラミング + IoT の話の作例
スライドは公開済みなので 発表中は文字などの記載を 追わなくても大丈夫です
今日の話の方向性
こういった構成を個人で手軽に試す 何らかの入力 インター ネット モノ モノ インター ネット 何らかの出力
「ちょっと試してみる」くらい のレベル感の内容を
個人で試しやすい IoT向けデバイス
先ほどの話でココに出てた
M5Stack社のデバイス(のごく一部) どんどん発売される、Wi-Fi にもつながる多種多様なデバイス群 産業用 切手サイズ USB メモリ型 防水型 電子ペー パー搭載
AIカメラ AWS 連携 スティッ ク型
M5Stack社のモジュール(のごく一部) センサーからアクチュエーターまで様々 計量 CO2、温湿度 非接触温度 カード型キーボード RFID フルカラーLED ジョイスティック 空気圧
心拍 モーター
直近でも新製品が どんどん出てきている
うちに大量にあります
うちにあるもののごく一部の写真 全部集めて写真を撮ろうとして、早々に諦めた状況のもの
オススメな理由
M5Stack製品のオススメポイントの例 • 本体は基本的に外装がついている • デバイス・モジュールの種類が豊富 • デバイス単体でもあれこれ活用できる • 公式のモジュールの接続が手軽 •
Wi-Fi・Bluetoothが使えてIoT・近接通信も! • 開発環境もいろいろ • M5Stack用のビジュアルプログラミング環境 • 開発環境はブラウザで簡単アクセス • 公式パーツを簡単に扱える • HTTPリクエストや MQTT等のネットワーク系 処理や Bluetooth も扱える
日本のユーザコミュニティが あったり、技術記事なども多い
ビジュアルプログラミング のみでIoT (ちょっとした仕組みを複数実装)
LINE のリッチ メニューの操作 試作概要1: 通信方向「LINE⇒デバイス」 LEDテープの点灯、 電子ペーパーの 書きかえ デバイスで音の再生 (全て実行)
① M5Stack系の デバイスで ボタン押下 LINE Notify でメッセージ通知 ②
試作概要2: 通信方向「デバイス⇒LINE」 M5Stack系の デバイスで ボタン押下 LINE Notify でメッセージ通知 ② LINE
のリッチ メニューの操作 LEDテープの点灯、 電子ペーパーの 書きかえ デバイスで音の再生 (全て実行) ①
デモ動画
技術の部分をざっくりと
機器やサービスの構成
Botサーバー +α BotサーバーからMQTTブローカー経由でIoT M5Paper LINE Notify HTTP(POST) HTTP(POST) MQTT MQTT
HTTP (POST) M5StickC Plus M5Stack Core2 リッチメニュー の操作
(REST API、MQTT) M5Stack Core2 デバイスからHTTPリクエストでスマホ通知 M5StickC Plus M5Paper LINE Notify
スマホのLINE アプリ リッチメニュー の操作 HTTP(POST) HTTP(POST) MQTT MQTT HTTP(POST)
クラウド実行環境 (HTTPトリガー) Botサーバー +α (REST API、MQTT) M5Stack Core2 全体像はこのような構成で M5StickC
Plus M5Paper LINE Notify スマホのLINE アプリ リッチメニュー の操作 HTTP(POST) HTTP(POST) MQTT MQTT HTTP(POST)
プログラムの実装
M5Stack系デバイスの実装:UIFlow ブロック型のビジュアルプログラミング
サーバーもビジュアルプログラミング 【スマホへの通知】 デバイス ⇒ LINE Notify LINE(Bot) ⇒ デバイス 【MQTTへのつなぎ】
Beebotteとの連携 実装はenebular
実装は全てブラウザベース (環境構築の手間は大幅削減)
最新ではないけれど 個人で手軽にIoTをやるのに 便利なMQTTブローカー
Beebotte 無料プランあり データを可視化 できるダッシュ ボード機能あり
shiftr.io 無料で利用できる デスクトップ版が ある(GUI・CLI) 無料プランあり ※ 1日6時間の稼働 で停止する
Beebotte・shiftr.ioに共通する話 ・クラウドで動く MQTTブローカー ・REST API あり(MQTT と HTTP リクエストを混在させられる) ・無料プランあり
自前で用意する場合の選択肢
自分はMQTT.jsをよく使っています ・MQTTブローカー の実装だけでなく クライアントの 実装でも (Node.js、ブラウザ)
【余談】 M5Stack社のデバイスで 宅内通信 (今回の本筋と違う実装あり)
試作したもので実現しようとした内容 ・二酸化炭素濃度を計測 ⇒ 基準値以上/以下の値になったら お知らせ ・二酸化炭素濃度、温湿度のデータを 可視化
IoTコンテスト用の試作の一部で活用 MQTT MQTT POST(HTTP リクエスト) 二酸化炭素 濃度の値 Azure Functions Azure
IoT Hub LINE Notify LINE アプリ 二酸化炭素濃度の値を 見て、特定条件で通知 Azure Stream Analytics Power BI 宅内通知の仕組みを サクッと後で付け足し (音や光でお知らせ) センサーで取得 した値を可視化
【余談2】 日本での発売を待っている IoTに使えるデバイス
先ほどの話でココに出てた
Raspberry Pi Pico W 無線LAN機能搭載の安価なデバイス
ここは話す時間がなさそう...
ブラウザでデバイスを扱うAPIが楽しい! で外部デバイスとの通信 ブラウザの API でモノとインターネットをつなぐ ・Web Serial ・Web Bluetooth ・Gamepad
API ・WebHID ・Web MIDI API シリアル通信 BLE コントローラーなど MIDIデバイス (試作や展示用作品に使ってたりするものも)
終わり!