- Zahtjevi za hardverom
- Konfiguriranje XBee modula pomoću XCTU
- Kružna shema za dio prijemnika
- Postavite Raspberry Pi za serijsku komunikaciju
- Programiranje Raspberry Pi za XBee komunikaciju
- Testiranje bežične XBee komunikacije pomoću Raspberry Pi
U prethodnom uputstvu povezali smo XBee modul s Arduino Uno i natjerali ih na bežičnu komunikaciju pomoću XBee modula. Sada ćemo povezati XBee modul s Raspberry Pi koji će djelovati kao prijemnik i omogućiti mu bežičnu komunikaciju s drugim XBee modulom (ploča XBee explorer) koji je serijski povezan s prijenosnim računalom.
Zahtjevi za hardverom
- 1 x Raspberry Pi s instaliranim Raspbianom
- 2 x XBee Pro S2C modula (može se koristiti bilo koji drugi model)
- 1 x XBee istraživačka ploča (nije obavezno)
- 1 x Xbee Breakout ploča (opcionalno)
- USB kabeli
- LED diode
Pretpostavlja se da je vaš Raspberry Pi već spojen s operativnim sustavom. Ako nije, slijedite upute za Početak rada s Raspberry Pi prije nego što nastavite. Ovdje koristimo Rasbian Jessie instaliran Raspberry Pi 3.
Ovdje se vanjski monitor koji koristi HDMI kabel koristi kao zaslon za povezivanje s Raspberry Pi. Ako nemate monitor, možete se koristiti SSH klijentom (Putty) ili VNC poslužiteljem za povezivanje s Raspberry pi pomoću prijenosnog računala ili računala. Ovdje saznajte više o postavljanju Raspberry Pi-a bez glave.
Konfiguriranje XBee modula pomoću XCTU
Kao što smo naučili u prethodnom vodiču ZigBee Uvoda, XBee modul može djelovati kao koordinator, usmjerivač ili krajnji uređaj, ali ga treba konfigurirati da radi u željenom načinu. Dakle, prije upotrebe XBee modula s Raspberry Pi, moramo ih konfigurirati pomoću softvera XCTU.
Za povezivanje XBee modula s prijenosnim računalom koristi se USB u serijski pretvarač ili posebno dizajnirana istraživačka ploča. Dovoljno je spojiti XBee modul na ploču Explorer i spojiti ga s prijenosnim računalom pomoću USB kabela.
Ako nemate pretvarač ili istraživačku ploču, tada se ploča Arduino može koristiti kao USB za serijski uređaj koji lako može komunicirati s XBeeom i prijenosnim računalom. Samo prenesite praznu skicu na ploču Arduino i ona će se sada moći ponašati poput pretvarača USB u serijski.
Konfiguriranje XBee modula:
Ovdje u ovom vodiču, ploča Explorer koristi se za konfiguriranje XBee modula.
Preuzmite softver XCTU s ove poveznice i instalirajte ga. Nakon preuzimanja i instaliranja softvera XCTU, otvorite ga i provjerite je li vaš XBee modul pravilno povezan. Provjerite COM priključak Arduino ploče u upravitelju uređaja.
1. Sada kliknite gumb za pretraživanje. Ovo će vam pokazati sve RF uređaje povezane s vašim prijenosnikom. U našem će slučaju prikazati samo jedan XBee modul.

2. Odaberite serijski priključak ploče Explorer / ploča Arduino i kliknite Dalje.

3. U sljedećem prozoru postavite parametre USB priključka kako je prikazano dolje i kliknite na Finish.

4. Odaberite Otkriveni uređaj i kliknite Dodaj odabrani uređaj . Ovim ćete postupkom dodati vaš XBee modul na XCTU nadzornu ploču.

5. U ovom prozoru sada možete konfigurirati svoj XBee modul. Možete koristiti AT naredbe ili podatke staviti ručno. Kao što vidite, na lijevoj ploči se prikazuje R, što znači da je XBee u načinu usmjerivača. Moramo ga postaviti kao koordinatora za dio odašiljača.
Prvo ažurirajte firmver klikom na Ažuriranje firmvera.

6. Odaberite obitelj proizvoda vašeg uređaja koja je dostupna na poleđini vašeg XBee modula. Odaberite skup funkcija i verziju firmvera kao što je dolje istaknuto i kliknite Ažuriraj.

