- Zahteve glede strojne opreme
- Konfiguriranje modulov XBee z uporabo XCTU
- Shema vezja za del sprejemnika
- Nastavite Raspberry Pi za serijsko komunikacijo
- Programiranje Raspberry Pi za komunikacijo XBee
- Testiranje brezžične komunikacije XBee z uporabo Raspberry Pi
V prejšnji vadnici smo povezali modul XBee z Arduino Uno in jim omogočili brezžično komunikacijo z uporabo modula XBee. Zdaj bomo modul XBee povezali z Raspberry Pi, ki bo deloval kot sprejemnik in omogočil brezžično komunikacijo z drugim modulom XBee (plošča XBee explorer), ki je serijsko povezan s prenosnikom.
Zahteve glede strojne opreme
- 1 x Raspberry Pi z nameščenim Raspbian
- 2 x modula XBee Pro S2C (lahko se uporabi kateri koli drug model)
- 1 x plošča XBee explorer (neobvezno)
- 1 x Xbee Breakout deska (neobvezno)
- USB kabli
- LED
Predpostavlja se, da je vaš Raspberry Pi že utripal z operacijskim sistemom. V nasprotnem primeru sledite navodilom za začetek uporabe Raspberry Pi. Tu uporabljamo Rasbian Jessie, nameščen Raspberry Pi 3.
Tu se zunanji monitor s kablom HDMI uporablja kot zaslon za povezavo z Raspberry Pi. Če nimate monitorja, lahko s pomočjo odjemalca SSH (Putty) ali strežnika VNC vzpostavite povezavo z Raspberry pi s prenosnikom ali računalnikom. Več o nastavitvi Raspberry Pi brezglave tukaj.
Konfiguriranje modulov XBee z uporabo XCTU
Kot smo že izvedeli v prejšnji vadnici ZigBee Introduction, da modul XBee lahko deluje kot koordinator, usmerjevalnik ali končna naprava, vendar ga je treba konfigurirati za delovanje v želenem načinu. Pred uporabo modulov XBee z Raspberry Pi moramo te module konfigurirati s pomočjo programske opreme XCTU.
Za povezavo modula XBee s prenosnikom se uporablja pretvornik USB v serijski pretvornik ali posebej zasnovana plošča raziskovalca. Preprosto priključite modul XBee na ploščo Explorer in ga s kablom USB priključite na prenosni računalnik.
Če nimate pretvornika ali raziskovalne plošče, lahko ploščo Arduino uporabite kot serijsko napravo USB, ki zlahka komunicira z XBeejem in prenosnikom. Preprosto naložite prazno skico na ploščo Arduino in zdaj se lahko obnaša kot pretvornik USB v serijski.
Konfiguriranje modulov XBee:
V tej vadnici se za konfiguracijo modulov XBee uporablja plošča Explorer.
Prenesite programsko opremo XCTU s te povezave in jo namestite. Po prenosu in namestitvi programske opreme XCTU jo odprite in se prepričajte, da je modul XBee pravilno povezan. V upravitelju naprav preverite vrata COM plošče Arduino.
1. Zdaj kliknite gumb za iskanje. To vam bo pokazalo vse RF naprave, povezane z vašim prenosnikom. V našem primeru bo prikazal samo en modul XBee.
2. Izberite serijska vrata plošče Explorer / plošče Arduino in kliknite Naprej.
3. V naslednjem oknu nastavite parametre vrat USB, kot je prikazano spodaj, in kliknite Finish.
4. Izberite Odkrita naprava in kliknite Dodaj izbrano napravo . Ta postopek bo dodal vaš modul XBee na nadzorno ploščo XCTU.
5. Zdaj lahko v tem oknu konfigurirate svoj modul XBee. Uporabite lahko ukaze AT ali podatke vnesete ročno. Kot lahko vidite, se na levi plošči prikazuje R, kar pomeni, da je XBee v načinu usmerjevalnika. Postati moramo koordinator dela oddajnika.
Najprej posodobite vdelano programsko opremo s klikom na Posodobi vdelano programsko opremo.
6. Izberite družino izdelkov vaše naprave, ki je na voljo na zadnji strani modula XBee. Izberite nabor funkcij in različico vdelane programske opreme, kot je poudarjeno spodaj, in kliknite Posodobi.
7. Zdaj morate dati podatke ID, MY in DL, da vzpostavite povezavo z drugimi XBee. ID ostaja enak za oba modula. Samo MY in DL izmenjava podatkov, tj. MY za sprejemnik XBee, postane DL oddajnika XBee (koordinator), DL za sprejemnik XBee pa MY oddajnika XBee. Označite CE za koordinatorja in pritisnite tipko Write. Kot je prikazano spodaj.
ATDL |
ATMY |
||
Koordinator XBee 1 |
|||
Končna naprava XBee 2 |
8. Po zapisu zgornjih podatkov na del oddajnika ga izvlecite iz plošče raziskovalca in vanj priklopite drugi modul XBee. Ponovite isti postopek kot zgoraj, samo spremembe so DL, MY in CE. Ker bomo drugi XBee naredili kot končno napravo, bomo v spustnem meniju CE izbrali Končno napravo in pritisnili gumb Write.
9. Zdaj so naši moduli XBee pripravljeni na vmesnik z Raspberry Pi. Bomo povezavo XBee oddajnika na laptop in sprejemnik XBee z Raspberry Pi. Nato s prenosnikom dajte ukaze delu sprejemnika. prenosni računalnik.
Shema vezja za del sprejemnika
Povezave za povezovanje modula ZigBee z Raspberry PI so prikazane v vezju.
Povezave:
- Tx (pin2) XBee -> Tx pin Raspberry Pi
- Rx (pin3) XBee -> Rx pin Raspberry Pi
- Gnd (pin10) XBee -> GND pin Raspberry Pi
- Vcc (Pin1) XBee -> 3.3v pin Raspberry Pi
- Led je povezan z GPIO 23
Nastavite Raspberry Pi za serijsko komunikacijo
Zdaj bomo nastavili Raspberry Pi za serijsko komunikacijo. Privzeto so strojna serijska vrata Pi onemogočena. Torej, to moramo omogočiti pred zagonom povezave.
1. V terminalu zaženite ukaz raspi-config .
2. Pojdite na možnost 5 Možnosti povezovanja in pritisnite Enter. Zdaj izberite možnost P6 Serial in jo omogočite ter shranite.
Zaprite terminal in vsi ste pripravljeni vzpostaviti povezavo med Raspberry Pi in XBee. GPIO14 in 15 bosta delovala kot Tx oziroma Rx in sta na voljo na / dev / ttyS0 vratih maline pi.
Zdaj bomo pihali skript python na ON LED, kadar bomo od strani oddajnika XBee prejeli 'a'.
Programiranje Raspberry Pi za komunikacijo XBee
Na koncu je podan celoten program python za povezovanje XBee z Raspberry Pi.
Najprej moramo s funkcijo uvoza uvoziti knjižnice časa, serijske in RPi.GPIO.
uvoz čas uvoz serijski uvoz RPi.GPIO kot GPIO …
Zdaj zapišite lastnosti serijske povezave, definirajte vrata, hitrost prenosa in paritete, kot spodaj.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1 )
Vse elemente pošiljanja in prejema vpišite v zanko while .
medtem ko 1:
Za pošiljanje sporočil na stran oddajnika lahko uporabite funkcijo ser.write . Odpokličite spodnje vrstice, da pošljete štetje.
# ser.write (str.encode ('Zapiši števec:% d \ n'% (števec))) # time.sleep (1) #counter + = 1
Za prejemanje sporočil moramo uporabiti funkcijo ser.readline () . Shranite dohodno sporočilo v spremenljivko in preverite stanje. Če je dohodno sporočilo 'a', vklopite LED za 3 sekunde in nato IZKLOPITE LED.
x = ser.readline (). strip () print (x), če je x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Popolna koda Pythona z demonstracijskim videoposnetkom je podana na koncu vadnice. Kodo prilepite v kateri koli urejevalnik besedil Pi in jo shranite. Zaženite skript v terminalu z uporabo sudo python script_name.py ALI lahko uporabite Python IDE in Shell za izvedbo skripta.
Testiranje brezžične komunikacije XBee z uporabo Raspberry Pi
Zdaj smo pripravljeni preizkusiti oddajnik in sprejemnik XBee. Za ukaz delu oddajnika bomo uporabili konzolo XCTU. Kliknite ikono konzole blizu možnosti nastavitev. Nato kliknite gumb Odpri, da XBee povežete s prenosnikom.
V dnevnik konzole vnesite 'a'. Videli boste, da se lučka LED vklopi za 3 sekunde in nato ugasne.
Na ta način lahko oddajnik XBee priključite tudi na ploščo Arduino, kot je opisano v prejšnji vadnici, in poskrbite, da bosta Raspberry Pi in Arduino medsebojno komunicirala.