Slide 1

Slide 1 text

照明がついてたら消し続けるだけのデバイスを作ってたはずが、 いつの間にかobnizっぽいなにかを作っていた件について 田中みそ 2021/3/16 IoTLT vol.73 @Youtube

Slide 2

Slide 2 text

照明がついてたら消し続けるだけのデバイスを作りだしたきっかけ

Slide 3

Slide 3 text

要はこんな感じのものを作りたかった CdSセルで明るさを取得 しきい値を超えたら(照明がついたら) 照明オフの赤外線信号を送る スイッチONになったらこれを 1時間ほど続ける

Slide 4

Slide 4 text

発案から実装まで1時間ほどで実現 (obnizのDXマジ神)

Slide 5

Slide 5 text

けどこれだけの仕組みのために obnizを使い続けるのはもったいない…

Slide 6

Slide 6 text

いいデバイスがあった _人人人人人人人人_ > M5ATOM Lite <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄

Slide 7

Slide 7 text

いいデバイスがあった _人人人人人人人人_ > 1000円で買える <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄ _人人人人人人人人_ > ESP32-PICO搭載 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄ _人人人人人人人人人人人人_ > 小さいけど色々ついてる < >(LEDとかボタンとか赤外線)<  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄ _人人人人人人人人_ > M5ATOM Lite <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄

Slide 8

Slide 8 text

けどobnizからM5ATOMへの移植が難航… 赤外線よわよわだった 赤外線をeRemote miniで 制御すべくFirebaseへむけて HTTP PUTを試みるも難航

Slide 9

Slide 9 text

obnizで1時間で実装できたものが、 M5ATOMだと1週間かかってしまった😢 _人人人人人人人人_ > つらたん <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄

Slide 10

Slide 10 text

実装をふりかえると… 実装すべきことは たったこれだけ • 明るさ取得 • しきい値チェック • 赤外線送信

Slide 11

Slide 11 text

実装をふりかえると… 実装すべきことは たったこれだけ • 明るさ取得 • しきい値チェック • 赤外線送信 だけどM5ATOM単体では つらたんなので処理を分割 【M5ATOM】 • 明るさ取得 • しきい値チェック 【ラズパイ】 • 赤外線送信 (eRemote mini)

Slide 12

Slide 12 text

実装をふりかえると… 実装すべきことは たったこれだけ • 明るさ取得 • しきい値チェック • 赤外線送信 だけどM5ATOM単体では つらたんなので処理を分割 【M5ATOM】 • 明るさ取得 • しきい値チェック 【ラズパイ】 • 赤外線送信 (eRemote mini) しきい値チェックもラズパイに 寄せたら、これってもう… 【M5ATOM】 • 明るさ取得 【ラズパイ】 • しきい値チェック • 赤外線送信 (eRemote mini)

Slide 13

Slide 13 text

_人人人人人人人人_ > obniz!!!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄

Slide 14

Slide 14 text

_人人人人人人人人人人人人人人人_ > obnizのDXをM5ATOMにも…!!!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄

Slide 15

Slide 15 text

ということで実装してみた

Slide 16

Slide 16 text

これをちょいちょいライブラリ化をすすめて…

Slide 17

Slide 17 text

本日アルファ版リリースしました🎉

Slide 18

Slide 18 text

https://github.com/miso-develop/opniz

Slide 19

Slide 19 text

こんな感じ M5StackといったESP32デバイスをNode.jsからobnizライクに制御するための、 Node.js SDKおよびArduinoライブラリです。 ざっくり言うとサーバーを介さない、オープンソースな、obnizっぽい実装ができるなにかです。 仕組みとしてはESP32デバイスおよびNode.js SDKにてTCPサーバー/クライアントを実行し、 相互にTCP経由でJSONメッセージをやりとりしています。 TCP opniz Arduinoライブラリ opniz Node.js SDK スケッチ書き込み 実装

Slide 20

Slide 20 text

コード例:Lチカ ※デバイス側はスケッチ例のBasicをそのまま書き込みでOK Node.js SDKのコード

Slide 21

Slide 21 text

コード例:ReadとかWriteとか

Slide 22

Slide 22 text

ただググラビティがひどい…(obniz強すぎ)

Slide 23

Slide 23 text

是非ともお試しいただき、 ご意見・アイデア等頂けますと幸いです…! よろしくお願いいたします…!! https://github.com/miso-develop/opniz