XBee adapter (11 / 14 steg)
Steg 11: Point-to-point-kommunikation
Det mest grundläggande sättet att kommunicera med hjälp av XBee modemen är punkt till punkt. Det innebär ett modem kommunicerar med ett annat modem. Seriella data går i en XBee överförs trådlöst och går ut i andra & tvärtom.
Om du bara vill ha en trådlös länk - mellan två mikrokontroller, datorer, Arduinos, etc. så börja här!
Ange nätverks-ID
För detta enkla nätverk, vi vill ha två modem att prata bara med varandra. Det betyder att om du är i en skola, lab eller workshop andra människors Xbees kan interagera med din orsakar några större förvirring
Ett bra sätt att undvika detta är att ange nätverks-ID (annars känd som PAN - personliga område Nework - ID) till ett unikt värde. Som standard använder alla XBee panorera ID #3332. ID är 4 byte av hexadecimalt och kan variera från 0000 till FFFF
Det är lätt att ändra pannan. Om du vill göra det med X-CTU Välj helt enkelt ett nytt ID och skriva det till modulen
Om du använder en terminal för att ansluta, använda kommandot ATID att ställa in och kontrollera PAN-ID
-> På (kolla om xbee modem svarar)
<- OK
-> ATID (få nuvarande PAN)
<- 3332 (standard eller något annat)
-> ATID 3137 (ange nya id)
<- OK
-> ATID (kolla igen)
<- 3137
-> ATWR (Skriv ändringen till flash)
<- OK
Anslutning till Arduino eller Boarduino
Kan ställa in ett exempel där datorn kommer att prata med en mikrokontroller projekt som en Arduino eller Boarduino. Om du använder en annan mikrokontroller eller kommunikation mellan två mikrokontroller, det kommer att bli ganska likartade
Starta genom att inrätta den PAN-ID och baud rate för de två modemen. Det här exemplet kommer jag antar att de är inställda för standard överföringshastigheten av 9600
Conncet en modul till din microcontroller. Anslut först + 5V och jord att ge ström. Se till att den XBee gröna lampan blinkar. Nästa Anslut RX fodra (ingång) av XBee TX line (output) mikrokontroller och vice versa. För Arduino/Boarduino nedan jag kommer att använda en "Mjukvaran följetong" program och använda pin #2 som RX och pin #3 som TX. Detta tillåter mig att använda standardmaskinvara USB-seriell port utan motstridiga. (Till exempel, jag kan fortfarande ladda upp en skiss)
Nu ansluta andra modulen till en dator med en FTDI kabel eller liknande.
Öppna upp en terminal till datorns XBee och börjar skriva in det - oavsett du vill. Du bör se den röda lysdioden på andra modemet lyser upp, som visar data tas emot. Om du inte ser den röda lysdioden tänds, kontrollera att du har kompatibel moduler, matchande överföringshastigheter och PAN-ID: N.
Nu installera NewSoftSerial bibliotek & Ladda upp följande skiss:
#include < NewSoftSerial.h >
NewSoftSerial mySerial = NewSoftSerial (2, 3);
void setup() {
pinMode (13, OUTPUT);
Serial.BEGIN(9600);
Serial.println ("Goodnight moon!");
ställa in datahastigheten för SoftwareSerial port
mySerial.begin(9600);
mySerial.println ("Hello, world?);
}
void loop() / / kör om och om igen
{
om (mySerial.available()) {
Serial.Print((Char)mySerial.Read());
}
om (Serial.available()) {
mySerial.print((char)Serial.read());
}
Delay(100);
}
Detta ställer in en point-to-point "tunnel" mellan två XBees. Det som skrivs in i terminalen på datorn kommer att hamna i Arduinoen Serial Monitor. Försök den ute!