ich benutze einen Arduino Mega Board mit XBEE Shield. Auf diesen möchte ich gerne mit meinem XBEE Adapter Kit (XBEE-Module beide Series2) aus dem Arduino IDE die Programme flashen.
Eine Testkommunikation der beiden Xbees funktioniert (Die Zeichen werden übertragen).
Jetzt zu meiner eigentlichen Frage(n):
Geht das programmieren aus dem Adruino IDE über XBEE? Hat das schon mal jemand gemacht?
Ich orientiere mich an diesem Tutorial/Anleitung (www.ladyada.net/make/xbee/arduino.html). Der Transmitter ist das Adapter Kit. Da muß ich noch die "Brücke" "Now solder in a tiny jumper between the RTS pin and D3" setzen.
Aber da ich ein Series 2 Xbee Modul nutze kann das Tutorial leider nicht 1 zu 1 umsetzen. Klar das ist für Series 1 geschrieben. Bestimme einstellungen finde ich gar nicht. z.B.
Hat das jemand schon mit einem Xbee Series 2 Modul gemacht und kann mir jemand dazu Hinweise zukommen lassen?
Mein Empfänger ist das Arduino Mega Board mit Shield. Leider weiss ich nicht, ob ich hier etwas (Hardware) mäßig anpassen muss um Programme empfangen zu können.
Eine Grundsätzliche Antwort, das es gehen müsste wäre schon super.. Dann "arbeite" ich mich da schon durch...
Vielleicht sind ja auch die Settings, die ich nicht 1 zu 1 auf dem xbee Series 2 Modul finde nicht relevant (sieh Anleitung zum Link).
Aber vielleicht hat das jemand schon von Euch mal umgesetzt?
vielen Dank für Deine schnelle Antwort.
Aber leider nein. Ich habe wohl doch die falschen Xbee bzw. Zigbee Module gekauft. Ich habe Xbee Series 2 und in Deinem Link arbeitet er mit einem XBee PRO. Dann stimmts auch mit dem Tutorial...
Die Series 2 hat dieses I/O Line Padding Section natürlich gar nicht.
Die folgende Aussage habe ich auch auf einer Arduino Seite gefunden:
You can't use the DigiMesh or ZB series radios (aka Series 2 or 2.5). Those modules do not allow for automatic IO Line Passing that is required for toggling the reset pin when programming.
Darum steht natürlich auch fett der Hinweis, das die Anleitungen halt nur für XBEE oder PRO Versionen gelten.
Aber ich möchte mich noch nicht geschlagen geben. Ich werd mal noch ein bissel suchen.
Line passing and series 2 (ZNET 2.5 COORDINATOR AT version 1047) :
I/O Settings -> I/O Sampling -> IC - Digital IO Change Detection
Bitfield that configures which digital IO pins should be monitored for change detection. If a change is detected on an enabled digital IO pin, a digital IO sample is immediately transmitted to the address specified by DH DL.
RANGE:0-0XFFFF
You also need to enable digital pin for input.
Werde es mal probieren. Und am Transmitter XBEE diese Brücke setzen:
Was mir noch Kopfzerbrechen macht ist, das in dieser Anleitung Xbee Adapter - wireless Arduino programming der Empfänger Arduino über ein Adapterkit angeschlossen ist und die Leitungen und Komponenntennatürlich recht einfach anzubringen sind. Bei mir liegt das Xbee aber auf dem Shild.
Da werden diese Leitungen ja nicht richtig "verdrahtet" sein?
Kann jemand dazu noch mal eine Aussage machen?
Es wird definitiv möglich, da die xbee Strecke ja nur eine Art tunnel für die serielle schnittstelle ist.
Der Arduino muss:
Zum richtigen Zeitpunkt resetet werden ( dafür der gelötete Adapter )
Mit der richtigen Baudrate geflasht werden. Diese liegt beim Mega bei 57600.
Wenn dir die arduino IDE deine xbeestreck nicht als "Device" anbietet dann kompilier einfach nur in der IDE und Lade dann per avrdude die hex Datei hoch.
So flashe ich meinen Mega per Bluetooth. Wenn du die Linux-avrdude parapter brauchst sag Bescheid.
Gruß jkw
zu 1: Der Sender XBEE mit den gelöteten Adapter habe ich angefertigt (der am PC)
zu 2:
Das kann ich noch mal probieren. Da habe ich nicht 57600 Baud eingestellt. Ich werde das gleich mal probieren. Meine versuche waren leider bis jetzt ohne Erfolg.
zu3: Doch doch... den Comport sehe ich dafür... aber da tut sich noch nichts
Ich bin mir leider "unsicher" ob ich allee notwendigen Bedingugen erfüllt habe. Beim Sender XBEE habe ich für den Reset ja die Verbindung geschaffen aus dem Kit-Boards. Muss ich das nicht aber auch am Empfänger XBEE machen? Und da ist wiegesagt nur ein Arduino Mega mit Shield.
Na, ich werd mir jetzt noch mal die Baudrate anschauen.
Die Baudrate für die XBEE Kommunikation ist noch 9600 (und die der Comports auch).
Hi nochmal,
57600 ist Vorraussetzung. Bei mir sehe ich in der IDE zwar auch den bt COM Port aber kann den nicht nutzen. Geht nur per avrdude über komandozeile.
Wird den aktuell beim verbindungsaufbau der Mega resetet ? Das ist nötig.
Gruß
Ich habe es schon einmal mit dieser Anleitung umgesetzt. Nachteil, gegenüber der hier besprochenen Variante ist, dass das Ziel-Arduino auf den "Reset-Befehl" warten muss. Ein Programm dort sollte also immer die entsprechende Routine beinhalten.
Ich benutze diese Variante des Resets sogar in einem anderen Projekt, um einen Neustart nach langer Laufzeit auszulösen (Überlauf Variablen). Dies nur am Rande...
werde beides ausprobieren und Rückmeldung erfolgt.
Hatte den Link auch schon mal gefunden. Aber wenn jemand bestätigt, das es funktioniert,sieht das schon ganz ander aus.
Die Kommunikation der Xbees läuft jetzt mit 57600 Baud.
Hat aber nichts geholfen. Programmieren noch nicht über XBEE möglich.
Ich habe alles um den Arduino Mega (reset pin) mit einem Transistor und dem vorher programmieren Arduino auf ein *Reset Signal vorzubereiten (siehe Lösung Poldi).
Meine Frage: Das ist ein spezieller Reset, damit der Arduino für das Programieren bereit ist? Mein Megaboard hat natürlich auch einen Resetschalter. Den zu benutzen (zum Testen) und danach mit dem IDE das Programm über XBEE zu senden wird doch wohl nicht klappen? Oder würde das auch funktionieren?
Was ich bei der Lösung von Poldi irre finde ist, das das Timing um nach dem Reset das Programm uploaden zu können überhaupt klappen kann. Ist da so viel Toleranz enthalten?
Ich denke ohne den Reset wird auch die AVRDUDE Variante so nicht klappen. Werde das aber probieren.
Habe meine Roboter ATMEGA88 aus Winavr und Bascom programmiert und nur ein paar mal mit AVRDUDE. Darum muß ich mir das hier noch mal anschauen (unter Windows)
du musst nur den Pfad zur Hex datei und den zur config anpassen.
Das mit dem Reset Taster funktioniert! ich schaffs so etwa jedes 5. bis 10. mal also da brauchste etwas Training / Geduld.... bei mir war so etwa 0.5 sec zwischen dem "Binary sketch size xxxx" und dem Drücken optimal ... wie gesagt, viel erfolg
Mein Roby http://www.schilly.net/roby-20/wollte ich zukünfig so programmieren. Also da fährt er mir gegen die Wand, wenn ich da 10 Versuche brauche. Ist alles auf Basis von Streifenraster. Darum möchte ich das mit Arduino auf eine vernünftige Plattform heben. Und den Luxus einer programmierung ohne Kabel habe ich mir gegönnt... Bin guter Dinge, das das klappen wird.
doch doch, die leuchtet auch zyklisch... Genauso wie das Kit.. Da ist aber ne rote Lampe an, wenn da eine Kommunikation besteht habe ich da ein "dauerleuchten". Das steht auch für Verbindung ist funktional.... Die Daten müssen natürlich noch "rüberhopsen"... Das funktioniert auch...
Weil man notfalls damit ein Reset Impuls erzeugen kann, aber dafür brauchste ne ganze Reihe Bauteile ( 2 Kondensatoren, ein IC, ein Widerstand,.. ).
Hat mich nur interessiert als Notlösung. Dein Xbee Shild sollte aber auch irgendein pin haben der beim Aufbau der Verbindung den Reset auslöst, immerhin gibts da ja recht viele Anleitungen zu. Wie weit bist du denn damit bisher ?
Gruß JKW
ich nochmal,
hab mir jetzt auch die Anleitung auf der Seite von Lady Ada angesehen. Was spricht dagegen diese umzusetzen? auch wenn du das nicht 1:1 umsetzen kannst hast du doch bestimmt die Möglichkeit einen Zusätzlichen Pin zu konfigurieren oder ? Diesen auf Empfängerseite zu verbinden und dann damit den Reset auszulösen oder ?
ich habe mich jetzt die letzen Tage mit dem avrdude "rumgeschlagen". Leider nach etlichen Stunden ohne Erfolg. Ich wollte auch ohne XBEE Lösung (also einfach verbunden über USB) einfach mir dem avrdude programmieren... Kein Erfolg... Viel im Internet gelesen und viele haben wohl auch damit ein Problem: Avrdude über Winavr installiert... Befehl/Fehlermeldung:
Ich habe auch so oft mit dem Resetknopf gespielt (timing) das der schon ausgeleiert ist
Ich werde jetzt eine HW Lösung umsetzen. Ich habe hier was für die Series2 bzw. den Xbee Shield gefunden... magst Du/Ihr mal schauen? Mit ist noch nicht klar, wie er das an dem XBEE angebracht hat.
Ich werde mir auch die Lady Ada Lösug mal anschauen... Ich hab schon "Ränder" unter den Augen
also erstmal zum Reset taster: Schade drum
Wenn du per USB flashst dann brauchst du den Resetknopf nicht drücken. ( sorry hätte ich früher erwähnen können, gebe ich zu).
Leider kann ich das nicht bei mir testen da ich kein Windows habe ..
generell sollte das aber zu 100% klappen. ( tuts bei mir jedenfalls )
Zu der Anleitung im Internet:
Ist zwar ganz interessant aber wenn ich das richtig sehe verbindet er "nur" das Shield mit dem Mega. Also nicht zum Flashen.
Er schreibt aber ( das finde ich wiederum ganz interessant:
The CTS pin is hardwired to the reset-pin of the Arduino. You'd think that would be prominently displayed, but it isn't.
Also würde ich doch mal tippen: Wenn du avr-dude hinbekommst wirds eventuell auch "sofort" mit dem Xbee klappen.
Letztlich sinds ja "nur" 2 Punkte, reseten und dann mit 57600 baut senden. Wenn das Shield für dich den Reset schon macht, dann brauchste bloß noch die Daten hin zu faxxen
Kann dir leider nicht helfen mit dem Windows Problem.
Normales hochladen mittels arduino software klappt aber oder ?