- Mga Kinakailangan sa Hardware
- Pag-configure ng XBee Modules gamit ang XCTU
- Circuit Diagram para sa Bahaging Tagatanggap
- I-setup ang Raspberry Pi para sa Serial na komunikasyon
- Programming Raspberry Pi para sa komunikasyon sa XBee
- Pagsubok sa wireless na komunikasyon na XBee gamit ang Raspberry Pi
Sa nakaraang tutorial na nag-interfaced kami ng module ng XBee sa Arduino Uno at ginawang makipag-usap sa kanila nang wireless gamit ang XBee module. Ngayon ay makikipag-ugnay kami sa module ng XBee sa Raspberry Pi na kumikilos bilang isang tatanggap at gagawin itong makipag-usap nang walang wireless sa isa pang module ng XBee (XBee explorer board) na kung saan seralyadong konektado sa laptop.
Mga Kinakailangan sa Hardware
- 1 x Raspberry Pi na may Raspbian Naka-install dito
- 2 x XBee Pro S2C modules (anumang iba pang mga modelo ay maaaring magamit)
- 1 x XBee explorer board (opsyonal)
- 1 x Xbee Breakout board (opsyonal)
- Mga USB cable
- Mga LED
Ipinapalagay na ang iyong Raspberry Pi ay na-flash na sa isang operating system. Kung hindi, sundin ang Pagsisimula sa tutorial ng Raspberry Pi bago magpatuloy. Narito ginagamit namin ang Rasbian Jessie na naka-install na Raspberry Pi 3.
Dito ang Panlabas na Monitor na gumagamit ng HDMI cable ay ginagamit bilang display upang kumonekta sa Raspberry Pi. Kung wala kang monitor, maaari mong gamitin ang SSH client (Putty) o VNC server upang kumonekta sa Raspberry pi gamit ang Laptop o computer. Matuto nang higit pa tungkol sa pag-set up ng Raspberry Pi nang walang ulo dito.
Pag-configure ng XBee Modules gamit ang XCTU
Tulad ng natutunan sa nakaraang tutorial ng ZigBee Panimula na ang module na XBee ay maaaring kumilos bilang isang Coordinator, Router o isang End na aparato ngunit kailangan itong mai-configure upang gumana sa nais na mode. Kaya, bago gamitin ang mga module ng XBee na may Raspberry Pi, kailangan nating i-configure ang mga modyul na ito gamit ang XCTU software.
Upang ikonekta ang XBee module sa laptop, ginagamit ang isang USB sa serial converter o partikular na idinisenyo na explorer board. I-hook up lamang ang module ng XBee sa Explorer board at i-plug ito sa laptop gamit ang USB cable.
Kung wala kang anumang converter o explorer board, kung gayon ang isang Arduino board ay maaaring magamit bilang isang USB sa serial device na maaaring madaling makipag-usap sa XBee at laptop. I-upload lamang ang blangko na sketch sa Arduino board at ngayon maaari itong kumilos tulad ng isang USB sa Serial converter.
Pag-configure ng Mga Module ng XBee:
Dito sa tutorial na ito, ginagamit ang isang board ng Explorer upang i-configure ang mga module ng XBee.
I-download ang XCTU software mula sa link na ito at i-install ito. Matapos ang pag-download at pag-install ng XCTU software, buksan ito at tiyakin na ang iyong XBee module ay maayos na konektado. Suriin ang COM port ng Arduino board sa manager ng aparato.
1. Ngayon, mag-click sa pindutan ng paghahanap. Ipapakita nito sa iyo ang lahat ng mga aparatong RF na konektado sa iyong laptop. Sa aming kaso, ipapakita lamang nito ang isang module ng XBee.
2. Piliin ang Serial port ng Explorer board / Arduino board at mag-click sa Susunod.
3. Sa susunod na window, itakda ang mga parameter ng USB port tulad ng ipinakita sa ibaba at mag-click sa Tapusin.
4. Piliin ang Natuklasan na aparato at mag-click sa Magdagdag ng napiling aparato . Ang prosesong ito ay idaragdag ang iyong module na XBee sa XCTU dashboard.
5. Ngayon, maaari mong i-configure ang iyong module na XBee sa window na ito. Maaari mong gamitin ang alinmang mga utos ng AT o manu-manong ilagay ang data. Tulad ng nakikita mo, mayroong R na nagpapakita sa kaliwang panel na nangangahulugang ang XBee ay nasa router mode. Kailangan naming gawin itong Coordinator para sa bahagi ng transmitter.
Una, i-update ang Firmware sa pamamagitan ng pag-click sa Update firmware.
6. Piliin ang pamilya ng Produkto ng iyong aparato na magagamit sa likod ng iyong module na XBee. Piliin ang set ng function at bersyon ng firmware na naka-highlight sa ibaba at mag- click sa I-update.
7. Ngayon, kailangan mong bigyan ang data ng ID, MY at DL upang makakonekta sa ibang XBee. Ang ID ay mananatiling pareho para sa parehong mga module. Ang MY at DL data interchange ie lamang na MY para sa tatanggap na XBee ay naging DL ng transmiter XBee (coordinator) at ang DL para sa receiver na XBee ay naging AKIN ng transmiter XBee. Gawin ang CE bilang Coordinator at pagkatapos ay pindutin ang pindutan ng Sumulat. Tulad ng ipinakita sa ibaba.
ATDL |
SA AKING |
||
XBee 1 coordinator |
|||
XBee 2 end na aparato |
8. Matapos isulat ang data sa itaas sa bahagi ng transmitter, i-plug ito mula sa explorer board at isaksak dito ang pangalawang module ng XBee. Ulitin ang parehong proseso tulad ng mga pagbabago sa itaas lamang ang DL, MY, at CE. Gagawin namin ang pangalawang XBee bilang End device kaya't sa drop down na menu ng CE, piliin ang End device at pindutin ang pindutang Isulat.
9. Ngayon, ang aming mga module ng XBee ay handa nang mag-interface sa Raspberry Pi. Susubukan naming ikonekta ang transmiter XBee sa laptop at receiver XBee sa prambuwesas Lara. Pagkatapos ay magbigay ng mga utos sa bahagi ng tatanggap gamit ang laptop. laptop
Circuit Diagram para sa Bahaging Tagatanggap
Ang mga koneksyon para sa interfacing module ng ZigBee na may Raspberry PI ay ipinapakita sa circuit diagram.
Mga koneksyon:
- Tx (pin2) ng XBee -> Tx ng pin Raspberry Pi
- Rx (pin3) ng XBee -> Rx ng pin Raspberry Pi
- Gnd (pin10) ng XBee -> GND ng pin Raspberry Pi
- Vcc (Pin1) ng XBee -> 3.3v ng pin Raspberry Pi
- Ang Led ay konektado sa GPIO 23
I-setup ang Raspberry Pi para sa Serial na komunikasyon
Ngayon, itatakda namin ang Raspberry Pi para sa Serial na komunikasyon. Bilang default, hindi pinagana ang serial serial port ng Pi. Kaya, kailangan namin itong paganahin bago simulan ang koneksyon.
1. Sa terminal, patakbuhin ang command raspi-config .
2. Pumunta sa pagpipilian 5 Mga pagpipilian sa pagitan at pindutin ang enter. Ngayon, piliin ang P6 Serial na pagpipilian at Paganahin ito at pagkatapos ay i-save.
Lumabas sa terminal at handa ka na upang gawin ang koneksyon sa pagitan ng Raspberry Pi at XBee. Ang GPIO14 at 15 ay kikilos bilang Tx at Rx ayon sa pagkakabanggit at magagamit ang mga ito sa / dev / ttyS0 port ng raspberry pi.
Ngayon, magsusulat kami ng isang script ng sawa sa ON ang LED tuwing nakakatanggap kami ng 'isang' mula sa bahagi ng transmiter XBee.
Programming Raspberry Pi para sa komunikasyon sa XBee
Kumpletuhin ang programa ng sawa para sa interfacing XBee sa Raspberry Pi ay ibinibigay sa dulo.
Una, kailangan naming i-import ang oras, serial at mga library ng RPi.GPIO gamit ang pag - andar ng pag- import.
i-import ang oras i- import ang serial import na RPi.GPIO bilang GPIO …
Ngayon, isulat ang mga katangian ng serial na koneksyon, tukuyin ang port, baudrate at parities tulad ng sa ibaba.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1 )
Isulat ang lahat ng nagpadala at tumatanggap ng mga elemento sa habang loop.
habang 1:
Maaari mong gamitin ang function na ser.write upang maipadala ang mga mensahe sa panig ng transmiter. Alisan ng puna ang mga linya sa ibaba upang magpadala ng mga pagbibilang.
# ser.write (str.encode ('Sumulat ng counter:% d \ n'% (counter))) # time.s Sleep (1) #counter + = 1
Para sa pagtanggap ng mga mensahe kailangan naming gumamit ng ser.readline () na pagpapaandar. Itabi ang papasok na mensahe sa isang variable at suriin ang kundisyon. Kung ang papasok na mensahe ay 'a' pagkatapos ay I-ON ang LED sa loob ng 3 segundo at pagkatapos ay I-OFF ang LED.
x = ser.readline (). i-strip () i- print (x) kung x == 'a': GPIO.output (23, GPIO.HIGH) oras. natutulog (3)….
Kumpletuhin ang Python code na may Demonstration Video ay ibinibigay sa pagtatapos ng tutorial. I-paste ang code sa anumang text editor ng Pi at i-save ito. Patakbuhin ang script sa terminal gamit ang sudo python script_name.py O maaari mong gamitin ang Python IDE at Shell upang maipatupad ang script.
Pagsubok sa wireless na komunikasyon na XBee gamit ang Raspberry Pi
Ngayon, nagtatakda kaming lahat upang subukan ang aming XBee transmitter at tatanggap. Upang maibigay ang utos sa bahagi ng transmiter, gagamitin namin ang terminal ng console ng XCTU. Mag-click sa icon ng Console malapit sa pagpipilian ng mga setting. Pagkatapos, mag-click sa Buksan na pindutan upang ikonekta ang XBee sa laptop.
Ipasok ang 'a' sa log ng Console. Makikita mo na ang LED ay MAG-ON sa loob ng 3 segundo at pagkatapos ay i-OFF.
Sa ganitong paraan maaari mo ring ikonekta ang transmitter XBee sa Arduino board tulad ng inilarawan sa nakaraang tutorial, at gawin ang Raspberry Pi at Arduino upang makipag-usap sa bawat isa.