- Aparatūras prasības
- XBee moduļu konfigurēšana, izmantojot XCTU
- Uztvērēja daļas shēma
- Iestatiet Raspberry Pi sērijveida saziņai
- Raspberry Pi programmēšana XBee saziņai
- Bezvadu XBee sakaru pārbaude, izmantojot Raspberry Pi
Iepriekšējā apmācībā mēs XBee moduli saskarējāmies ar Arduino Uno un panācām to bezvadu komunikāciju, izmantojot XBee moduli. Tagad mēs saskarsimies ar XBee moduli ar Raspberry Pi, kas darbosies kā uztvērējs un ļaus bezvadu sakariem sazināties ar citu XBee moduli (XBee explorer board), kas ir sērijveidā savienots ar klēpjdatoru.
Aparatūras prasības
- 1 x Raspberry Pi ar tajā instalētu Raspbian
- 2 x XBee Pro S2C moduļi (var izmantot jebkuru citu modeli)
- 1 x XBee Explorer panelis (pēc izvēles)
- 1 x Xbee Breakout dēlis (pēc izvēles)
- USB kabeļi
- Gaismas diodes
Tiek pieņemts, ka jūsu Raspberry Pi jau ir mirgojis ar operētājsistēmu. Ja nē, pirms turpināt, izpildiet pamācību Darba sākšana ar Raspberry Pi. Šeit mēs izmantojam Rasbian Jessie instalēto Raspberry Pi 3.
Šeit ārējais monitors, izmantojot HDMI kabeli, tiek izmantots kā displejs, lai izveidotu savienojumu ar Raspberry Pi. Ja jums nav monitora, varat izmantot SSH klientu (Putty) vai VNC serveri, lai izveidotu savienojumu ar Raspberry pi, izmantojot klēpjdatoru vai datoru. Uzziniet vairāk par Raspberry Pi iestatīšanu bez galvas šeit.
XBee moduļu konfigurēšana, izmantojot XCTU
Kā mēs esam uzzinājuši iepriekšējā ZigBee ieviešanas apmācībā, ka XBee modulis var darboties kā koordinators, maršrutētājs vai beigu ierīce, taču tas ir jākonfigurē darbam vēlamajā režīmā. Tātad, pirms XBee moduļu izmantošanas ar Raspberry Pi, mums šie moduļi ir jākonfigurē, izmantojot XCTU programmatūru.
Lai savienotu XBee moduli ar klēpjdatoru, tiek izmantots USB pārveidotājs vai seriāla pārveidotājs vai īpaši izstrādāta Explorer karte. Vienkārši pievienojiet XBee moduli Explorer dēlim un pievienojiet to klēpjdatoram, izmantojot USB kabeli.
Ja jums nav pārveidotāja vai pārlūka, tad Arduino dēli var izmantot kā USB uz seriālu ierīci, kas var viegli sazināties ar XBee un klēpjdatoru. Vienkārši augšupielādējiet tukšu skici Arduino dēlī, un tagad tas var izturēties kā USB uz sērijas pārveidotāju.
XBee moduļu konfigurēšana:
Šajā apmācībā XBee moduļu konfigurēšanai tiek izmantots Explorer panelis.
No šīs saites lejupielādējiet XCTU programmatūru un instalējiet to. Pēc XCTU programmatūras lejupielādes un instalēšanas atveriet to un pārliecinieties, vai XBee modulis ir pareizi pievienots. Ierīču pārvaldniekā pārbaudiet Arduino dēļa COM portu.
1. Tagad noklikšķiniet uz meklēšanas pogas. Tas parādīs visas ar klēpjdatoru savienotās RF ierīces. Mūsu gadījumā tas parādīs tikai vienu XBee moduli.
2. Atlasiet Explorer paneļa / Arduino dēļa sērijas portu un noklikšķiniet uz Tālāk.
3. Nākamajā logā iestatiet USB porta parametrus, kā parādīts zemāk, un noklikšķiniet uz Pabeigt.
4. Atlasiet Atrasta ierīce un noklikšķiniet uz Pievienot izvēlēto ierīci . Šis process pievienos jūsu XBee moduli XCTU informācijas panelim.
5. Tagad šajā logā varat konfigurēt savu XBee moduli. Jūs varat izmantot AT komandas vai ievietot datus manuāli. Kā redzat, kreisajā panelī ir redzams R, kas nozīmē, ka XBee ir maršrutētāja režīmā. Mums tas jāpadara par raidītāja daļas koordinatoru.
Vispirms atjauniniet programmaparatūru, noklikšķinot uz Atjaunināt programmaparatūru.
6. Izvēlieties savas ierīces Produktu saimi, kas ir pieejama XBee moduļa aizmugurē. Atlasiet funkciju kopu un programmaparatūras versiju, kā norādīts zemāk, un noklikšķiniet uz Atjaunināt.
7. Tagad jums ir jāsniedz ID, MANI un DL dati, lai izveidotu savienojumu ar citu XBee. Abiem moduļiem ID paliek nemainīgs. Tikai MY un DL datu apmaiņa, ti, uztvērēja XBee MY kļūst par raidītāja XBee (koordinators) DL, un uztvērēja XBee DL kļūst par raidītāja XBee MY. Padariet CE par koordinatoru un nospiediet pogu Rakstīt. Kā parādīts zemāk.
ATDL |
ATMY |
||
XBee 1 koordinators |
|||
XBee 2 gala ierīce |
8. Pēc iepriekš minēto datu ierakstīšanas raidītāja daļā atvienojiet tos no pētnieka plates un pievienojiet tajā otro XBee moduli. Atkārtojiet to pašu procesu kā iepriekš, tikai izmaiņas ir DL, MY un CE. Tā kā mēs izveidosim otro XBee kā beigu ierīci, CE nolaižamajā izvēlnē atlasiet Beigu ierīce un nospiediet pogu Rakstīt.
9. Tagad mūsu XBee moduļi ir gatavi saskarnei ar Raspberry Pi. Mēs savienot raidītāja Xbee ar klēpjdatoru un uztvērējs XBee ar aveņu Pi. Pēc tam dodiet komandas uztvērēja daļai, izmantojot klēpjdatoru. klēpjdators.
Uztvērēja daļas shēma
Savienojumi ZigBee moduļa un Raspberry PI saskarnei ir parādīti shēmā.
Savienojumi:
- XBee Tx (pin2) -> Pin Raspberry Pi Tx
- Rx (pin3) XBee -> Rx pin Raspberry Pi
- XBee Gnd (pin10) -> Raspberry Pi tapas GND
- XBee Vcc (Pin1) -> Raspberry Pi tapas> 3,3 v
- Led ir savienots ar GPIO 23
Iestatiet Raspberry Pi sērijveida saziņai
Tagad mēs iestatīsim Raspberry Pi sērijas saziņai. Pēc noklusējuma Pi aparatūras seriālais ports ir atspējots. Tātad, mums tas jāiespējo pirms savienojuma sākšanas.
1. Terminālā palaidiet komandu raspi-config .
2. Pārejiet uz 5. opciju Saskarnes iespējas un nospiediet taustiņu Enter. Tagad atlasiet opciju P6 sērija un iespējojiet to, pēc tam saglabājiet.
Izejiet no termināla, un jūs esat gatavs izveidot savienojumu starp Raspberry Pi un XBee. GPIO14 un 15 darbosies attiecīgi kā Tx un Rx, un tie ir pieejami aveņu pi ostā / dev / ttyS0.
Tagad mēs rakstīsim pitona skriptu ON LED, kad mēs saņemam "a" no raidītāja puses XBee.
Raspberry Pi programmēšana XBee saziņai
Beigās ir sniegta pilnīga pitona programma XBee saskarnei ar Raspberry Pi.
Pirmkārt, mums ir jāimportē laika, sērijas un RPi.GPIO bibliotēkas, izmantojot importēšanas funkciju.
importēšanas laiks importēt sērijveida importēšanu RPi.GPIO kā GPIO …
Tagad uzrakstiet seriālā savienojuma rekvizītus, definējiet portu, ātrumu un paritātes, kā norādīts zemāk.
ser = sērijas. Sērija ( ports = '/ dev / ttyS0', baudrate = 9600, paritāte = sērija. PARITY_NONE, stopbiti = sērija. STOPBITS_ONE, baits = sērija. EIGHTBITS, taimauts = 1 )
Rakstiet visus sūtīšanas un saņemšanas elementus while ciklā.
kamēr 1:
Lai nosūtītu ziņojumus uz raidītāja pusi, varat izmantot ser.write funkciju. Lai nosūtītu skaitījumus, noņemiet komentārus no tālāk esošajām rindām.
# ser.write (str.encode ('Rakstīt skaitītāju:% d \ n'% (skaitītājs))) # time.sleep (1) #counter + = 1
Ziņojumu saņemšanai mums jāizmanto ser.readline () funkcija. Saglabājiet ienākošo ziņojumu mainīgajā un pārbaudiet stāvokli. Ja ienākošais ziņojums ir “a”, ieslēdziet LED uz 3 sekundēm un pēc tam izslēdziet LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Pamācības beigās ir norādīts pilns Python kods ar demonstrācijas video. Ielīmējiet kodu jebkurā Pi teksta redaktorā un saglabājiet to. Palaist skriptu terminālā, izmantojot sudo python script_name.py VAI skripta izpildei varat izmantot Python IDE un Shell.
Bezvadu XBee sakaru pārbaude, izmantojot Raspberry Pi
Tagad mēs visi gatavojamies pārbaudīt savu XBee raidītāju un uztvērēju. Lai dotu komandu raidītāja daļai, mēs izmantosim XCTU konsoles terminālu. Noklikšķiniet uz konsoles ikonas blakus iestatījumu opcijai. Pēc tam noklikšķiniet uz pogas Atvērt, lai savienotu XBee ar klēpjdatoru.
Konsoles žurnālā ievadiet “a”. Jūs redzēsiet, ka gaismas diode ieslēgsies 3 sekundes un pēc tam tā izslēgsies.
Tādā veidā jūs varat arī savienot raidītāju XBee ar Arduino dēli, kā aprakstīts iepriekšējā apmācībā, un padarīt Raspberry Pi un Arduino sazināties savā starpā.