Mündəricat:

DIY Hava köməkçisi: 6 addım
DIY Hava köməkçisi: 6 addım

Video: DIY Hava köməkçisi: 6 addım

Video: DIY Hava köməkçisi: 6 addım
Video: Самоделка покорившая интернет! ЗНАЛ БЫ РАНЬШЕ - СДЕЛАЛ СРАЗУ! 2024, Iyul
Anonim
DIY Hava köməkçisi
DIY Hava köməkçisi

Keçən dəfə ESP32 -dən istifadə edərək indiki havanı yayımlaya biləcək bir hava yayım stansiyası hazırladım. Əgər maraqlanırsınızsa, əvvəlki təlimatı yoxlaya bilərsiniz. İndi təkmilləşdirilmiş bir versiya etmək istəyirəm ki, bu şəhərdəki havanı yoxlamaq üçün bir şəhər təyin edim. Yalnız bir şəhərdəki havanı oynamır, həm də əmrlərimə uyğun olaraq digər şəhərlərin havasını sorğulayır və yayımlayır.

Təchizat

Avadanlıq:

  1. Raspberry Pi 3B+ (SD kartla)
  2. Səsli Şapka
  3. PIR Hərəkət Sensor Modulu
  4. Mikro USB kabeli
  5. Dupont xətti

Addım 1: Necə Yapılır

Necə etməli
Necə etməli
  • Bu funksiyaları Raspberry Pi ilə həyata keçirməyi planlaşdırırıq. Ancaq Raspberry Pi -nin səs qəbul edəcək bir mikrofonu yoxdur və hoparlör takılmadıqda səs çalacaq heç bir cihaz yoxdur. Raspberry Pi üçün iki mikrofon girişi və dinamik çıxışı olan bir genişləndirici lövhə hazırladıq ki, Raspberry Pi, səs daxil etmə funksiyasını həyata keçirə və dinamikə qoşulmadan səs çala bilər.
  • Nitqdən mətnə, hava şəraitindən və mətndən nitqə olan üç API-yə ehtiyacımız var. Sonra səsi səsləndirin.

Nitqdən mətnə:

Hava: https://rapidapi.com/community/api/open-weather-map/endpoints Mətndən Səsə:

Əlavə olaraq, kimsə yaxınlaşanda RasPi -nin işə başladığını tanımaq üçün bir sensor bağlayacağıq

Addım 2: Bağlantı

Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı

Voice Interaction Hat, Raspberry Pi genişləndirmə lövhəsidir. Raspberry Pi -ni pinlərə uyğun olaraq daxil edin. Sensorları birləşdirmək üçün bir neçə DuPont telini lehimləməliyik. Pin əlaqələri aşağıdakı kimidir:

Səs Qarşılıqlı Şapka ------ PIR

5V ------ VCC GND ------ GND GPIO27 ------ ÇIKIŞ

Addım 3: Genişləndirmə lövhəsinin sürücüsünü quraşdırın

  • Genişləndirmə lövhəsi mişarın məhsuluna əsaslanaraq hazırlandığından, onu işə salmaq üçün mişarın sürücüsündən istifadə edə bilərik.
  • Sürücünü quraşdırmaq üçün Raspberry Pi terminal pəncərəsinə aşağıdakı əmri daxil edin:

git klonu

cd seeed-voicecard sudo./install.sh sudo yenidən başladın

Ətraflı istifadə dərsliyi keçirmək üçün səhifəyə (https://www.makerfabs.com/wiki/index.php?title=Voice_Interaction_Hat) gedə bilərsiniz

Addım 4: Kod

  • Github:
  • Kodu əldə etdikdən sonra asr.py, weather.py və tts.py -də API KEY -ini sizinki ilə əvəz etməlisiniz.

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 = request.post ('https://texttospeech.googleapis.com/v1/text:synthesize?key='+api_key, data = data, headers = headers)

Hava.py -də yerin adını daxil edin və bu ünvan siyahısından tanınacaq. Əlbəttə ki, hava API onları tanıya bilərsə, ölkənin və hətta dünyanın bütün şəhərlərinin adlarını doldura bilərsiniz

ünvan = ['Pekin', 'London']

Genişləndirmə lövhəsinin dinamiklərindən istifadə etmirsinizsə, ancaq öz dinamiklərinizdən istifadə edirsinizsə, aşağıdakı koddakı "hw: 0, 0" işarələrini test1.py -də "hw: 1, 0" ilə əvəz etməlisiniz

os.system ("aplay -Dhw: 1, 0 output1.wav")

Raspi-Voice-Interaction-Hat/ weather_workSpace/ -dəki bütün faylları Raspberry Pi-nin işçi qovluğuna kopyalayın

Addım 5: Qablaşdırma qutusu hazırlayın

Qablaşdırma qutusu hazırlayın
Qablaşdırma qutusu hazırlayın

Daha gözəl görünmək üçün bir karton qutuya yığdıq. Dinamik və mikrofonu açmaq üçün uyğun şəkildə kəsin və bəzəmək üçün kağız qutusuna rəngləmək üçün rəngli qələmlərdən istifadə edin.

Addım 6: İstifadə qaydası

Raspberry Pi -ni gücləndirmək üçün USB kabelindən istifadə edin, test1.py -ni işə salmaq üçün Raspberry Pi -ni idarə edin və sensoru işə salın. Bir səs yayıldıqdan sonra bir yer haqqında danışmağa başlayırıq və sonra havanın yayımlanmasını gözləyirik. Hava köməkçisi tamamlandı.

Tövsiyə: