เมื่อเร็ว ๆ นี้ฉันซื้อรีเลย์ wifi สองตัวจาก Xiaomi แม้ว่าพวกเขาจะแข็งแกร่งมาจนถึงตอนนี้ฉันไม่ชอบแอปของ Xiaomi จริงๆ แต่ฉันชอบความคิดที่ว่ามันใช้งานได้จริงทั้งใน LAN และผ่านอินเทอร์เน็ต เมื่ออยู่ใน LAN พวกเขาจะเปิดและปิดได้อย่างรวดเร็วโดยพิจารณาจากเซิร์ฟเวอร์ของ Xiaomi ที่อยู่ในประเทศจีน
ดังนั้นฉันต้องการม้วนรีเลย์ตาม ESP8266 ของฉันเอง (ฉันรู้ว่าฉันสามารถทำให้ฮาร์ดแวร์พร้อมแล้วนั่นคือโบนัส) ปัญหาของฉันคือฉันจะตรวจสอบรีเลย์ในเครือข่ายของฉันโดยอัตโนมัติจากหน้าเว็บได้อย่างไร
จาก "แอพ" ฉันสามารถใช้ SSDP, mDNS-SD หรือ UPNP เพื่อตรวจจับสิ่งต่าง ๆ แต่ฉันไม่พบข้อมูลเกี่ยวกับเรื่องนี้เป็นไปได้จากเว็บเบราว์เซอร์ (โดยทั่วไป Chrome บน Android) เนื่องจากฉันเปลี่ยนเว็บเพจสถานีอากาศของฉันเป็น Progressive Web App ฉันจึงติดใจ ฉันชอบความคิดของสิ่งต่าง ๆ เพียงแค่เป็นเว็บเพจไม่ใช่แอปที่คุณต้องติดตั้ง และ PWAs เติมช่องว่างด้วยโหมดออฟไลน์ด้วย
มันแปลกที่ส่วน "ยาก" (การเปิดและปิดรีเลย์จากนอก LAN) เป็นเรื่องเล็กน้อยที่จะแก้ปัญหาผ่านเซิร์ฟเวอร์ MQTT แต่ฉันไม่ต้องการพึ่งพาเซิร์ฟเวอร์ MQTT ภายนอก หากฉันใช้ LAN ฉันต้องการพูดคุยกับรีเลย์โดยตรง ถ้าไม่เช่นนั้นส่งคำสั่งผ่าน MQTT
แน่นอนฉันสามารถพึ่งพาเซิร์ฟเวอร์เพื่อค้นหารีเลย์ แต่ในกรณีนั้นฉันต้องการการเชื่อมต่ออินเทอร์เน็ต (หากเซิร์ฟเวอร์ MQTT ของฉันอยู่บน "คลาวด์") หรือเซิร์ฟเวอร์โฮสต์ที่บ้าน ฉันมีเซิร์ฟเวอร์ที่บ้านและแม้ว่าฉันจะไม่ได้ราสเบอร์รี่ปี่สามารถเติมเต็มช่องว่างได้อย่างง่ายดาย แต่อุดมคติจะไม่จำเป็นต้องมีเซิร์ฟเวอร์เมื่อพูดคุยกับอุปกรณ์ผ่าน LAN (Wifi ในกรณีนี้) ฉันชอบที่จะเก็บมันไว้ให้ได้มากที่สุดและใช้ MQTT เพื่อถอยกลับไปเมื่อฉันอยู่บน WAN (MQTT แก้ปัญหา CG-NAT และการส่งต่อพอร์ต)