Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Sist gang brukte jeg ESP32 til å lage en værutsendingsstasjon, som kan kringkaste gjeldende vær. Hvis du er interessert, kan du sjekke den forrige instruerbare. Nå vil jeg lage en oppgradert versjon, at jeg vil utpeke en by for å sjekke været i denne byen. Ikke bare spiller det været i en by, det spør og sender også været i andre byer i henhold til mine kommandoer.
Rekvisita
Maskinvare:
- Raspberry Pi 3B+ (med SD -kort)
- Hat for interaksjon med tale
- Modul for bevegelsessensor
- Micro USB -kabel
- Dupont Line
Trinn 1: Slik gjør du
- Vi planlegger å implementere disse funksjonene med Raspberry Pi. Men Raspberry Pi har ikke en mikrofon for å motta stemme, og det er ingen enhet for å spille av lyd hvis høyttaleren ikke er plugget inn. Vi lagde et utvidelseskort for Raspberry Pi med to mikrofoner inngang og høyttalerutgang, slik at Raspberry Pi kan innse funksjonen til taleinngang, og spille av lyd uten å koble til høyttaleren.
- Vi trenger tre APIer, som er tale-til-tekst, vær og tekst-til-tale. Spill deretter lyden.
Tale-til-tekst:
Vær: https://rapidapi.com/community/api/open-weather-map/endpoints Tekst-til-tale:
I tillegg skal vi koble til en sensor for å gjenkjenne at RasPi begynner å fungere når noen nærmer seg
Trinn 2: Tilkobling
Voice Interaction Hat er et Raspberry Pi -utvidelseskort. Bare sett inn Raspberry Pi i henhold til pinnene. Vi må også lodde flere DuPont -ledninger for å koble sensorene. Stiftforbindelsene er som følger:
Voice Interaction Hat ------ PIR
5V ------ VCC GND ------ GND GPIO27 ------ OUT
Trinn 3: Installer driveren til ekspansjonskortet
- Siden ekspansjonskortet er designet med referanse til produktet av sawed, kan vi bruke driveren til sawed til å kjøre det til jobb.
- Skriv inn følgende kommando i Raspberry Pi -terminalvinduet for å installere driveren:
git-klon
cd seeed-voicecard sudo./install.sh sudo reboot
Detaljert bruksopplæring kan gå til siden (https://www.makerfabs.com/wiki/index.php?title=Voice_Interaction_Hat) for å se
Trinn 4: Kode
- Github:
- Etter at du har fått koden, må du erstatte API -NØKKELEN med din i asr.py, weather.py og tts.py.
r = request.post ('https://speech.googleapis.com/v1/speech:recognize?key='+api_key, data = data, headers = headers) headers = {' x-rapidapi-host ': "community-open-weather-map.p.rapidapi.com ", 'x-rapidapi-key':" ********************************** ***** "} r = requests.post ('https://texttospeech.googleapis.com/v1/text:synthesize?key='+api_key, data = data, headers = headers)
Fyll ut navnet på stedet i weather.py, og det vil bli gjenkjent fra denne adresselisten. Selvfølgelig kan du fylle ut navnene på byer over hele landet og til og med verden hvis vær -API -et kan gjenkjenne dem
address = ['Beijing', 'London']
Hvis du ikke bruker høyttalerne på utvidelseskortet, men bruker dine egne høyttalere, må du erstatte "hw: 0, 0" i følgende kode med "hw: 1, 0" i test1.py
os.system ("aplay -Dhw: 1, 0 output1.wav")
Kopier alle filene i Raspi-Voice-Interaction-Hat/ weather_workSpace/ til en arbeidskatalog for Raspberry Pi
Trinn 5: Lag en emballasje
For å se vakrere ut, pakket vi den i en eske. Klipp riktig for å avsløre høyttaleren og mikrofonen, og bruk fargede penner til å male på papirkassen for å dekorere den.
Trinn 6: Hvordan bruke
Bruk USB -kabelen til å drive Raspberry Pi, kontroller Raspberry Pi for å kjøre test1.py og utløse sensoren. Etter at den har sendt en lyd, begynner vi å snakke om et sted og deretter vente på at det sender været. En værassistent er fullført.