Heim  >  Artikel  >  Backend-Entwicklung  >  So entwerfen Sie das IOT-Gateway in der Cloud basierend auf Swoole

So entwerfen Sie das IOT-Gateway in der Cloud basierend auf Swoole

DDD
DDDOriginal
2024-10-19 18:17:30470Durchsuche

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.

How to design the IOT gateway in cloud based on swoole

How to design the IOT gateway in cloud based on swoole

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn