見出し画像

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のパスワードとか入れっぱなしで後でチェック入れるから)ちょっとまって♥

総評

思ったより技術的に底がそんなに深くない気がするぞこれ。

この記事が気に入ったらサポートをしてみませんか?