Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Zadnji put sam koristio ESP32 za izradu postaje za vremensku prognozu koja može emitirati trenutno vrijeme. Ako ste zainteresirani, možete provjeriti prethodne upute. Sada želim napraviti nadograđenu verziju, da ću odrediti grad za provjeru vremena u ovom gradu. Ne samo da reproducira vrijeme u jednom gradu, nego također postavlja upite i emitira vrijeme u drugim gradovima prema mojim naredbama.
Pribor
Hardver:
- Raspberry Pi 3B+ (sa SD karticom)
- Šešir glasovne interakcije
- PIR modul senzora pokreta
- Mikro USB kabel
- Dupont linija
Korak 1: Kako to učiniti
- Ove funkcije planiramo implementirati s Raspberry Pi. Ali Raspberry Pi nema mikrofon za primanje glasa, a nema ni uređaja za reprodukciju zvuka ako zvučnik nije priključen. Napravili smo ploču za proširenje za Raspberry Pi s dva ulaza za mikrofon i izlazom zvučnika, tako da Raspberry Pi može realizirati funkciju glasovnog unosa i reproducirati zvuk bez povezivanja sa zvučnikom.
- Potrebna su nam tri API-ja, govor u tekst, vremenska prognoza i tekst u govor. Zatim pustite zvuk.
Govor u tekst:
Vrijeme: https://rapidapi.com/community/api/open-weather-map/endpoints Pretvaranje teksta u govor:
Osim toga, povezat ćemo senzor kako bismo prepoznali da RasPi počinje raditi kada se netko približi
Korak 2: Povezivanje
Glasovna interakcijska kapa je Raspberry Pi ploča za proširenje. Samo umetnite Raspberry Pi prema iglama. Također moramo lemiti nekoliko DuPont žica za povezivanje senzora. Pin spojevi su sljedeći:
Šešir glasovne interakcije ------ PIR
5V ------ VCC GND ------ GND GPIO27 ------ IZLAZ
Korak 3: Instalirajte upravljački program ploče za proširenje
- Budući da je ploča za proširenje dizajnirana s obzirom na proizvod seeed, možemo ga upotrijebiti upravljačkim programom seeed da bismo ga doveli do posla.
- Unesite sljedeću naredbu u prozor terminala Raspberry Pi da biste instalirali upravljački program:
git clone
cd seeed-voicecard sudo./install.sh sudo ponovno podizanje sustava
Detaljni vodič o korištenju možete otići na stranicu (https://www.makerfabs.com/wiki/index.php?title=Voice_Interaction_Hat) za pregled
Korak 4: Kodirajte
- Github:
- Nakon što ste dobili kôd, morate zamijeniti API KLJUČNI svojim u asr.py, weather.py i tts.py.
r = zahtjevi.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, zaglavlja = zaglavlja)
Ispunite naziv mjesta u weather.py i to će se prepoznati s ovog popisa adresa. Naravno, možete unijeti imena gradova širom zemlje, pa čak i svijeta ako ih vremenski API može prepoznati
adresa = ['Peking', 'London']
Ako ne koristite zvučnike na ploči za proširenje, već koristite svoje zvučnike, trebate zamijeniti "hw: 0, 0" u sljedećem kodu s "hw: 1, 0" u test1.py
os.system ("aplay -Dhw: 1, 0 output1.wav")
Kopirajte sve datoteke u Raspi-Voice-Interaction-Hat/ weather_workSpace/ u radni direktorij Raspberry Pi
Korak 5: Napravite kutiju za pakiranje
Kako bismo izgledali ljepše, zapakirali smo ga u karton. Izrežite na odgovarajući način kako biste izložili zvučnik i mikrofon te upotrijebite olovke u boji za bojanje na kutiji papira kako biste je ukrasili.
Korak 6: Kako se koristi
Koristite USB kabel za napajanje Raspberry Pi, kontrolirajte Raspberry Pi za pokretanje test1.py i aktivirajte senzor. Nakon što emitira zvuk, počinjemo razgovarati o mjestu, a zatim čekamo da emitira vrijeme. Pomoćnik za vremenske uvjete je dovršen.