2015-08-19 9 views
6

Ich arbeite am IoT-Projekt, und ich sollte das eingebettete Gerät mit einem Web-Service verbunden bleiben. Also, was ist besser, fordern Sie den Webservice alle 1 oder 2 Sekunden an, oder öffnen Sie einen Socket mit dem Server, um die Echtzeitoperationen zu garantieren.Wie IoT-Geräte mit Servern verbinden

In Anbetracht der Tatsache, dass die Arbeit mit Sockets, muss ich möglicherweise eine Menge von Bündeln von Codes schreiben, da es keine Frameworks für Socket über ARM zum Beispiel gibt.

Dank

+0

mögliches Duplikat von [Ist es besser, Verbindungen wiederzuverwenden oder sie für das häufige Senden von Daten zu erneuern?] (Http://stackoverflow.com/questions/30244753/is-it-besser-zur-wiederverwendung-oder- oder-) erneuere-sie-für-sendende-daten-häufig) oder [Das ist ein größerer Aufwand: Jedes Mal einen neuen Socket erstellen oder einen einzelnen Socket für die Datenübertragung pflegen] (http://stackoverflow.com/q/28541889/3081018) . –

+0

Ja, danke, aber Zustände sind völlig unterschiedlich, das Duplikat spricht über 20sek Intervall, und ich spreche über 1sec Intervall. –

+0

Die Antworten sprechen darüber, wie die beste Wahl von Ressourcenverbrauch auf Client und Server und Latenz abhängt. Sie sind nicht spezifisch für 1,2 Sekunden gegenüber 30 Sekunden. Einfach ausgedrückt: Wenn Sie es schneller benötigen, verwenden Sie eine einzige Verbindung, aber auf Kosten von mehr Ressourcen, die auf dem Server benötigt werden. –

Antwort

2

Mein Team und ich arbeite derzeit an einer IOT-Plattform, hier sind meine Vorschläge:

  1. Wenn Ihr Produkt nur in regelmäßigen Abständen Daten oder Statusbericht, einen Web-Service unter Verwendung der Daten erhalten wird funktionieren, und es ist sehr einfach zu implementieren.
  2. Wenn Sie Echtzeitoperationen vom Server an Ihr Gerät senden müssen, ist die Verwendung einer langen TCP-Verbindung die bessere Wahl. Es gibt einige gute Protokolle, die Ihnen bei der Implementierung helfen, wie MQTT.
  3. Für den zweiten Fall oben funktioniert die Anforderung eines Web-Service, um Echtzeit-Operationen zu erhalten, aber es ist definitiv keine gute Idee. Es erhöht die Belastung Ihres Servers und den Energieverbrauch Ihres Geräts.

Schließlich müssen Sie Ihre Wahl auf die Anforderungen Ihres Produkts treffen.

2

Sie MQTT Protokoll verwenden kann, ist seine Bibliothek c sowie für Arduino für Embedded erhältlich. Sie können auch wählen, Rest/Coap mit nodejs, da die Anfrage wartet, bis der Knoten die Antwort gibt In diesem beiden Szenario kann Echtzeitkommunikation ohne Socket und Auffrischungszeit angegangen werden.

+1

Es scheint gut, lass es mich überprüfen, um Ihre Antwort zu überprüfen –

+0

@Samrat, meinst du Rest/Coap in Nodejs auf einem Client? Mostafa, haben Sie überprüft, ob diese Antwort für Ihr Embedded-Gerät gut funktioniert? – minghua

+0

ja, nur müssen Sie etwas Zeit auf der Client-Seite etwas größer setzen, wenn Sie Ruhe oder Coap verwenden, dann wird es asynchrone Kommunikationslinie erstellen, und damit müssen Sie auch Netzwerk-Drops behandeln. ich würde sagen, verwenden Sie mqtt, es ist besser –

Verwandte Themen