Heim >Backend-Entwicklung >PHP-Tutorial >So entwerfen Sie das IOT-Gateway in der Cloud basierend auf Swoole
Es sind nur zwei PHP-Dateien erforderlich, um das IoT-Kommunikations-Gateway auf einem Cloud-Server zu implementieren.
Ermöglichen Sie Benutzern das Programmieren, Steuern und Anzeigen des Status des Controllers von jedem Ort der Welt aus, an dem sie Zugang zum Internet haben.
Ich habe die Swoole Network Communication Engine als Framework des Gateways verwendet und einen TCP-Server sowie einen WebSocket-Server erstellt.
Der Controller und die Software von Drittanbietern stellen als TCP-Client eine Verbindung zum TCP-Server her, während die vom Benutzer geöffnete Webseite als WebSocket-Client eine Verbindung zum WebSocket-Server herstellt und beide eine lange Verbindung aufrechterhalten.
Der PHP-Code des Gateways erstellt eine Tabelle zum Speichern der Verbindungsinformationen des Controllers, der Webseite, der Host-Software und anderer Clients, einschließlich der Client-ID, des Dateideskriptors fd des Sockets usw.;
Der Controller stellt eine TCP-Verbindung mit dem TCP-Server auf dem Cloud-Server her und sendet in regelmäßigen Abständen eine Heartbeat-Nachricht an den TCP-Server. Der TCP-Server analysiert die Quelladresse in der Nachricht nach dem Empfang und speichert den FD der TCP-Verbindung sowie die Quelladresse in der Tabelle.
Nachdem der Benutzer die Webseite geöffnet hat, stellt das Javascript-Skript eine TCP-Verbindung mit dem WebSocket-Server her und generiert gleichzeitig eine zufällige UUID als Quelladresse aus dem auf der Webseite eingegebenen Controller-Code als Zieladresse. und generiert eine Steuernachricht, die an den WebSocket-Server gesendet wird. Nach dem Empfang analysiert er die Quelladresse und die Zieladresse der Nachricht und sendet dann eine Heartbeat-Nachricht an den TCP-Server entsprechend der Zieladresse und der Quelladresse. Nach dem Empfang der Nachricht analysiert der WebSocket-Server die Quelladresse und die Zieladresse in der Nachricht, findet die der Zieladresse entsprechende TCP-Verbindung aus der Tabelle entsprechend der Zieladresse und leitet die Nachricht über diese Verbindung an den Controller weiter.
Gleichzeitig wird die UUID des Cloud-Servers definiert, die für den Controller, die Webseite und andere Interaktionen mit dem Server verwendet wird, um die Zeit vom Cloud-Server zu synchronisieren sowie den Status zu speichern die MySQL-Datenbank und andere Funktionen.
Die beiden PHP-Dateien, die insgesamt etwa 500 Codezeilen umfassen, sind ziemlich einfach.
Das obige ist der detaillierte Inhalt vonSo entwerfen Sie das IOT-Gateway in der Cloud basierend auf Swoole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!