7. Sada morate dati ID, MY i DL podatke da biste uspostavili vezu s drugim XBee. ID ostaje isti za oba modula. Samo MY i DL razmjena podataka, tj. MY za prijemnik XBee postaje DL predajnika XBee (koordinator), a DL za prijemnik XBee postaje MY za odašiljač XBee. Postavite CE za koordinatora, a zatim pritisnite tipku Write. Kao što je prikazano niže.

|
ATDL |
ATMY |
||
|
XBee 1 koordinator |
|||
|
Završni uređaj XBee 2 |
8. Nakon što napišete gornje podatke u dio predajnika, izvucite ih iz ploče istraživača i u njega umetnite drugi XBee modul. Ponovite isti postupak kao gore, samo su promjene DL, MY i CE. Kako ćemo drugi XBee napraviti kao završni uređaj, tako ćemo u padajućem izborniku CE odabrati Završni uređaj i pritisnuti tipku Write.
9. Sada su naši XBee moduli spremni za sučelje s Raspberry Pi. Mi ćemo spojiti odašiljača XBee na laptop i prijemnika XBee s malina Pi. Zatim dajte naredbe dijelu prijemnika pomoću prijenosnika. prijenosno računalo.
Kružna shema za dio prijemnika
Priključci za povezivanje ZigBee modula s Raspberry PI prikazani su na shemi spojeva.

Veze:
- Tx (pin2) od XBee -> Tx od pin Raspberry Pi
- Rx (pin3) od XBee -> Rx od pin Raspberry Pi
- Gnd (pin10) od XBee -> GND od pin Raspberry Pi
- Vcc (Pin1) od XBee -> 3.3v od pin Raspberry Pi
- Led je povezan s GPIO 23

Postavite Raspberry Pi za serijsku komunikaciju
Sada ćemo postaviti Raspberry Pi za serijsku komunikaciju. Prema zadanim postavkama hardverski serijski priključak Pi onemogućen je. Dakle, moramo ga omogućiti prije pokretanja veze.
1. U terminalu pokrenite naredbu raspi-config .

2. Idite na opciju 5 Opcije povezivanja i pritisnite enter. Sada odaberite opciju P6 Serial i omogućite je, a zatim spremite.

Izađite iz terminala i spremni ste za uspostavu veze između Raspberry Pi i XBee. GPIO14 i 15 djelovat će kao Tx odnosno Rx, a dostupni su na / dev / ttyS0 priključku maline pi.
Sada ćemo napisati python skriptu na ON LED kad god primimo 'a' od strane odašiljača XBee.
Programiranje Raspberry Pi za XBee komunikaciju
Kompletni python program za povezivanje XBee s Raspberry Pi dan je na kraju.
Prvo, moramo uvesti vremensku, serijsku i RPi.GPIO knjižnice pomoću funkcije uvoza.
vrijeme uvoza uvoz serijski uvoz RPi.GPIO kao GPIO…
Sada napišite svojstva serijske veze, definirajte port, baudrate i paritete kao u nastavku.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1 )
Upiši sve elemente za slanje i primanje u while petlju.
dok 1:
Možete koristiti funkciju ser.write za slanje poruka na stranu odašiljača. Otkomentirajte donje retke da biste poslali brojanje.
# ser.write (str.encode ('Pisanje brojača:% d \ n'% (brojač))) # time.sleep (1) #counter + = 1
Za primanje poruka moramo koristiti funkciju ser.readline () . Spremite dolaznu poruku u varijablu i provjerite stanje. Ako je dolazna poruka "a", UKLJUČITE LED na 3 sekunde, a zatim ISKLJUČITE LED.
x = ser.readline (). strip () print (x) ako je x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Kompletni Python kôd s demonstracijskim videom dan je na kraju vodiča. Zalijepite kod u bilo koji uređivač teksta na Pi-u i spremite ga. Pokrenite skriptu u terminalu koristeći sudo python script_name.py ILI možete koristiti Python IDE i Shell za izvršavanje skripte.
Testiranje bežične XBee komunikacije pomoću Raspberry Pi
Sada smo svi postavili da testiramo svoj XBee odašiljač i prijemnik. Da bismo dali naredbu dijelu odašiljača, koristit ćemo XCTU-ov terminal konzole. Kliknite ikonu konzole blizu opcije postavki. Zatim kliknite gumb Otvori da biste XBee povezali s prijenosnim računalom.
Unesite "a" u zapisnik konzole. Vidjet ćete da će se LED uključiti na 3 sekunde, a zatim se ISKLJUČITI.

Na taj način također možete povezati odašiljač XBee s Arduino pločom kao što je opisano u prethodnom vodiču i učiniti Raspberry Pi i Arduino međusobnom komunikacijom.
