Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Ultima dată am folosit ESP32 pentru a crea un post de difuzare a vremii, care poate transmite vremea curentă. Dacă sunteți interesat, puteți verifica instrucțiunile anterioare. Acum vreau să fac o versiune actualizată, că voi desemna un oraș pentru a verifica vremea din acest oraș. Nu numai că joacă vremea într-un oraș, ci și interogează și transmite vremea în alte orașe conform comenzilor mele.
Provizii
Hardware:
- Raspberry Pi 3B + (cu card SD)
- Pălărie de interacțiune vocală
- Modul senzor de mișcare PIR
- Cablu micro USB
- Linia Dupont
Pasul 1: Cum se face
- Planificăm să implementăm aceste funcții cu Raspberry Pi. Dar Raspberry Pi nu are un microfon pentru a primi voce și nu există niciun dispozitiv pentru redarea sunetului dacă difuzorul nu este conectat. Am creat o placă de expansiune pentru Raspberry Pi cu două microfoane de intrare și ieșire difuzor, astfel încât Raspberry Pi poate realiza funcția de intrare vocală și poate reda audio fără a se conecta la difuzor.
- Avem nevoie de trei API, care sunt vorbire-text, vreme și text-vorbire. Apoi redați sunetul.
Discurs către text:
Vremea: https://rapidapi.com/community/api/open-weather-map/endpoints Text-to-speech:
În plus, vom conecta un senzor pentru a recunoaște că RasPi începe să funcționeze atunci când cineva se apropie
Pasul 2: Conexiune
Voice Interaction Hat este o placă de expansiune Raspberry Pi. Doar introduceți Raspberry Pi în conformitate cu știfturile. De asemenea, trebuie să lipim mai multe fire DuPont pentru a conecta senzorii. Conexiunile pin sunt următoarele:
Pălărie de interacțiune vocală ------ PIR
5V ------ VCC GND ------ GND GPIO27 ------ OUT
Pasul 3: Instalați driverul plăcii de expansiune
- Deoarece placa de expansiune este proiectată cu referire la produsul sawed, putem folosi driverul sawed pentru al conduce la funcționare.
- Introduceți următoarea comandă în fereastra terminalului Raspberry Pi pentru a instala driverul:
git clone
cd seeed-voicecard sudo./install.sh sudo reboot
Tutorialul de utilizare detaliat poate merge la pagina (https://www.makerfabs.com/wiki/index.php?title=Voice_Interaction_Hat) pentru a vizualiza
Pasul 4: Cod
- Github:
- După obținerea codului, trebuie să înlocuiți TASA API cu a dvs. în asr.py, weather.py și 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)
Completați numele locului în weather.py și va fi recunoscut din această listă de adrese. Desigur, puteți completa numele orașelor din țară și chiar din lume, dacă API-ul meteo le poate recunoaște
address = ['Beijing', 'Londra']
Dacă nu utilizați difuzoarele plăcii de expansiune, dar utilizați propriile dvs. difuzoare, trebuie să înlocuiți „hw: 0, 0” din următorul cod cu „hw: 1, 0” în test1.py
os.system ("aplay -Dhw: 1, 0 output1.wav")
Copiați toate fișierele din Raspi-Voice-Interaction-Hat / weather_workSpace / într-un director de lucru al Raspberry Pi
Pasul 5: Faceți o cutie de ambalare
Pentru a arăta mai frumos, l-am ambalat într-o cutie. Tăiați corespunzător pentru a expune difuzorul și microfonul și folosiți pixuri colorate pentru a vopsi pe cutia de hârtie pentru a le decora.
Pasul 6: Cum se utilizează
Utilizați cablul USB pentru a alimenta Raspberry Pi, controlați Raspberry Pi pentru a rula test1.py și declanșați senzorul. După ce transmite un sunet, începem să vorbim despre un loc și apoi așteptăm ca acesta să transmită vremea. Un asistent meteo este complet.