Ich mache ein Projekt mit einem Arduino- und einem ESP8266-Modul, auf dem die esp-link-Firmware ausgeführt wird. Dadurch kann ich MQTT zur Steuerung des Arduino verwenden. Ich hatte mir stattdessen so etwas wie ein XBee-Modul angesehen - aber sie sind im Vergleich zum ESP8266 so verdammt teuer! ( Wenn Sie nicht wissen, was ESP8266 oder MQTT ist, machen Sie sich keine Sorgen - es reicht zu wissen, dass TCP über WLAN verwendet wird .)
Die MQTT-Pakete sind winzig, sodass der Durchsatz des Wi-Fi-Netzwerks niemals ein Problem darstellen wird. Latenz und Zuverlässigkeit sind jedoch große Faktoren. Das MQTT-System verwendet TCP, daher sollte es zuverlässig genug sein - aber ich bin mir über die Latenz nicht so sicher.
Ich habe die Wahl, eine 802.11b-, .11g- oder .11n-Verbindung für das Netzwerk zu verwenden, das der ESP8266 verwendet. Gibt es irgendetwas in einem dieser Standards, das dazu führt, dass einer eine geringere Latenz hat als jeder andere? Mit welcher würde ich die beste Leistung für sehr kleine und seltene Pakete erwarten?
Antworten:
Zunächst einmal machen Sie etwas SEHR Richtiges, das viele IoT-Designer und -Benutzer nicht tun: Sie sind der Ansicht , dass der Betrieb zuverlässig und latenzbegrenzt sein muss. Das macht nicht jeder, und deshalb sind viele IoT-Geräte wirklich schlecht.
Die Wahl des Standards zwischen 802.11 b / g / n hat keinen großen Einfluss auf Ihre Latenz. Ich gehe davon aus, dass wir Latenzen <10 ms begrenzen, da alles daran "nur in 99,5% der Fälle mit guter WiFi-Hardware funktioniert".
Wenn Sie sich in einem latenzgebundenen Szenario befinden, werden Sie dies sicherlich nicht tun
Wenn Sie dagegen Zuverlässigkeit benötigen, dürfen Sie dies nicht tun
Also, zunächst einmal definieren , was Ihre Latenzanforderungen und Ihre Anforderungen an die Zuverlässigkeit sind. Sie müssen ein Stück Papier haben, auf dem steht
Dann können Sie sich die theoretischen Grenzen von Systemen und dann die praktischen Grenzen von Implementierungen derjenigen ansehen, die dazu passen.
quelle