- Hardverkövetelmények
- Az XBee modulok konfigurálása az XCTU használatával
- Áramköri ábra a vevő részhez
- A Raspberry Pi beállítása a soros kommunikációhoz
- A Raspberry Pi programozása az XBee kommunikációhoz
- A vezeték nélküli XBee kommunikáció tesztelése a Raspberry Pi segítségével
Az előző bemutatóban összekötöttük az XBee modult az Arduino Uno-val, és vezeték nélküli kommunikációra késztettük őket az XBee modul használatával. Most összekapcsoljuk az XBee modult a Raspberry Pi-vel, amely vevőként fog működni, és vezeték nélküli kommunikációt tesz lehetővé egy másik XBee modullal (XBee explorer kártya), amely sorosan kapcsolódik a laptophoz.
Hardverkövetelmények
- 1 x Raspberry Pi és Raspbian telepítve
- 2 x XBee Pro S2C modul (bármilyen más modell használható)
- 1 x XBee explorer kártya (opcionális)
- 1 x Xbee Breakout kártya (opcionális)
- USB kábelek
- LED-ek
Feltételezzük, hogy a Raspberry Pi már operációs rendszerrel van felvillantva. Ha nem, akkor a folytatás előtt kövesse az Első lépések a Raspberry Pi ismertetővel. Itt a Rasbian Jessie által telepített Raspberry Pi 3 szoftvert használjuk.
Itt a HDMI kábelt használó külső monitort használjuk kijelzőként a Raspberry Pi csatlakoztatásához. Ha nincs monitorja, akkor az SSH kliens (Putty) vagy a VNC szerver segítségével csatlakozhat a Raspberry pi számítógéphez laptop vagy számítógép segítségével. Tudjon meg többet a Raspberry Pi fejetlen beállításáról itt.
Az XBee modulok konfigurálása az XCTU használatával
Amint azt a ZigBee Bevezetés korábbi oktatóanyagában megtudtuk, az XBee modul koordinátorként, útválasztóként vagy végberendezésként is működhet, de konfigurálni kell a kívánt módban való működésre. Tehát, mielőtt az XBee modulokat Raspberry Pi-vel használnánk, ezeket a modulokat az XCTU szoftver segítségével konfigurálnunk kell.
Az XBee modul és a laptop összekapcsolásához USB-soros átalakítót vagy speciálisan tervezett felfedező kártyát használnak. Csak csatlakoztassa az XBee modult az Explorer kártyához, és USB-kábellel csatlakoztassa a laptophoz.
Ha nincs átalakítója vagy felfedező lapja, akkor egy Arduino kártya használható USB-soros eszközként, amely könnyen kommunikálhat az XBee-vel és a laptopdal. Csak töltsön fel egy üres vázlatot az Arduino táblára, és most úgy viselkedhet, mint egy USB-soros átalakító.
XBee modulok konfigurálása:
Ebben az oktatóanyagban egy Explorer táblát használnak az XBee modulok konfigurálásához.
Töltse le az XCTU szoftvert erről a linkről, és telepítse. Az XCTU szoftver letöltése és telepítése után nyissa meg, és ellenőrizze, hogy az XBee modul megfelelően csatlakozik-e. Ellenőrizze az Arduino kártya COM portját az eszközkezelőben.
1. Most kattintson a keresés gombra. Ez megmutatja a laptophoz csatlakoztatott összes RF eszközt. Esetünkben csak egy XBee modult fog megjeleníteni.
2. Válassza ki az Explorer / Arduino tábla soros portját, majd kattintson a Tovább gombra.
3. A következő ablakban állítsa be az USB port paramétereit az alábbiak szerint, majd kattintson a Befejezés gombra.
4. Válassza ki a Felfedezett eszközt, és kattintson a Kiválasztott eszköz hozzáadása elemre. Ez a folyamat hozzáadja az XBee modult az XCTU irányítópultjához.
5. Most ebben az ablakban konfigurálhatja az XBee modult. Használhatja az AT parancsokat, vagy manuálisan helyezheti el az adatokat. Mint látható, a bal panelen R látható, ami azt jelenti, hogy az XBee router módban van. A jeladó koordinátorává kell tennünk.
Először frissítse a firmware-t a firmware frissítésre kattintva.
6. Válassza ki készülékének termékcsaládját, amely az XBee modul hátoldalán található. Válassza ki a funkciókészletet és a firmware verzióját az alábbiak szerint, majd kattintson az Update gombra.
7. Most meg kell adnia ID, MY és DL adatokat, hogy kapcsolatba léphessen más XBee-vel. Az azonos azonos marad mindkét modul esetében. Csak a MY és a DL adatcsere, azaz a MY az XBee vevő számára válik az XBee adó (koordinátor) DL-jévé, az XBee vevő DL pedig az XBee adó MY-jévé. Tegye a CE-t koordinátorként, majd nyomja meg az Írás gombot. Az alábbiak szerint.
ATDL |
ATMY |
||
XBee 1 koordinátor |
|||
XBee 2 végberendezés |
8. Miután a fenti adatokat beírta az adó részébe, csatlakoztassa azokat a felfedező tábláról, és csatlakoztassa a benne lévő második XBee modult. Ismételje meg ugyanazt a folyamatot, mint fent, csak a DL, MY és CE változások vannak. Mivel a második XBee-t végkészülékként készítjük el, így a CE legördülő menüben válassza ki az End eszközt, és nyomja meg az Írja gombot.
9. Most, az XBee moduljaink készen állnak a Raspberry Pi-vel való interfészre. Mi lesz csatlakozni az adó XBee a laptop és a vevő XBee a Raspberry Pi. Ezután adjon parancsokat a vevőegységnek laptop segítségével. laptop.
Áramköri ábra a vevő részhez
A ZigBee modul és a Raspberry PI összekapcsolásának kapcsolatait az áramköri ábra mutatja.
Csatlakozások:
- Az XBee Tx (pin2) -> Raspberry Pi tű Tx
- Rx (pin3) az XBee-től -> Rx a tű Raspberry Pi-től
- XBee Gnd (pin10) -> Raspberry Pi tű GND
- XBee Vcc (Pin1) -> 3,3v pin Raspberry Pi
- A Led a GPIO 23-hoz csatlakozik
A Raspberry Pi beállítása a soros kommunikációhoz
Most beállítjuk a Raspberry Pi-t a soros kommunikációhoz. Alapértelmezés szerint a Pi hardveres soros portja le van tiltva. Tehát engedélyeznünk kell a kapcsolat megkezdése előtt.
1. Futtassa a terminálban a raspi-config parancsot.
2. Lépjen az 5. Interfacing opciókra, és nyomja meg az Enter billentyűt. Most válassza a P6 soros opciót, majd engedélyezze, majd mentse.
Lépjen ki a terminálból, és készen áll a kapcsolat létrehozására a Raspberry Pi és az XBee között. A GPIO14 és a 15 Tx és Rx funkcióval fog működni, és ezek a málna pi / dev / ttyS0 portjánál érhetők el.
Most írunk egy python szkriptet az ON LED-re, amikor 'a' jelet kapunk az adó oldali XBee-től.
A Raspberry Pi programozása az XBee kommunikációhoz
A végén megadunk egy teljes python programot az XBee és a Raspberry Pi összekapcsolására.
Először importálnunk kell az idő, a soros és az RPi.GPIO könyvtárakat az importálás funkcióval.
importálás ideje soros import RPi.GPIO importálása GPIO-ként …
Írja meg a soros kapcsolat tulajdonságait, adja meg a portot, a sebességet és a paritásokat az alábbiak szerint.
ser = soros. Sorozat ( port = '/ dev / ttyS0', baudrate = 9600, paritás = soros. PARITY_NONE, stopbit = soros. STOPBITS_ONE, bytesize = soros. EIGHTBITS, időtúllépés = 1 )
Írja be az összes küldő és fogadó elemet a while ciklusba.
míg 1:
A ser.write funkcióval elküldheti az üzeneteket az adó oldalára. Számlálás elküldéséhez törölje az alábbi sorok megjegyzését.
# ser.write (str.encode ('Számláló írása:% d \ n'% (számláló))) # time.sleep (1) # számláló + = 1
Az üzenetek fogadásához a ser.readline () függvényt kell használnunk. Tárolja a bejövő üzenetet egy változóban, és ellenőrizze az állapotot. Ha a bejövő üzenet „a”, akkor kapcsolja be a LED-et 3 másodpercre, majd kapcsolja ki a LED-et.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
A teljes Python-kód egy bemutató videóval az oktatóanyag végén található. Illessze be a kódot a Pi bármely szövegszerkesztőjébe, és mentse el. Futtassa a parancsfájlt a terminálban a sudo python script_name.py használatával VAGY a Python IDE és a Shell használatával futtathatja a parancsfájlt.
A vezeték nélküli XBee kommunikáció tesztelése a Raspberry Pi segítségével
Most mindannyian az XBee adó és vevő tesztelésére készültünk. Az adó rész parancsának megadásához az XCTU konzol terminálját fogjuk használni. Kattintson a Konzol ikonra a beállítások közelében. Ezután kattintson a Megnyitás gombra az XBee és a laptop csatlakoztatásához.
Írja be az „a” szót a konzol naplójában. Látni fogja, hogy a LED 3 másodpercre bekapcsol, majd kikapcsol.
Így az XBee adóegységet az előző bemutatóban leírtak szerint az Arduino táblához is csatlakoztathatja, és a Raspberry Pi és az Arduino kommunikációra késztetheti őket.