- Vaadittavien pakettien asentaminen Bluetooth-viestintää varten:
- Laitteiden pariliitos Vadelma Pi: n kanssa Bluetoothin kautta:
- Piirikaavio:
- Verkkolaitteen 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 ohjata kodinkoneita älypuhelimen kautta käyttämällä Raspberry Pi 3: ta ja Bluetoothia.
Tässä käytämme Raspberry Pi 3: ta, joka on sisäänrakennettu Bluetooth, joten meidän ei tarvitse käyttää ulkoista USB-Bluetooth-sovitinta. Sen lisäksi tarvitsemme vain relemoduuleja tähän langattomaan kotiautomaatioprojektiin. 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.
Jos sinulla on Raspberry Pi 2, sinun on joko käytettävä ulkoista Bluetooth-sovitinta tai Bluetooth-moduulia HC-06. Tarkista aikaisemmat projektimme näiden ulkoisten Bluetooth-laitteiden käytöstä: Raspberry Pi GPIO: n hallinta Android-sovelluksella Bluetoothin kautta ja ääniohjatut LED-valot Raspberry Pi: n avulla. 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.
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 edellisessä GPIO-ohjausoppaassa annetussa videossa. Tässä on suora YouTube-linkki.
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 tälle Raspberry Pi -pohjaiselle Bluetooth-ohjatulle kotiautomaatiolle on hyvin yksinkertainen, olemme vain liittäneet relemoduulin tulosignaalin Pin Raspberry Pi: n PIN 40: een (GPIO 21) ja muut kaksi nastaa (relemoduulin Vcc ja GND) liittimiin 2 ja 6 Raspberry Pi 3: sta. Sitten olemme kytkeneet AC CFL -polttimon releeseen piirikaavion mukaisesti:
Jos olet uusi Relay-käyttäjä ja haluat oppia lisää Relaystä ja sen yhteyksistä verkkolaitteeseen, tarkista tämä artikkeli.
Verkkolaitteen hallinta Android App BlueTerm -sovelluksella:
Matkapuhelimen jäsentämisen jälkeen meidän on asennettava Android-sovellus Raspberry Pi: n kanssa tapahtuvaan viestintään Bluetooth-sarjasovittimen avulla, jotta voimme hallita Raspberry Pi: n GPIO-nastoja. 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, jolloin GPIO-nasta on HIGH ja LOW, mikä vuorostaan laukaisee tähän tapiin kytketyn relemoduulin, joka ohjaa edelleen releeseen kytkettyä AC-lamppua. 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 verkkolaitetta 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, robotti-autoa Android-puhelimen kautta tai käyttää ääntäsi valojen ohjaamiseen.
Tarkista myös monentyyppiset kodiautomaatioprojektimme erilaisilla tekniikoilla ja mikro-ohjaimilla, kuten: