IoT的な遠隔バイブレーションモーター 解説
この記事に関して
このような感想を頂きまして。
↑のシルエラ並の感情を羅列しながら、確かに分かりにくいのは自明なので追記しました。
ここは私の日記帳だ。
概要
機能概要
Webクライアントからモーターを遠隔操作する。
通信操作
Webクライアント→デバイス通信する時、直接繋ぐと色々問題が出てくる(NAT超えでGoogleさんに相談しよう!)為、別にサーバーを用意しています。維持費が地味に高い。
1. ESP8266、Web ClientをMQTTサーバーに接続する。
WebからMQTTサーバーに接続する場合は、WebSocketを使用する。
2. Clientから送信してESP8266に伝える。
フレームワークなどは以下を使用。
Web Client: Nuxt.js(これが一番使いやすそうだった)
VPS: ConoHa(安かった)
MQTT Server: VerneMQ(機能が多いし拡張性が高そう)
ESP8266初期設定
1. AP接続(つまりESP8266にWiFi経由で直接繋ぐこと)した後に、使用可能なWiFiのSSIDやPasswordを送信(JSONを使用)。ESP8266本体がリセットする。
2. 基本的にMQTT経由で通信する。
ESP8266内部仕様
基本的にライブラリのパッチワーク。
代表的なものを以下に紹介する。
1. MQTTライブラリ
2. AutoConnect(ESP8266にダイレクトにWiFi接続出来るようにして、SSIDを直接制定出来るようにするライブラリ)をREST API(つまりWebクライアントから直接いじるように)化したもの
3. OSC(ローカルで操作する時にと思って入れた)
4. HTTPServer(SSIDとか設定する時に使う)
ソースコード
(Ansibleのパスワードとか入れっぱなしで後でチェック入れるから)ちょっとまって♥
総評
思ったより技術的に底がそんなに深くない気がするぞこれ。
この記事が気に入ったらサポートをしてみませんか?