Szenario IoT-Gerät (derzeit IPv4-Gerät), das einmal pro Tag über den TCP-Socket eine Nutzlast an einen Server sendet. Der Server hat eine öffentliche IP-Adresse, das Gerät befindet sich hinter einem Router / NAT. Ich werde ein Modul verwenden, das auf ESP8266 basiert (dh Olimex eins).
Ziel Der Server sollte in der Lage sein, Daten an jeden Client zu senden, wann immer dies erforderlich ist. Ich bin nicht an einer direkten Client-zu-Client-Kommunikation interessiert (dh von meinem Smartphone aus mit einem Gerät verbunden), wie es das Lochern tun soll.
Sonstige Anforderungen Die IoT-Geräte können bis zu mehreren Tausend wachsen. Ihre Internetverbindung wird von einem 4G-fähigen Router / Modem bereitgestellt.
Vorgeschlagene Lösung Soweit ich weiß, ist MQTT eine übliche Lösung. Die Clients senden regelmäßig Daten an den Broker (dh Mosquitto, der auf dem Hosting-Server ausgeführt wird), der wiederum die Haupt-Web-App aktualisiert, die auf demselben Server ausgeführt wird.
Frage Kann die Web-App Daten an einen Kunden senden, wann immer dies über den Broker erforderlich ist? Mit anderen Worten: Kann ein Teilnehmer Daten asynchron an einen bestimmten Herausgeber zurücksenden (dh ohne auf die nächste Übertragung zu warten)?