2023/3/23 IoTLT vol.97(https://iotlt.connpass.com/event/276206/) 登壇資料です。
opniz SDK for Node.js: https://github.com/miso-develop/opniz-sdk-nodejs opniz Arduino Library for M5Unified: https://github.com/miso-develop/opniz-arduino-m5unified
ひとりopniz Meetup vol.1「opnizとは(迫真)」田中みそ2023/3/23 IoTLT vol.97
View Slide
自己紹介田中 みそ (田中 大樹)Qiita: miso_developTwitter: miso_developFacebook: 田中みそLINE API ExpertIoT界隈やスマートスピーカー界隈によくいます
opnizとは
opnizとは• M5StackといったESP32デバイスをNode.jsからobnizライクに遠隔制御するためのフレームワーク• Node.js SDKとArduinoライブラリがあり、WebSocketやTCPで相互通信を行う
opnizとはawait opniz.dis.fillpix(0xff0000){“method”: “M5.dis.fillpix”,“params”: [“0xff0000”]}M5.dis.fillpix(0xff0000)たとえばM5ATOMライブラリの`M5.dis.fillpix(0xff0000)`を実行するとき…
opnizobniz clone≠
opnizの最初の発表スライドで答えは出ていた2021/3/16 の IoTLT vol.73 登壇スライドより
opnizの最初の発表スライドで答えは出ていた試行錯誤の過程でM5ATOMで実装していたことをNode.jsへ移行していってる(サーバー)(デバイス)
ハードウェアとソフトウェアで責務を切り分け、運用の中で変更が発生しやすいソフト側を容易に(書込不要で)変更できるようにする仕組みopnizとは(迫真)誤)JavaScriptでIoT開発できるっぽいやつ正)
デバイスの責務センサー値の取得、モーター制御といった電子パーツの制御(デバイスでしかできないこと)サーバーの責務ビジネスロジック(デバイスじゃなくてもできること)デバイスとサーバーで責務を分ける
フロントエンド バックエンドクライアント / サーバー構成みたいな感じクライアント サーバー(ブラウザ、アプリとか)HTTPS(JSON)
デバイスエンド バックエンドクライアント / サーバー構成みたいな感じデバイス サーバーWebSocket(JSON-RPC)opniz Arduino Library opniz Node.js SDK
• 通信のオーバーヘッドが発生• 障害点、管理要素が増える• 個人開発としては障害切り分けがわかりやすい• 開発を分業しやすくなるデバイスとサーバーで責務を分ける影響
デバイスとサーバーで責務を分ける影響• 通信のオーバーヘッドが発生• 障害点、管理要素が増える• 個人開発としては障害切り分けがわかりやすい• 開発を分業しやすくなる
「IoTエンジニア」IoTエンジニアハードウェアもソフトウェアもいけるひと=
「IoTエンジニア」IoTエンジニアハードウェアもソフトウェアもいけるひとIoT フルスタック エンジニア==
「IoTエンジニア」ハードウェア得意でソフトウェアも少しいける人ソフトウェア得意でハードウェアも少しいける人
「IoTエンジニア」ハードウェア得意でソフトウェアも少しいける人ソフトウェア得意でハードウェアも少しいける人共同開発!(opnizで…!)
デバイスエンド バックエンドひとり開発でもopnizで責務を明確にできるデバイス サーバーWebSocket (JSON-RPC)opniz Arduino Library opniz Node.js SDK見通しの良いアーキテクチャに!
• opnizとは、ハードウェアとソフトウェアの開発を切り離してよしなに繋げるツール(フレームワーク)• デバイスとサーバーで責務をわけると良さげ• ハードウェア得意な人とソフトウェア得意な人とで共同開発したらよりすごいプロダクトが生まれるかも…!まとめ