Slide 1

Slide 1 text

ひとりopniz Meetup vol.1 「opnizとは(迫真)」 田中みそ 2023/3/23 IoTLT vol.97

Slide 2

Slide 2 text

自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook: 田中みそ  LINE API Expert  IoT界隈やスマートスピーカー界隈に よくいます

Slide 3

Slide 3 text

opnizとは

Slide 4

Slide 4 text

opnizとは • M5StackといったESP32デバイスをNode.jsからobnizライクに遠隔制御 するためのフレームワーク • Node.js SDKとArduinoライブラリがあり、WebSocketやTCPで相互通信 を行う

Slide 5

Slide 5 text

opnizとは await opniz.dis.fillpix(0xff0000) { “method”: “M5.dis.fillpix”, “params”: [“0xff0000”] } M5.dis.fillpix(0xff0000) たとえばM5ATOMライブラリの`M5.dis.fillpix(0xff0000)`を実行するとき…

Slide 6

Slide 6 text

opniz obniz clone ≠

Slide 7

Slide 7 text

opnizの最初の発表スライドで答えは出ていた 2021/3/16 の IoTLT vol.73 登壇スライドより

Slide 8

Slide 8 text

opnizの最初の発表スライドで答えは出ていた 試行錯誤の過程でM5ATOMで実装していたことをNode.jsへ移行していってる (サーバー) (デバイス)

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

ハードウェアとソフトウェアで責務を切り分け、 運用の中で変更が発生しやすいソフト側を容易に (書込不要で)変更できるようにする仕組み opnizとは(迫真) 誤)JavaScriptでIoT開発できるっぽいやつ 正)

Slide 11

Slide 11 text

opnizの最初の発表スライドで答えは出ていた 試行錯誤の過程でM5ATOMで実装していたことをNode.jsへ移行していってる (サーバー) (デバイス)

Slide 12

Slide 12 text

デバイスの責務 センサー値の取得、モーター制御といった電子パーツの制御 (デバイスでしかできないこと) サーバーの責務 ビジネスロジック (デバイスじゃなくてもできること) デバイスとサーバーで責務を分ける

Slide 13

Slide 13 text

フロントエンド バックエンド クライアント / サーバー構成みたいな感じ クライアント サーバー (ブラウザ、アプリとか) HTTPS (JSON)

Slide 14

Slide 14 text

デバイスエンド バックエンド クライアント / サーバー構成みたいな感じ デバイス サーバー WebSocket (JSON-RPC) opniz Arduino Library opniz Node.js SDK

Slide 15

Slide 15 text

• 通信のオーバーヘッドが発生 • 障害点、管理要素が増える • 個人開発としては障害切り分けがわかりやすい • 開発を分業しやすくなる デバイスとサーバーで責務を分ける影響

Slide 16

Slide 16 text

デバイスとサーバーで責務を分ける影響 • 通信のオーバーヘッドが発生 • 障害点、管理要素が増える • 個人開発としては障害切り分けがわかりやすい • 開発を分業しやすくなる

Slide 17

Slide 17 text

「IoTエンジニア」 IoTエンジニア ハードウェアもソフトウェアもいけるひと =

Slide 18

Slide 18 text

「IoTエンジニア」 IoTエンジニア ハードウェアもソフトウェアもいけるひと =

Slide 19

Slide 19 text

「IoTエンジニア」 IoTエンジニア ハードウェアもソフトウェアもいけるひと IoT フルスタック エンジニア = =

Slide 20

Slide 20 text

「IoTエンジニア」 ハードウェア得意で ソフトウェアも少しいける人 ソフトウェア得意で ハードウェアも少しいける人

Slide 21

Slide 21 text

「IoTエンジニア」 ハードウェア得意で ソフトウェアも少しいける人 ソフトウェア得意で ハードウェアも少しいける人 共同開発! (opnizで…!)

Slide 22

Slide 22 text

デバイスエンド バックエンド ひとり開発でもopnizで責務を明確にできる デバイス サーバー WebSocket (JSON-RPC) opniz Arduino Library opniz Node.js SDK 見通しの良いアーキテクチャに!

Slide 23

Slide 23 text

• opnizとは、ハードウェアとソフトウェアの開発を 切り離してよしなに繋げるツール(フレームワーク) • デバイスとサーバーで責務をわけると良さげ • ハードウェア得意な人とソフトウェア得意な人とで 共同開発したらよりすごいプロダクトが生まれるかも…! まとめ