- Hardvérové požiadavky
- Konfigurácia modulov XBee pomocou XCTU
- Schéma zapojenia prijímača
- Nastavte Raspberry Pi na sériovú komunikáciu
- Programovanie Raspberry Pi pre komunikáciu XBee
- Testovanie bezdrôtovej komunikácie XBee pomocou Raspberry Pi
V predchádzajúcom tutoriáli sme prepojili modul XBee s Arduino Uno a prinútili ich komunikovať bezdrôtovo pomocou modulu XBee. Teraz prepojíme modul XBee s Raspberry Pi, ktorý bude fungovať ako prijímač a umožní mu bezdrôtovo komunikovať s ďalším modulom XBee (doska prieskumníka XBee), ktorý je sériovo prepojený s notebookom.
Hardvérové požiadavky
- 1 x Raspberry Pi s nainštalovaným Raspbian
- 2 x moduly XBee Pro S2C (možno použiť akýkoľvek iný model)
- 1 x doska prieskumníka XBee (voliteľné)
- 1 x doska Xbee Breakout (voliteľné)
- USB káble
- LED diódy
Predpokladá sa, že váš Raspberry Pi už má nainštalovaný operačný systém. Ak nie, postupujte podľa pokynov v návode Začíname s Raspberry Pi. Tu používame Rasbian Jessie nainštalovaný Raspberry Pi 3.
Tu sa externý monitor pomocou kábla HDMI používa ako displej na pripojenie k Raspberry Pi. Ak nemáte monitor, môžete sa pomocou klienta SSH (Putty) alebo servera VNC pripojiť k počítaču Raspberry pi pomocou prenosného počítača alebo počítača. Viac informácií o bezhlavom nastavení Raspberry Pi sa dozviete tu.
Konfigurácia modulov XBee pomocou XCTU
Ako sme sa dozvedeli v predchádzajúcom tutoriáli ZigBee Introduction, modul XBee môže fungovať ako koordinátor, smerovač alebo koncové zariadenie, ale je potrebné ho nakonfigurovať, aby pracoval v požadovanom režime. Pred použitím modulov XBee s Raspberry Pi teda musíme tieto moduly nakonfigurovať pomocou softvéru XCTU.
Na pripojenie modulu XBee k notebooku sa používa prevodník USB na sériový port alebo špeciálne navrhnutá prieskumná doska. Stačí pripojiť modul XBee k doske Explorer a pripojiť ho k notebooku pomocou kábla USB.
Ak nemáte žiadny prevodník alebo prieskumnú dosku, potom môže byť doska Arduino použitá ako USB na sériové zariadenie, ktoré môže ľahko komunikovať s XBee a notebookom. Stačí nahrať prázdny náčrt na dosku Arduino a teraz sa môže správať ako prevodník USB na sériový port.
Konfigurácia modulov XBee:
Tu v tomto výučbe sa na konfiguráciu modulov XBee používa doska prieskumníka.
Stiahnite si softvér XCTU z tohto odkazu a nainštalujte ho. Po stiahnutí a nainštalovaní softvéru XCTU ho otvorte a uistite sa, že je váš modul XBee správne pripojený. Skontrolujte port COM na doske Arduino v správcovi zariadení.
1. Teraz kliknite na tlačidlo vyhľadávania. Zobrazí sa všetky RF zariadenia pripojené k vášmu notebooku. V našom prípade ukáže iba jeden modul XBee.
2. Vyberte sériový port dosky Explorer / Arduino a kliknite na Ďalej.
3. V ďalšom okne nastavte parametre portu USB, ako je to znázornené nižšie, a kliknite na tlačidlo Dokončiť.
4. Vyberte zariadenie Discovered a kliknite na položku Add selected device . Tento proces pridá váš modul XBee na ovládací panel XCTU.
5. Teraz môžete v tomto okne nakonfigurovať svoj modul XBee. Môžete použiť buď AT príkazy, alebo údaje vložiť ručne. Ako vidíte, na ľavom paneli sa zobrazuje písmeno R, čo znamená, že XBee je v režime smerovača. Musíme sa stať koordinátorom pre časť vysielača.
Najskôr aktualizujte firmvér kliknutím na položku Aktualizovať firmvér.
6. Vyberte skupinu produktov vášho zariadenia, ktorá je k dispozícii na zadnej strane modulu XBee. Vyberte sadu funkcií a verziu firmvéru, ako je zvýraznené nižšie, a kliknite na tlačidlo Aktualizovať.
7. Teraz musíte uviesť ID, MY a DL údaje, aby ste sa mohli spojiť s ostatnými XBee. ID zostáva rovnaké pre obidva moduly. Iba výmena dát MY a DL, tj. MY pre prijímač XBee, sa stane DL vysielača XBee (koordinátor) a DL pre prijímač XBee sa stane MY vysielača XBee. Vytvorte CE ako koordinátora a potom stlačte tlačidlo Napísať. Ako je uvedené nižšie.
ATDL |
V MOJOM |
||
Koordinátor XBee 1 |
|||
Koncové zariadenie XBee 2 |
8. Po zápise vyššie uvedených údajov do časti vysielača ich odpojte od dosky prieskumníka a zapojte do nej druhý modul XBee. Opakujte rovnaký postup ako vyššie, zmeny sú iba DL, MY a CE. Pretože budeme druhé XBee vyrábať ako Koncové zariadenie, v rozbaľovacej ponuke CE vyberte Koncové zariadenie a stlačte tlačidlo Zápis.
9. Teraz sú naše moduly XBee pripravené na prepojenie s Raspberry Pi. Budeme pripojiť XBEE vysielača na laptop a prijímača XBee s Raspberry Pi. Potom dajte príkazy prijímacej časti pomocou prenosného počítača. notebook.
Schéma zapojenia prijímača
Pripojenia pre prepojenie modulu ZigBee s Raspberry PI sú znázornené na schéme zapojenia.
Pripojenia:
- Tx (pin2) pre XBee -> Tx pre pin Raspberry Pi
- Rx (pin3) pre XBee -> Rx pre pin Raspberry Pi
- GND (pin10) pre XBee -> GND pre pin Raspberry Pi
- Vcc (Pin1) XBee -> 3,3 V pin Raspberry Pi
- Led je pripojený k GPIO 23
Nastavte Raspberry Pi na sériovú komunikáciu
Teraz nastavíme Raspberry Pi na sériovú komunikáciu. Štandardne je hardvérový sériový port Pi deaktivovaný. Pred začatím pripojenia ho teda musíme povoliť.
1. V termináli spustite príkaz raspi-config .
2. Prejdite na možnosť 5 Možnosti prepojenia a stlačte kláves Enter. Teraz vyberte možnosť P6 Serial a povoľte ju a potom uložte.
Ukončite terminál a je všetko pripravené na vytvorenie spojenia medzi Raspberry Pi a XBee. GPIO14 a 15 fungujú ako Tx, respektíve Rx a sú dostupné na / dev / ttyS0 porte malinového pi.
Teraz napíšeme pythonovský skript na ON LED, kedykoľvek dostaneme „a“ od XBee na strane vysielača.
Programovanie Raspberry Pi pre komunikáciu XBee
Na konci je uvedený kompletný pythonovský program na prepojenie XBee s Raspberry Pi.
Najskôr musíme importovať časové, sériové a RPi.GPIO knižnice pomocou funkcie importu.
import čas import sériový import RPi.GPIO ako GPIO…
Teraz napíšte vlastnosti sériového pripojenia, definujte port, prenosovú rýchlosť a parity, ako je uvedené nižšie.
ser = serial.Serial ( port = '/ dev / ttyS0', prenosová rýchlosť = 9600, parita = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, veľkosť bytu = serial.EIGHTBITS, časový limit = 1 )
Napíšte všetky odosielanie a prijímacie prvky v while slučky.
zatiaľ čo 1:
Na odoslanie správ na stranu vysielača môžete použiť funkciu ser.write . Ak chcete odoslať počítanie, odkomentujte nasledujúce riadky.
# ser.write (str.encode ('Počítadlo zápisu:% d \ n'% (počítadlo))) # time.sleep (1) # Counter + = 1
Na príjem správ musíme použiť funkciu ser.readline () . Uložte prichádzajúcu správu do premennej a skontrolujte jej stav. Ak je prichádzajúca správa „a“, rozsvieťte LED na 3 sekundy a potom LED zhasnite.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Kompletný kód Pythonu s demonštračným videom je uvedený na konci tutoriálu. Vložte kód do ľubovoľného textového editora Pi a uložte ho. Spustite skript v termináli pomocou sudo python script_name.py ALEBO môžete na vykonanie skriptu použiť Python IDE a Shell.
Testovanie bezdrôtovej komunikácie XBee pomocou Raspberry Pi
Teraz sme sa všetci pustili do testovania nášho vysielača a prijímača XBee. Na zadanie príkazu do vysielacej časti použijeme konzolový terminál XCTU. Kliknite na ikonu Console v blízkosti možnosti nastavenia. Potom kliknite na tlačidlo Otvoriť a pripojte XBee k notebooku.
Zadajte „a“ do denníka konzoly. Uvidíte, že LED sa rozsvieti na 3 sekundy a potom zhasne.
Týmto spôsobom môžete tiež pripojiť vysielač XBee k doske Arduino, ako je opísané v predchádzajúcom návode, a dosiahnuť, aby Raspberry Pi a Arduino navzájom komunikovali.