최근에 Xiaomi에서 두 개의 wifi 릴레이를 구입했습니다. 지금까지는 견고했지만 Xiaomi의 앱은 정말 싫어합니다. 그러나 실제로 LAN과 인터넷에서 모두 작동한다는 아이디어가 마음에 듭니다. LAN에 있으면 Xiaomi의 서버가 중국에 있다는 것을 고려할 때 매우 빠르게 켜고 끌 수 있습니다.
그래서 내 ESP8266 기반 릴레이를 롤백하고 싶습니다 (하드웨어를 준비 할 수 있다는 것을 알고 있으므로 보너스입니다). 내 문제는 웹 페이지에서 네트워크의 릴레이를 자동으로 감지하는 방법입니다.
"앱"에서 SSDP, mDNS-SD 또는 UPNP를 사용하여 사물을 감지 할 수있었습니다. 그러나 웹 브라우저 (기본적으로 Android의 Chrome)에서 가능하다는 정보를 찾지 못했습니다. 기상 관측소 웹 페이지를 프로그레시브 웹 앱으로 변경 한 이후로 나는 갈망했습니다. 나는 당신이 설치 해야하는 앱이 아닌 웹 페이지라는 것을 좋아합니다. 그리고 PWA는 오프라인 모드로도 그 차이를 메 웁니다.
"어려운"부분 (LAN 외부에서 릴레이를 켜고 끄는)이 MQTT 서버를 통해 해결하기가 쉽지 않다는 것은 이상합니다. 그러나 외부 MQTT 서버에 의존하지 않는 것이 좋습니다. LAN을 사용하는 경우 릴레이와 직접 대화하고 싶습니다. 그렇지 않은 경우 MQTT를 통해 명령을 보내십시오.
물론 릴레이를 쿼리하기 위해 서버에 의존 할 수 있지만이 경우 인터넷 연결 (MQTT 서버가 "클라우드"에있는 경우) 또는 홈 호스트 서버가 필요합니다. 나는 집에 서버가 있고, 그렇지 않은 경우에도 라즈베리 파이가 쉽게 그 차이를 채울 수 있습니다. 그러나 LAN을 통해 장치와 통신 할 때 서버가 필요하지 않은 것이 이상적입니다 (이 경우 Wifi). P2P를 가능한 한 많이 유지하고 WAN에있을 때 MQTT를 폴백으로 만 사용하는 것이 좋습니다 (MQTT는 CG-NAT 및 포트 전달 문제를 해결합니다).