Stap 11: Point-to-point communicatie
De eenvoudigste manier om te communiceren met behulp van de XBee modems is punt tot punt. Dat betekent dat één modem communiceren met een andere modem. Seriële data gaat in één XBee is draadloos doorgegeven en gaat uit de andere en vice versa.
Als je gewoon wilt een draadloze verbinding - tussen twee microcontrollers, computers, Arduinos, etc. start hier!
De netwerk-ID instellen
Voor dit eenvoudige netwerk willen wij twee modems om alleen met elkaar te praten. Dat betekent dat als je in een school, lab of workshop andermans XBee van kan interageren met de jouwe veroorzaken grote verwarring
Een goede manier om dit te voorkomen is om de netwerk-ID (ook wel bekend als de PAN - persoonlijke gebied Nework - ID) naar een unieke waarde. Standaard gebruiken alle XBee de PAN ID #3332. De ID is 4 bytes van hexadecimaal en kan variëren van 0000 tot FFFF
Veranderen van de PAN is makkelijk. Als u wilt doen met X-CTU gewoon Selecteer een nieuwe ID en schrijft het naar de module
Als u een terminal gebruikt om verbinding te maken, de opdracht ATID instellen en controleren van de PAN-ID
-> Op (Controleer of xbee modem reageert)
<- OK
-> ATID (krijgen huidige PAN)
<- 3332 (standaard of iets anders)
-> ATID 3137 (set nieuwe-id)
<- OK
-> ATID (selectievakje weer)
<- 3137
-> ATWR (schrijven de wijziging naar flash)
<- OK
Verbinding maken met Arduino of Boarduino
Laat een voorbeeld waar de computer gaat om te praten met een microcontroller project zoals een Arduino of Boarduino. Als u gebruikend verschillende microcontroller of communicatie tussen twee microcontrollers, its gonna be vrij gelijkaardig
Begin met het eerste opzetten van de PAN-ID en baud rate voor de twee modems. In dit voorbeeld zal ik neem aan dat ze zijn ingesteld voor de standaard baud-rate van 9600
Conncet ene module naar uw microcontroller. Eerst verbinding + 5V en Ground voor de stroomvoorziening. Zorg ervoor dat de XBee de groene LED knippert. Vervolgens verbinden met de RX-lijn (input) van de XBee de TX lijn (output) van de microcontroller en vice versa. Voor de Arduino/Boarduino hieronder ik zal met behulp van een "Seriële Software" programma gebruik pin #2 als de RX en pin #3 als de TX. Dit kan ik gebruiken de standaard hardware USB seriële poort zonder conflict. (Bijvoorbeeld, ik kan nog steeds uploaden een schets)
Nu andere module verbinden met een computer via een kabel van FTDI of soortgelijke.
Open een terminal van de computer XBee en begint te typen in het - wat u wilt. U ziet de rode LED op de andere modem oplichten, met vermelding van gegevens wordt ontvangen. Als u niet de rode LED oplichten, Controleer of u hebt compatibel modules, bijpassende baud-rates en PAN-id's zien.
Nu installeren de NewSoftSerial bibliotheek & upload het volgende schema:
#include < NewSoftSerial.h >
NewSoftSerial mySerial = NewSoftSerial (2, 3);
VOID Setup {}
pinMode (13, OUTPUT);
Serial.begin(9600);
Serial.println ("Goodnight moon!");
Stel de gegevenssnelheid voor de SoftwareSerial-poort
mySerial.begin(9600);
mySerial.println ("Hello, world?");
}
void loop / / run over en weer
{
Als (mySerial.available()) {}
Serial.Print((char)mySerial.Read());
}
Als (Serial.available()) {}
mySerial.print((char)Serial.read());
}
delay(100);
}
Dit zal een point-to-point 'tunnel' tussen de twee XBees opgericht. Wat is getypt in de terminal op de computer zal eindigen in de Arduino van seriële Monitor. Probeer het uit!