2
WebブラウザーでIoTデバイスを検出していますか?
最近、Xiaomiからいくつかのwifiリレーを購入しました。これまでのところしっかりしているが、私はXiaomiのアプリが本当に嫌いだ。しかし、私はそれが実際にLANとインターネットの両方で機能するという考えが好きです。Xiaomiのサーバーが中国にあることを考えると、LANに接続しているときは、オンとオフをすばやく切り替えられます。 だから私は自分のESP8266ベースのリレーを使いたいと思っています(ハードウェアを準備できるので、それはおまけです)。私の問題は、Webページからネットワーク上のリレーを自動的に検出するにはどうすればよいですか? 「アプリ」から、SSDP、mDNS-SD、またはUPNPを使用して物事を検出できます。しかし、これがWebブラウザー(基本的にAndroid上のChrome)から可能かどうかについての情報は見つかりませんでした。ウェザーステーションのWebページをプログレッシブWebアプリに変更して以来、夢中になりました。インストールする必要があるアプリではなく、単にWebページであるという考え方が本当に好きです。また、PWAはオフラインモードでもギャップを埋めます。 しかし、奇妙なことに、「難しい」部分(LANの外側からリレーをオン/オフにする)をMQTTサーバー経由で解決するのは簡単です。しかし、私は外部のMQTTサーバーに依存しないことを好みます。LANを使用している場合は、リレーと直接通信したいと思います。そうでない場合は、MQTTを介してコマンドを送信します。 もちろん、リレーにクエリを送信するサーバーに依存することもできますが、その場合はインターネット接続(MQTTサーバーが「クラウド」上にある場合)、またはホームホストサーバーが必要です。私は自宅にサーバーを持っています。持っていなくても、ラズベリーpiは簡単にギャップを埋めることができます。しかし、理想は、LAN(この場合はWifi)を介してデバイスと通信するときにサーバーを必要としないことです。私はそれを可能な限りP2Pに保ち、WANにいるときのフォールバックとしてのみMQTTを使用することを好みます(MQTTはCG-NATおよびポート転送の問題を解決します)。