- Vaadittavien pakettien asentaminen Bluetooth-viestintää varten:
- Laitteiden pariliitos Vadelma Pi: n kanssa Bluetoothin kautta:
- Piirikaavio:
- LEDien hallinta Android App BlueTerm -sovelluksella:
- Ohjelmoinnin selitys:
Raspberry Pi on erittäin suosittu IoT-hankkeissa, koska sen langaton tiedonsiirto Internetin kautta on saumatonta. Raspberry Pi 3: ssa on sisäänrakennettu Wi-Fi ja Bluetooth, ja Bluetooth on erittäin suosittu langattoman viestinnän protokolla. Joten tänään aiomme hallita Raspberry Pi GPIO Pin -sovellusta Android-sovelluksen kautta Bluetoothin kautta.
Tässä käytämme Raspberry 2 Pi -mallia B, jolla ei ole sisäänrakennettua Bluetoothia, joten käytämme yksinkertaista USB-Bluetooth-sovitinta. Sen lisäksi tarvitsemme vain vastuksen (220R) ja LEDin GPIO-ohjauksen osoittamiseksi. Tässä käytämme RFCOMM Bluetooth -protokollaa langattomaan viestintään.
Pythonin Bluetooth- ohjelmointi seuraa pistorasian ohjelmointimallia ja Bluetooth-laitteiden välinen viestintä tapahtuu RFCOMM-liitännän kautta. RFCOMM (radiotaajuusviestintä) on Bluetooth-protokolla, joka tarjosi emuloituja RS-232-sarjaportteja ja jota kutsutaan myös sarjaporttimulaationa. Bluetooth-sarjaporttiprofiili perustuu tähän protokollaan. RFCOMM on erittäin suosittu Bluetooth-sovelluksissa, koska sillä on laaja tuki ja julkisesti saatavilla oleva sovellusliittymä. Se on sidottu L2CAP-protokollaan.
Olemme myös käyttäneet Bluetooth-moduulia HC-06 edellisessä projektissamme: Ääniohjatut LEDit Raspberry Pi -tekniikalla. Tarkista myös edelliset Vadelma Pi -projektimme ja hyvät IoT-projektit.
Vaadittavien pakettien asentaminen Bluetooth-viestintää varten:
Ennen aloittamista meidän on asennettava joitain ohjelmistoja Bluetooth-yhteyden luomiseksi Raspberry Pi -palveluun. Sinulla on oltava asennettuna Raspbian Jessie -muistikortti, jossa on Raspberry Pi. Tarkista tämä artikkeli, jos haluat asentaa Raspbian-käyttöjärjestelmän ja aloittaa Raspberry Pi -ohjelman käytön. Joten nyt meidän on ensin päivitettävä Raspbian käyttämällä alla olevia komentoja:
sudo apt-get päivitys sudo apt-get päivitys
Sitten meidän on asennettava muutama Bluetooth-paketti:
sudo apt-get install bluetooth blueman bluez
Käynnistä sitten Raspberry Pi uudelleen:
sudo uudelleenkäynnistä
BlueZ on avoimen lähdekoodin projekti ja virallinen Linux-Bluetooth-protokollapino. Se tukee kaikkia keskeisiä Bluetooth-protokollia ja on nyt osa virallista Linux-ydintä.
Blueman tarjoaa työpöydän käyttöliittymän Bluetooth-laitteiden hallintaan ja hallintaan.
Lopuksi tarvitsemme python-kirjaston Bluetooth-viestintään, jotta voimme lähettää ja vastaanottaa tietoja RFCOMM: n kautta Python-kieltä käyttäen:
sudo apt-get asenna python-bluetooth
Asenna myös Raspberry Pi: n GPIO-tukikirjastot:
sudo apt-get install python-rpi.gpio
Nyt olemme asentaneet tarvittavat paketit Bluetooth-viestintään Raspberry Pi: ssä.
Laitteiden pariliitos Vadelma Pi: n kanssa Bluetoothin kautta:
Bluetooth-laitteiden, kuten matkapuhelimen, yhdistäminen Raspberry Pi: n kanssa on erittäin helppoa. Tässä olemme yhdistäneet Android-älypuhelimemme Raspberry Pi: n kanssa. Olemme aiemmin asentaneet BlueZin Piin, joka tarjoaa komentorivin apuohjelman nimeltä bluetoothctl Bluetooth-laitteidemme hallintaan. Mutta ennen sitä, liitä USB Bluetooth-sovitin Raspberry Pi: hen ja tarkista alla olevan komennon avulla, onko se havaittu vai ei.
lsusb
Avaa nyt bluetoothctl- apuohjelma alla olevalla komennolla:
sudo bluetoothctl
Voit tarkistaa kaikki bluetoothctl- apuohjelman komennot kirjoittamalla 'help' . Nyt meidän on annettava alla olevat komennot määrätyssä järjestyksessä:
# virta päällä # agentti päällä # löydettävissä # yhdistettävissä # skannaus päällä
Viimeisen "scan on" -komennon jälkeen näet Bluetooth-laitteesi (matkapuhelin) luettelossa. Varmista, että matkapuhelimessasi on Bluetooth päällä ja lähellä olevat laitteet näkevät sen. Kopioi sitten laitteesi MAC-osoite ja pariliitä se käyttämällä annettua komentoa:
pari
Sitten sinua pyydetään antamaan pääsykoodi tai PIN-koodi päätelaitteessa, kirjoita salasana sinne ja paina Enter. Kirjoita sitten sama salasana matkapuhelimeesi pyydettäessä ja pariliitos Raspberry Pi: n kanssa on nyt onnistunut. Olemme myös selittäneet koko tämän prosessin videomme lopussa.
Kuten aiemmin kerrottiin, voit käyttää matkapuhelimen pariliitosta myös työpöydän käyttöliittymän avulla. Kun olet asentanut Blueman, näet Bluetooth-kuvakkeen Raspberry Pi -työpöydän oikealla puolella alla olevan kuvan mukaisesti, jonka avulla voit tehdä pariliitoksen helposti.
Piirikaavio:
Kytkentäkaavio on hyvin yksinkertainen, olemme vain liittäneet LED: n Vadelma Pi: n PIN 40: ään (GPIO 21) 220 ohmin vastuksella:
LEDien hallinta Android App BlueTerm -sovelluksella:
Nyt matkapuhelimen jäsentämisen jälkeen meidän on asennettava Android-sovellus kommunikointiin Raspberry Pi: n kanssa Bluetooth-sarjaadapterin avulla. Kuten aiemmin kerrottiin, RFCOMM / SPP-protokolla emuloi sarjaliikennettä Bluetoothin kautta, joten asensimme tähän BlueTerm-sovelluksen, joka tukee tätä protokollaa.
Voit käyttää myös mitä tahansa muuta Bluetooth-päätelaitesovellusta, joka tukee viestintää RFCOMM-liitännän kautta.
Kun olet ladannut ja asentanut BlueTerm-sovelluksen, suorita alla oleva Python-ohjelma päätelaitteesta ja yhdistä pariliitetty vadelma- laite samanaikaisesti BlueTerm-sovelluksesta.
Kun yhteys on muodostettu onnistuneesti, näet yhdistetyn: vadelman sovelluksen oikeassa yläkulmassa alla olevan kuvan mukaisesti:
Nyt voit kirjoittaa vain 1 tai 0 BlueTerm-sovelluksesta, jotta GPIO-tappi olisi HIGH ja LOW, mikä vuorostaan kytkee tähän tapiin kytketyn LEDin päälle ja pois päältä. Poistu ohjelmasta painamalla 'q'. Voit käyttää GPIO: ta Google Voice -tyyppinäppäimistöllä äänesi avulla. Tarkista koko demo lopussa olevasta videosta.
Joten näin voit hallita GPIO Pin -ohjelmaa langattomasti Android-sovelluksella Bluetoothin kautta. Tarkista myös Kuinka käyttää Bluetoothia Arduinon kanssa.
Ohjelmoinnin selitys:
Python-ohjelma Raspberry Pi GPIO: n hallitsemiseksi Android-sovelluksella on hyvin yksinkertainen ja itsestään selvä. Vain meidän on opittava vähän Bluetooth RFCOMM -viestintään liittyvästä koodista. Ensin on tuotava Bluetooth-liitäntäkirjasto, jonka avulla voimme hallita Bluetoothia Python-kielellä; olemme asentaneet samalle kirjaston edellisessä osassa.
tuo Bluetooth
Alla on koodi, joka vastaa Bluetooth-viestinnästä:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) -portti = 1 server_socket.bind (("", portti)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Hyväksytty yhteys mistä", osoite kun taas 1: data = client_socket.recv (1024)
Täällä voimme ymmärtää ne rivi riviltä:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Luodaan liitäntä Bluetooth RFCOMM -yhteydelle.
server_socket.bind (("", portti): - Palvelin sitoo isännän '' komentosarjan porttiin.
server_socket.listen (1) : Palvelin kuuntelee hyväksyvänsä yhden yhteyden kerrallaan.
client_socket, address = server_socket.accept () : Palvelin hyväksyy asiakkaan yhteyspyynnön ja määrittää mac-osoitteen muuttujan osoitteeseen, client_socket on asiakkaan pistorasia
data = client_socket.recv (1024): Vastaanota dataa asiakkaan pistorasia client_socket ja määritä se muuttujan tiedot . Kerralla voidaan vastaanottaa enintään 1024 merkkiä.
Lopuksi ohjelmoinnin jälkeen sulje asiakas- ja palvelinyhteys alla olevalla koodilla:
client_socket.close () server_socket.close ()
Kaikki muut koodit ovat helppoja ja itsestään selviä. Tarkista koko koodi alla. Yritä muokata tätä projektia ja voit käyttää sitä hallita monia muita asioita langattomasti, kuten releiden avulla voit hallita kodinkoneita tai ohjata myös robotti-autoa Android-puhelimen kautta.