Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Zadnjič sem z ESP32 naredil postajo za vremensko oddajanje, ki lahko oddaja trenutno vreme. Če vas zanima, lahko preverite prejšnje navodilo. Zdaj želim narediti nadgrajeno različico, da bom določil mesto za preverjanje vremena v tem mestu. Ne samo, da predvaja vreme v enem mestu, ampak poizveduje in oddaja vreme v drugih mestih v skladu z mojimi ukazi.
Zaloge
Strojna oprema:
- Raspberry Pi 3B+ (s kartico SD)
- Klobuk za glasovno interakcijo
- Modul senzorja gibanja PIR
- Kabel mikro USB
- Linija Dupont
1. korak: Kako to storiti
- Te funkcije načrtujemo z Raspberry Pi. Toda Raspberry Pi nima mikrofona za sprejem glasu in ni naprave za predvajanje zvoka, če zvočnik ni priključen. Za Raspberry Pi smo naredili razširitveno ploščo z dvema vhodoma za mikrofon in zvočnikom, tako da je Raspberry Pi lahko uresniči funkcijo glasovnega vnosa in predvaja zvok brez povezave z zvočnikom.
- Potrebujemo tri API-je, ki so govor v besedilo, vreme in besedilo v govor. Nato predvajajte zvok.
Govor v besedilo:
Vreme: https://rapidapi.com/community/api/open-weather-map/endpoints Pretvorba besedila v govor:Poleg tega bomo povezali senzor, ki bo ugotovil, da RasPi začne delovati, ko se nekdo približa
2. korak: Povezava
Klobuk za glasovno interakcijo je razširitvena plošča Raspberry Pi. Samo vstavite Raspberry Pi glede na zatiče. Za povezavo senzorjev moramo spajkati tudi več žic DuPont. Pin -povezave so naslednje:
Klobuk za glasovno interakcijo ------ PIR
5V ------ VCC GND ------ GND GPIO27 ------ OUT
3. korak: Namestite gonilnik razširitvene plošče
- Ker je razširitvena plošča zasnovana glede na produkt seeed, ga lahko z gonilnikom seeed pripeljemo na delo.
- Za namestitev gonilnika v terminalsko okno Raspberry Pi vnesite naslednji ukaz:
git clone
cd seeed-voicecard sudo./install.sh sudo ponovni zagon
Podrobna navodila za uporabo si lahko ogledate na strani (https://www.makerfabs.com/wiki/index.php?title=Voice_Interaction_Hat)
4. korak: Koda
- Github:
- Ko dobite kodo, morate KEY API -ja zamenjati s svojim v asr.py, weather.py in tts.py.
r = requests.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)
V polje weather.py vnesite ime kraja in to bo prepoznano s tega seznama naslovov. Seveda lahko vnesete imena mest po vsej državi in celo po svetu, če jih vremenski API prepozna
naslov = ['Peking', 'London']
Če ne uporabljate zvočnikov razširitvene plošče, ampak uporabljate svoje zvočnike, morate v naslednji kodi zamenjati »hw: 0, 0« z »hw: 1, 0« v test1.py
os.system ("aplay -Dhw: 1, 0 output1.wav")
Kopirajte vse datoteke v Raspi-Voice-Interaction-Hat/ weather_workSpace/ v delovni imenik Raspberry Pi
5. korak: Naredite embalažno škatlo
Da bi bil lepši, smo ga zapakirali v škatlo. Izrežite ustrezno, da izpostavite zvočnik in mikrofon, z barvnimi svinčniki pa pobarvajte na papirnato škatlo, da jo okrasite.
6. korak: Kako uporabljati
Uporabite kabel USB za napajanje Raspberry Pi, nadzirajte Raspberry Pi za zagon test1.py in sprožite senzor. Ko oddaja zvok, se začnemo pogovarjati o kraju in nato počakamo, da odda vreme. Vremenski pomočnik je dokončan.