Schritt 8: Serielle Kommunikation (Teil 2) - drahtlose serielle
Für drahtlose serielle Kommunikation kaufte ich mir zunächst einige XBee Series 1 1mW Module, nur um sie auszuprobieren. Ein XBee-Schild für den Arduino erforderlich ist ist, und ein XBee USB-Explorer (oder Äquivalent) auf der Laptop-Seite. Da ich ein Arduino Mega verwendet, verbunden habe ich die entsprechenden Pins auf dem XBee Shield in die Arduino Mega-Pins für die zweite serielle Hardwareschnittstelle.
Ich fand, dass die Serie 1-Module waren ziemlich einfach zu installieren, die mit der XCTU Anwendung (siehe Sparkfun Guide: https://learn.sparkfun.com/tutorials/exploring-xbees-and-xctu). Allerdings traf ich einige Einschränkungen. Die erste ist eine offensichtliche - mit 1mW Module, der nutzbare Bereich war sehr begrenzt, und für keine verworfenen Nachrichten konnte ich nur so weit wie etwa 3m gehen! Ich könnte bessere Reichweite mit einem langen USB-Kabel erhalten. Der zweite ist ein wichtiger Einschränkung und Hardware-basierte zu sein scheint. Ich fand, dass ich nicht zuverlässige Kommunikation bei 50 Hz, sogar mit den XBees so konfiguriert, dass eine Baudrate 38400 bekommen konnte. Ich erhöhte die Verzögerung, so dass die Nachrichtenrate etwa 25Hz wäre, und ich viel mehr Erfolg hatte. Bei 25Hz bekomme ich stabile Kommunikation innerhalb von 3 m. Ich fand auch, dass wenn ich außerhalb des zulässigen Bereichs ging, Nachrichten gelöscht werden würde, aber sofort wiederherzustellen würde, wenn im Bereich zurückgebracht. Um zu überprüfen, wenn die serielle Kommunikation ordnungsgemäß ausgeführt wurde, sah ich die seriellen Eingang / Ausgang Textfelder auf c# programmieren GUI. Das serielle Eingabefeld sollte eine sehr stabile Zeichenfolge, anzeigen, die die seriellen Ausgang-Box passt. Wenn das serielle Eingabefeld blinken mit leeren oder beschädigte Daten begann, das bedeutete, dass die Nachrichten waren nicht durchkommen.
Nachdem ich mit diesen Modulen arbeiten, bestellte ich einige höhere angetriebene Module. Sehen, dass hohe powered Serie 1 und Serie 2 Module zur Verfügung standen, ging ich für etwas billiger XBee Series 2 Pro (63mW) Module, anstatt die XBee Series 1 Pro (60 MW) Module. Ich hatte gelesen, dass sie schwieriger zu installieren, aber in transparent verwendet werden könnte (AT) Modus, genau wie die Serie 1-Module. Ich die Module konfiguriert und bekam sie, miteinander zu sprechen, mit 38400 Baud (Hinweis: ein Modul als "Koordinator" geflasht werden muss und das andere Modul muss einen "Router"). Ich dann einen in die Arduino Shield installiert und sofort lief in Probleme. Bei 25Hz konnte ich nicht zuverlässige Kommunikation überhaupt bekommen. Um zu überprüfen, was geschehen war, wiederholte ich den Arduino empfangenen Nachrichten über dem Arduino erste serielle Schnittstelle (z.B. USB-Kabel). Mit dem Arduino seriellen Monitor auf meinem Laptop, fand ich, dass die Serie 2 XBees wurden Nachrichten in Hälfte hacken oder aufeinanderfolgende Nachrichten zusammen Maischen. Also, würde die Arduino manchmal Ende erhalten die Hälfte einer Zeichenfolge in der ersten Hälfte des nächsten Zeichenfolge fest. Ich hatte zu verlängern, so dass die Frequenz bis etwa 13 Hz fallen gelassen, bevor ich könnte scheinbar zuverlässige serielle Kommunikation über kurze Entfernungen. Der Nachteil der geringeren Frequenz Nachricht ist, dass es mehr Verzögerung zwischen Steuereingang und Bewegung des Fahrzeugs führt. Leider hat die niedrigere Frequenz die Probleme nicht vollständig gelöst. Größere Entfernungen die seriellen Datenkorruption noch geschehen, und die Schnittstelle nicht erholen, wenn wieder Reichweite zu schließen.
Also landete ich mit all diesen Problemen, Kauf ein paar Serie 1 Pro 60 MW Module. In Bezug auf die serielle Schnittstelle sie funktionieren genauso gut wie die 1mW-Serie 1-Module - es gibt keine Beschädigung von Daten oder seltsame Nachricht Verhalten Wenn Sie in Reichweite. Ihr Sortiment ist auch viel besser als die 1mW-Module (wie erwartet).
Kurz gesagt, wenn Sie XBees in einem Projekt für die einfache Punkt-zu-Punkt Kommunikation verwenden STAY AWAY aus der Serie 2 XBee Module! Die Serie 1 Module führen Sie unendlich besser und sind weniger problematisch (das wahrscheinlich ihre Popularität und höheren Preis erklärt).
(Über einen entsprechenden Hinweis gibt es jemand in Australien, einige leicht kaufen will, verwendet XBee Series 2 Pro 63mW Module?:-P)