- Gebruikte componenten:
- Hoe de Bluetooth-module te bedienen:
- Werkende uitleg:
- Circuit uitleg:
- Raspberry Pi-configuratie en Python-programma:
Vandaag bouwen we aan een zeer nuttig project waarin we de LED-verlichting kunnen bedienen met onze stem via Smart Phone. In dit project sturen we spraakopdrachten van Smart Phone naar Raspberry Pi met behulp van Bluetooth-module en Raspberry Pi ontvangt dat verzonden signaal draadloos en voert de betreffende taak uit via de hardware. We kunnen de leds vervangen door de AC-huishoudelijke apparaten met behulp van relais en kunnen een spraakgestuurd huisautomatiseringsproject bouwen.
Gebruikte componenten:
- Raspberry Pi 3 (elk model zal werken)
- Bluetooth-module HC-06
- Broodplank
- 100 Ohm Weerstanden (3)
- LED's (blauw, rood, groen)
- Verbindingsdraad
- Stroomvoorziening
- ethernetkabel
- Android telefoon
Bluetooth-module:
Bluetooth-module bestaat uit twee dingen: een Bluetooth seriële interfacemodule en een Bluetooth-adapter. Bluetooth seriële module wordt gebruikt voor het converteren van seriële poort naar Bluetooth.
Hoe de Bluetooth-module te bedienen:
U kunt de Bluetooth-module direct gebruiken na aankoop op de markt, omdat het niet nodig is om een instelling van de Bluetooth-module te wijzigen. De standaard baudrate van de nieuwe Bluetooth-module is 9600 bps. U hoeft alleen rx en tx aan te sluiten op de controller of seriële converter en 5 volt dc gereguleerde voeding aan de module te geven.
Bluetooth-module heeft twee modi, de ene is de mastermodus en de tweede is de slavemodus. De gebruiker kan beide modi instellen met behulp van enkele AT-opdrachten. Zelfs de gebruiker kan de module-instelling instellen met behulp van het AT-commando. Hier zijn enkele commando's die worden gebruikt:
Allereerst moet de gebruiker de AT-modus openen met een baudrate van 38400 bps door op de EN-knop op de Bluetooth-module te drukken of door het HIGH-niveau op de EN-pin te geven. Let op: alle commando's moeten eindigen op \ r \ n (0x0d en 0x0a) of ENTER TOETS van toetsenbord.
Als u daarna AT naar de module stuurt, zal de module reageren met OK
AT à Test Commando
AT + ROLE = 0 à Slave-modus selecteren
AT + ROLE = 1 à Master Mode selecteren
AT + NAME = xyz à Bluetooth-naam instellen
AT + PSWD = xyz à Wachtwoord instellen
AT + UART =
Bijv. AT + UART = 9600,0,0
Pin Beschrijving van HC-06 Bluetooth-module:
1. STAAT à Open
2. Rx à Seriële ontvangstpin
3. Tx à Seriële zendpen
4. GND à aarde
5. Vcc à + 5volt dc
6. SLEUTEL à om in de AT-modus te komen
Werkende uitleg:
Het werken met dit spraakgestuurde LED-project is heel eenvoudig. In dit project hebben we drie LED's van verschillende kleuren gebruikt (blauw, rood en groen). Een HC-06 Bluetooth-module wordt gebruikt voor het ontvangen van spraakopdrachten in string-indeling. Raspberry Pi ontvangt die inkomende string van de Bluetooth-module en vergelijkt met de vooraf gedefinieerde string en voert de respectieve taak uit.
In dit project hebben we de AMR Voice App in Android Phone (Android Meets Robots: Voice Recognition) gebruikt om de spraakopdrachten aan Raspberry Pi vanaf onze smartphone te leveren.
AMR Voice App installatie en configuratie:
AMR Voice App kan worden gedownload en geïnstalleerd vanuit de Google Play Store. U moet ook de Google Voice-app voor dit project installeren. De AMR Voice-app neemt de stem als invoer en zet deze om in een tekstreeks met behulp van de interne spraakherkenning van Android mobiele telefoons (Google Voice App) en verzendt deze geconverteerde tekst serieel via Bluetooth.
Open nu de AMR-spraakapp, ga naar het optiemenu en verbind deze met de Bluetooth-module door op 'Robot verbinden' te klikken:
Nu kan de gebruiker op het microfoonsymbool op het mobiele scherm tikken en vooraf gedefinieerde spraakopdrachten uitspreken om de LED's te bedienen:
1. "blauw licht aan" (alleen blauwe LED ingeschakeld)
2. "blauw licht uit" (alleen blauwe LED uitgeschakeld)
3. "rood licht aan" (alleen rode LED brandt)
4. "rood licht uit" (alleen rode LED uitgeschakeld)
5. "groen licht aan" (alleen groene LED brandt)
6. "groen licht uit" (alleen groene LED uitgeschakeld)
7. "alle lichten aan" (blauwe, rode en groene LED's aan)
8. "alle lichten uit" (blauwe, rode en groene LED's uitgeschakeld)
9. "knipperen" (alle LED's beginnen te knipperen met een tijdsperiode van 100 milliseconden)
Vervolgens neemt de AMR-spraakapp deze stem op en stuurt deze naar de Google Voice-app om deze om te zetten in de tekststringindeling. Nu wordt deze geconverteerde string via Bluetooth-module naar Raspberry Pi gestuurd en Raspberry Pi leest deze string uit de UART-poort en slaat deze op in een string in de code. En vergelijk het vervolgens met vooraf gedefinieerde strings, als er een overeenkomst optreedt, onderneemt Raspberry Pi een respectieve actie of voert een taak uit.
Circuit uitleg:
Het circuit van dit project is heel eenvoudig, het bevat een Raspberry Pi 3-kaart, LED's en Bluetooth-module (HC-06). Raspberry Pi leest de Bluetooth-module en stuurt de leds dienovereenkomstig aan. LED's Blauw, Rood en Groen zijn aangesloten op GPIO 17, 27 en 22. Rx en Tx van Bluetooth-module zijn rechtstreeks verbonden met Tx- en Rx-pinnen van Raspberry Pi. De overige aansluitingen zijn weergegeven in het schakelschema.
Raspberry Pi-configuratie en Python-programma:
We gebruiken hier Python-taal voor het programma. Voordat de gebruiker kan coderen, moet hij de Raspberry Pi configureren. Je kunt onze eerdere tutorials bekijken voor Aan de slag met Raspberry Pi en Raspbian Jessie OS installeren en configureren in Pi.
Daarna moet je de volgende opdrachten uitvoeren om de laatste updates op Raspbian Jessie uit te voeren:
sudo apt-get update sudo apt-get upgrade
Hierna moeten we de Raspberry Pi GPIO-ontwikkelingstool installeren, deze kan worden geïnstalleerd door de volgende opdrachten te volgen:
sudo apt-get install python-dev sudo apt-get install python-rpi.gpio
Vervolgens moet de gebruiker de seriële poort van de Raspberry Pi configureren. Hier hebben we Raspberry Pi 3 gebruikt voor dit project. De gebruiker moet dus de seriële poort configureren op basis van hun Raspberry Pi-versie. Voor Raspberry Pi 3 moet de eerste gebruiker de console-login uitschakelen via de seriële poort, via RPi Software Configuration Tool. Open het met behulp van onderstaande opdracht:
sudo raspi-config
Ga dan naar 'Advance Options', selecteer 'Serial' en 'Disable'.
Hierna moeten we de ingebouwde Bluetooth van Raspberry Pi 3 uitschakelen door dtoverlay = pi3-miniuart-bt toe te voegen aan het einde van het /boot/config.txt-bestand :
sudo nano /boot/config.txt
Na het toevoegen van de regel start u de Raspberry Pi opnieuw op door de opdracht sudo reboot te geven .
Log ten slotte opnieuw in Raspberry Pi in en configureer het /boot/comline.txt-bestand:
sudo nano /boot/comline.txt
En bewerk het bestand zoals hieronder:
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = ja rootwait
Nu kunt u het onderstaande Python-programma in Raspberry Pi uitvoeren en u bent klaar! Programma is eenvoudig en kan gemakkelijk te begrijpen zijn.
Dus hier hebben we het bouwen van onze spraakgestuurde apparaten met Raspberry Pi voltooid. U kunt het verder verbeteren en aanpassen voor het besturen van AC-huishoudelijke apparaten door relais toe te voegen.