- Laitteistovaatimukset
- XBee-moduulien määrittäminen XCTU: lla
- Vastaanottimen osan piirikaavio
- Määritä Raspberry Pi sarjayhteydelle
- Raspberry Pi -ohjelmointi XBee-viestintää varten
- Langattoman XBee-tiedonsiirron testaus Raspberry Pi: llä
Edellisessä opetusohjelmassa liitimme XBee-moduulin Arduino Unoon ja saimme heidät kommunikoimaan langattomasti XBee-moduulin avulla. Nyt liitämme XBee-moduulin Raspberry Pi: n kanssa, joka toimii vastaanottimena ja saa sen kommunikoimaan langattomasti toisen XBee-moduulin (XBee explorer board) kanssa, joka on sarjaan kytketty kannettavaan tietokoneeseen.
Laitteistovaatimukset
- 1 x Raspberry Pi, johon on asennettu Raspbian
- 2 x XBee Pro S2C -moduulia (mitä tahansa muuta mallia voidaan käyttää)
- 1 x XBee explorer -levy (valinnainen)
- 1 x Xbee Breakout -levy (valinnainen)
- USB-kaapelit
- LEDit
Oletetaan, että Raspberry Pi: lläsi on jo vilkkuva käyttöjärjestelmä. Jos ei, seuraa Aloittaminen Raspberry Pi -oppaalla ennen jatkamista. Tässä käytämme Rasbian Jessien asentamaa Raspberry Pi 3: ta.
Tässä Raspberry Pi -liitäntää varten käytetään näyttöä HDMI-kaapelia käyttävää ulkoista näyttöä. Jos sinulla ei ole näyttöä, voit käyttää SSH-asiakasta (Putty) tai VNC-palvelinta muodostaaksesi yhteyden Raspberry pi -laitteeseen kannettavan tietokoneen tai tietokoneen avulla. Lue lisää Vadelma Pi: n asettamisesta päähän täältä.
XBee-moduulien määrittäminen XCTU: lla
Kuten olemme oppineet edellisestä ZigBee Introduction -oppaasta, XBee-moduuli voi toimia koordinaattorina, reitittimenä tai loppulaitteena, mutta se on määritettävä toimimaan halutussa tilassa. Joten ennen XBee-moduulien käyttöä Raspberry Pi: n kanssa meidän on määritettävä nämä moduulit XCTU-ohjelmistolla.
XBee-moduulin kytkemiseksi kannettavaan tietokoneeseen käytetään USB-sarjamuunninta tai erityisesti suunniteltua tutkimuskorttia. Liitä vain XBee-moduuli Explorer-korttiin ja liitä se kannettavaan tietokoneeseen USB-kaapelilla.
Jos sinulla ei ole muunninta tai tutkimuskorttia, Arduino-korttia voidaan käyttää USB-sarjalaitteena, joka voi helposti olla yhteydessä XBeeen ja kannettavaan tietokoneeseen. Lataa vain tyhjä luonnos Arduino-levylle ja nyt se voi toimia kuin USB-sarjamuunnin.
XBee-moduulien määrittäminen:
Tässä opetusohjelmassa Explorer-korttia käytetään XBee-moduulien määrittämiseen.
Lataa XCTU-ohjelmisto tältä linkiltä ja asenna se. Kun olet ladannut ja asentanut XCTU-ohjelmiston, avaa se ja varmista, että XBee-moduuli on liitetty oikein. Tarkista Arduino-kortin COM-portti laitehallinnassa.
1. Napsauta nyt hakupainiketta. Tämä näyttää kaikki kannettavaan tietokoneeseen liitetyt RF-laitteet. Meidän tapauksessamme se näyttää vain yhden XBee-moduulin.
2. Valitse Explorer- / Arduino-kortin sarjaportti ja napsauta Seuraava.
3. Aseta seuraavassa ikkunassa USB-portin parametrit alla olevan kuvan mukaisesti ja napsauta Valmis.
4. Valitse löydetty laite ja napsauta Lisää valittu laite . Tämä prosessi lisää XBee-moduulin XCTU-hallintapaneeliin.
5. Nyt voit määrittää XBee-moduulin tässä ikkunassa. Voit käyttää joko AT-komentoja tai laittaa tiedot manuaalisesti. Kuten näette, vasemmassa paneelissa näkyy R, mikä tarkoittaa, että XBee on reitittintilassa. Meidän on tehtävä siitä lähetinosan koordinaattori.
Päivitä ensin laiteohjelmisto napsauttamalla Päivitä laiteohjelmisto.
6. Valitse laitteesi tuoteperhe, joka on saatavana XBee-moduulin takana. Valitse toimintosarja ja laiteohjelmistoversio alla korostetulla tavalla ja napsauta Päivitä.
7. Nyt sinun on annettava ID-, MY- ja DL-tiedot yhteyden muodostamiseksi muihin XBee-tietokoneisiin. Tunnus pysyy samana molemmissa moduuleissa. Ainoastaan MY- ja DL-tiedonsiirto eli MY vastaanottimelle XBee tulee lähettimen XBee (koordinaattori) DL: ksi ja vastaanottimen XBee DL: stä lähetin XBee: n MY: ksi. Tee CE koordinaattoriksi ja paina sitten Kirjoita- painiketta. Kuten alla.
ATDL |
MINUN |
||
XBee 1 -koordinaattori |
|||
XBee 2 -laite |
8. Kun olet kirjoittanut yllä olevat tiedot lähetinosaan, kytke se tutkimusmatkakortista ja kytke sen toinen XBee-moduuli. Toista sama prosessi kuin yllä, vain muutokset ovat DL, MY ja CE. Kun teemme toisen XBee-laitteen lopetuslaitteena, valitse sitten CE-pudotusvalikosta Lopeta laite ja paina Kirjoita-painiketta.
9. Nyt XBee-moduulimme ovat valmiita toimimaan Raspberry Pi: n kanssa. Me yhdistää lähettimen XBee kannettavaan ja vastaanottimen XBee kanssa Raspberry Pi. Anna sitten komennot vastaanotinosalle kannettavan tietokoneen avulla. kannettava tietokone.
Vastaanottimen osan piirikaavio
Liitännät ZigBee-moduulin ja Raspberry PI: n liittämiseksi on esitetty piirikaaviossa.
Liitännät:
- XBee: n Tx (pin2) -> Vadelman Pi: n pinx
- Rx (pin3) of XBee -> Rx of pin Raspberry Pi
- Gnd (pin10) XBee: stä -> Pin Raspberry Pi: n GND
- XBee: n Vcc (Pin1) -> 3,3 V pinni Raspberry Pi: stä
- Led on kytketty GPIO 23: een
Määritä Raspberry Pi sarjayhteydelle
Nyt asetamme Raspberry Pi -sarjan viestintää varten. Oletusarvon mukaan Pi-laitteiston sarjaportti on pois käytöstä. Joten meidän on otettava se käyttöön ennen yhteyden aloittamista.
1. Suorita päätelaitteessa komento raspi-config .
2. Siirry kohtaan 5 Interfacing options ja paina Enter. Nyt valitse P6 Serial vaihtoehto ja ota se käyttöön ja tallenna.
Poistu päätteestä ja olet valmis muodostamaan yhteyden Raspberry Pi: n ja XBee: n välille. GPIO14 ja 15 toimivat vastaavasti Tx: nä ja Rx: nä, ja nämä ovat saatavilla vadelma pi: n / dev / ttyS0 -portista.
Kirjoitamme nyt python-komentosarjan LED-valoon aina, kun vastaanotamme 'a' lähettimen puolelta XBee.
Raspberry Pi -ohjelmointi XBee-viestintää varten
Lopussa on annettu täydellinen python-ohjelma XBeen ja Raspberry Pi: n liittämiseksi toisiinsa.
Ensinnäkin meidän on tuotava aika-, sarja- ja RPi.GPIO-kirjastot tuontitoiminnon avulla.
tuonti aika tuonti sarjatuonti RPi.GPIO GPIO: na …
Kirjoita nyt sarjaliitännän ominaisuudet, määritä portti, baudinopeus ja pariteetit kuten alla.
ser = sarja.Sarja ( portti = '/ dev / ttyS0', baudinopeus = 9600, pariteetti = sarja.PARITY_NONE, pysäytysbitit = sarja.STOPBITS_ONE, tavu = sarja.EIGHTBITS, aikakatkaisu = 1 )
Kirjoita kaikki lähetys- ja vastaanotuselementit while- silmukkaan.
kun taas 1:
Voit käyttää ser.write- toimintoa lähettääksesi viestit lähettimen puolelle. Kommentoi alla olevia rivejä lähettääksesi laskutoimituksia.
# ser.write (str.encode ('Kirjoita laskuri:% d \ n'% (laskuri))) # time.sleep (1) #counter + = 1
Viestien vastaanottamiseksi meidän on käytettävä ser.readline () -toimintoa. Tallenna saapuva viesti muuttujaan ja tarkista kunto. Jos saapuva viesti on 'a', kytke LED päälle 3 sekunniksi ja sammuta sitten LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Täydellinen Python-koodi ja esittelyvideo annetaan opetusohjelman lopussa. Liitä koodi mihin tahansa Pi-tekstieditoriin ja tallenna se. Suorita komentosarja terminaalissa käyttämällä sudo python script_name.py TAI voit käyttää Python IDE ja Shell komentosarjan suorittamiseen.
Langattoman XBee-tiedonsiirron testaus Raspberry Pi: llä
Nyt olemme kaikki asettaneet testaamaan XBee-lähetintä ja -vastaanotinta. Komennon antamiseksi lähetinosalle käytämme XCTU: n konsolipäätettä. Napsauta konsolikuvaketta lähellä asetusvaihtoehtoa. Napsauta sitten Avaa-painiketta kytkeäksesi XBee: n kannettavaan tietokoneeseen.
Kirjoita konsolin lokiin a. Näet, että LED syttyy 3 sekunniksi ja sammuu sitten.
Tällä tavalla voit myös liittää lähettimen XBee Arduino-korttiin edellisessä opetusohjelmassa kuvatulla tavalla ja saada Raspberry Pi ja Arduino kommunikoimaan keskenään.