Mündəricat:
- Addım 1: Təklif olunan Oxu
- Addım 2: Materiallar
- Addım 3: Raspberry Pi -ni konfiqurasiya edin
- Addım 4: Qurun! Avadanlıq
- Addım 5: Qurun! Proqram təminatı
- Addım 6: Test edin və quraşdırın
Video: IoT Pet Monitor!: 6 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Sevdiyiniz bbiesə diqqət yetirin və musiqi çalın və ya uzaqda olduğunuz zaman onlara sakit olmağı söyləyin! Bu təlimat ev heyvanınızın əsəbiləşdiyini və nə vaxt narahat olduğunu görmək üçün evinizdəki səsin həcmini (Bulud vasitəsilə) izləmək üçün Raspberry Pi kompüterindən necə istifadə edəcəyinizi göstərəcək.
Baraban rulonu… ən əyləncəli hissə: Çox səslənirsə (məsələn, Fido hürür və ya başqa səs -küy salır), onlara sakit olmalarını və ya musiqi çalmalarını söyləyə bilərik!
Pi (və dinamiklər) ilə yanaşı, səs səviyyələrini ölçmək və səs pleyerini işə salmaq üçün SparkFun MEMS mikrofonu kəsmə lövhəsindən istifadə edəcəyik. Məlumatlar MQTT rabitə protokolu istifadə edərək CloudMQTT xidmətinə yüklənir.
Ümumi Oxuma müddəti: ~ 8 dəq
Ümumi Quruluş müddəti: 60 dəq (daha az təcrübəli)
Bu layihəni dəstəklədiyiniz üçün SparkFun -a çox sağ olun! Dərsliyə buradan baxın.
Addım 1: Təklif olunan Oxu
Bu layihəni qurmaq üçün, Raspbian OS ilə tam konfiqurasiya edilmiş, WiFi ilə əlaqəli Raspberry Pi 3 kompüterinə ehtiyacınız olacaq. Bəzi Python proqramlaşdırma və aşağıdakıları bilmək də faydalıdır: (1) Raspberry Pi GPIO sancaqlarını necə istifadə etmək və idarə etmək; (2) MQTT ünsiyyəti; və (3) analoq sensorlar. Əgər bunlardan hər hansı biri tanış deyilsə və ya sadəcə maraqlanırsınızsa (maraqlanın!), Aşağıdakı dərsliklərə baxın!
Moruq Pi 3
- Raspberry Pi 3 Başlanğıc Kit Bağlama Bələdçisi
- Raspberry Pi GPIO
- Raspberry Pi ilə SPI Əlaqəsi
MQTT Əlaqə Protokolu
MQTT (Message Query Telemetry Transport), məşhur bir IoT ünsiyyət protokoludur. Paho Client Python kitabxanasından və CloudMQTT adlı bir MQTT xidmətindən istifadə edəcəyik. Burada MQTT və ondan istifadə haqqında daha çox məlumat var:
- IoT üçün Rabitə Protokollarını araşdırın
- CloudMQTT ilə işə başlayın
- Eclipse Paho MQTT Python müştəri kitabxanasına ümumi baxış
MEMS Mikrofon Qırılma Kartı
MEMS mikrofonu analoq mikrofondur, buna görə Raspberry Pi rəqəmsal GPIO pinləri ilə analoq siqnalda oxumaq üçün Analogdan Rəqəmə çeviriciyə ("ADC") ehtiyacımız var.
- SparkFun MEMS Mikrofon Qırılma Kartı ilə işə başlayın
- MEMS mikrofon məlumat cədvəli
- MCP3002 ADC məlumat cədvəli
Addım 2: Materiallar
- Raspberry Pi 3 Model B
Aşağıdakı ətraf qurğulara da ehtiyacımız olacaq: Raspberry Pi 3 Case; SD kart (minimum 8 GB); Raspberry Pi 3 GPIO kabeli; MicroUSB elektrik kabeli; HDMI kabeli və HDMI ilə uyğun monitor; USB klaviatura; USB siçan; 1/8 qulaqlıq portu olan dinamiklər.
- SparkFun MEMS Mic Breakout Board
-MCP3002 (Analog-rəqəmsal çevirici)
-Breadboard və M-to-M Breadboard Jumper Telləri
Addım 3: Raspberry Pi -ni konfiqurasiya edin
Addım 1: Yeniləmələri yoxlayın və quraşdırın Yeniləmələri yoxlamaq və quraşdırmaq həmişə başlamaq üçün yaxşı bir yoldur. Terminal pəncərəsində aşağıdakı əmrləri yerinə yetirin:
sudo apt-get yeniləməsi
sudo apt-get yeniləmə
sudo yenidən başladın
Addım 2: MEMS Microphone + MCP3002 üçün SPI İnterfeysini qurun
MCPS002 vasitəsilə MEMS Mikrofonunda oxumaq üçün SPI (Serial Port Interface) istifadə etmək üçün Python Dev Paketinə ehtiyacımız olacaq:
sudo apt-get install python-dev
SPI İnterfeysinə də ehtiyacımız olacaq (bunu saxlamaq üçün bir alt qovluq yaratmaq istəyə bilər):
git klon git: //github.com/doceme/py-spidev
sudo python setup.py qurun
Hər hansı bir problemlə qarşılaşsanız SPI-Dev Sənədləri burada.
Addım 3: OMXPlayer ilə Səslərin Çalınması
OMXPlayer, Raspbian OS-də əvvəlcədən yüklənmiş audio və video pleyerdir.. Wav,.mp3 və.m4a daxil olmaqla əksər səs fayl növləri ilə işləyir. Fido çox yüksək olduqda səsləri səsləndirmək üçün istifadə edəcəyimiz budur. OMXPlayer -i idarə etmək üçün Python kitabxanası Raspbian -a daxil edilmişdir (woo!).
OMXPlayer -ı terminaldan sınamaq üçün aşağıdakıları yazın:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Bu işə yaramırsa, onu yerli səs çıxartma cihazına məcbur etməyə çalışın:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Addım 4: CloudMQTT Serverini konfiqurasiya edin
İndi bir MQTT server qurduq! Bunu CloudMQTT istifadə edərək etmək üçün aşağıdakıları edin:
- CloudMQTT hesabı qurun ("Cute Cat" planı pulsuzdur).
- Yeni bir MyCloud nümunəsi yaradın.
- Konsolda yeni bir ACL qaydası yaradın.
- "Websocket" UI -də yayımlanan mesajları izləyə bilərsiniz.
Nəhayət, MQTT Paho Client Python kitabxanasını quraşdırın:
paho-mqtt quraşdırın
Addım 4: Qurun! Avadanlıq
Raspberry Pi və MCP3002 üçün pinout diaqramları yuxarıdakı fotoşəkillərdədir.
1. MCP3002 pinlərini çörək taxtasına daxil edin (yuxarıdakı pinout diaqramına baxın)
MCP3002 ünsiyyət üçün 4 SPI pinindən istifadə edir: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") və Chip Select ("CS"). Bu sancaqlar Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) və GPIO Pin 8 (CE0) ilə uyğun gəlir.
MCP3002 pinləri ilə aşağıdakı əlaqələri qurun:
- Pin 1 -i Raspberry Pi GPIO Pin 8 -ə (CE0) qoşun
- Pin 2 -ni MEMS Mikrofon kəsmə lövhəsinin analoq çıxışına qoşun
- Pin 4 -ü GND -ə bağlayın
- Pin 5 -i Raspberry Pi GPIO Pin 10 -a (MOSI) qoşun
- Pin 6 -ı Raspberry Pi GPIO pin 9 -a (MISO) qoşun
- Pin 7 -ni Raspberry Pi GPIO Pin 11 -ə (SCLK) qoşun
- Pin 8 -i Raspberry Pi 3.3V -ə qoşun
2. MEMS Mikrofonun qırılma lövhəsinə lehim telləri. MCP3002 və Raspberry Pi -yə qoşulun
- Vcc -ı Raspberry Pi 3.3V -ə qoşun.
- GND -ni Raspberry Pi GND -ə qoşun
- AUD -u MCP3002 Pin 2 -ə qoşun
3. Raspberry Pi üçün bütün kabelləri qoşun və hər şeyi açın
Addım 5: Qurun! Proqram təminatı
Bark Back ilə hədəfimiz ikiqatdır: it hürəndə səsləndirmə səsini işə salın və məlumatları yoxlaya biləcəyimiz bir serverə göndərin.
Bu layihə üçün açıq mənbəli Python proqramıdır. Kodu tənzimləməkdən və dəyişdirməkdən çəkinməyin.
Proqramı işə salmaq üçün iki şeyi doldurmalısınız:
- mahnı siyahısı: oynamaq istədiyiniz mahnıların hər birinin fayl yolunu və fayl adını yazın.
- creds: CloudMQTT məlumatlarınızı bu lüğətə daxil edin.
Addım 1: SparkFun MEMS Mikrofonu kəsmə lövhəsində oxuyun
ADI dəyərini (0 ilə 1023 arasında) SPI kitabxanasından istifadə edərək MEMS Mikrofonu kəsmə lövhəsindən (MCP3002 vasitəsilə) oxuyun və siqnalın zirvədən pikə qədər olan amplitudunu hesablayın.
Siqnalın zirvədən pikə qədər amplitüdünü Səs Vahidinə xəritələyin. Mövcud kod, ADC aralığını 0 ilə 700 arasında (sürətli təcrübəyə əsaslanaraq) 0 ilə 10 arasında bir səs birliyi ilə müqayisə edir. Mikrofonun həssaslığını tənzimləmək üçün ADC giriş aralığını tənzimləyin.
MEMS mikrofonuna hərtərəfli baxmaq üçün bu təlimata baxın.
Addım 2: Səs pleyerini işə salın
Əvvəlcə çalmaq üçün mahnılara ehtiyacımız olacaq! Səsləri GarageBand -da (və ya smartfonunuzda) tez yaza və onları Raspberry Pi -yə göndərə bilərsiniz. Pythonda, omxplayerə zəng etmək üçün alt proses kitabxanasından istifadə edin.
Kodda, * songList * dəyişəninə (26 -cı sətir) geri oxumaq istədiyiniz mahnıların fayl yolunu daxil edin. Cari səs həddi əsas funksiyada 7 -yə təyin edilmişdir.
Addım 3: Məlumatları CloudMQTT Serverə göndərin
CloudMQTT serverləri ilə ünsiyyət qurmaq üçün Paho Client Python kitabxanasından istifadə edin. Ümumiyyətlə ümumiləşdirmək üçün: Müştəri serveri qurmaq; ünsiyyət protokollarını təyin etmək; etimadnaməmizlə əlaqə qurun (aka creds); və abunə olun və məlumatlarımızı dərc edin. Bunun çoxu əsas funksiyada yerinə yetirilir (129 - 149 -cu sətirlər və 169 - 174 -cü sətirlər).
Alınan məlumatları yoxlamaq üçün CloudMQTT konsolundakı "Websocket UI" sekmesine keçin.
Addım 6: Test edin və quraşdırın
BarkBack.py proqramını Terminalda və ya Python IDE -də işlədin (proqramdan ayrıldıqdan sonra SSH -dən istifadə edə bilərsiniz).
Websocket UI sekmesinde səs səviyyələrini əldə etdiyinizi yoxlayın.
Dinamiklərin bütün səsləri səsləndirdiyinə əmin olmaq üçün mikrofonu (çırpmaq, bağırmaq, hürmək və s.) Tetikleyerek sistemi sınayın.
Hər şey işə salındıqdan sonra, sistemi bir neçə gündən artıq quraşdırmaq niyyətindəsinizsə, komponentləri bir PCB -yə (Çaplı Devre Kartına) lehimləmək tövsiyə olunur.
2017 -ci il Mikrokontroller Müsabiqəsində ikinci yeri tutdu
Sensorlar Müsabiqəsinin 2017 -ci il birinci mükafatı
Tövsiyə:
Pet Bot: 6 addım (şəkillərlə birlikdə)
Pet Bot: Kredit: Bu layihə robomaniac tərəfindən Beetlebotdan ilhamlanıb. (Videoda hələ də Catfish Bot olaraq göstərilir) ESP8266, Arduino və Raspberry PI platformalarında gənc istehsalçılara Robototexniki öyrədirəm
Arduino və Raspberry Pi Powered Pet Monitorinq Sistemi: 19 Addım (Şəkillərlə birlikdə)
Arduino və Raspberry Pi Powered Pet Monitorinq Sistemi: Bu yaxınlarda tətildə olarkən ev heyvanınız Beagle ilə əlaqənin olmadığını başa düşdük. Bəzi araşdırmalardan sonra, ev heyvanınızı izləməyə və onunla ünsiyyət qurmağa imkan verən statik kameraya malik məhsullar tapdıq. Bu sistemlərin müəyyən faydaları vardı
D4E1 PET Cutter (Artmaker02): 9 addım (şəkillərlə)
D4E1 PET Cutter (Artmaker02): Bu şüşə kəsici nə edir? Bu maşın, təkrar emal edilmiş plastik (PET) şüşələri hər kəsin təhlükəsiz istifadə edə biləcəyi etibarlı bir qutuda qızdırılan bıçaqla üzüklərə və ya spirallərə kəsir. Bunu niyə və kim etdik? üçündür? Biz bir qrup Sənaye D
Creeper-BOT (Creeper Pet): 9 addım (şəkillərlə)
Creeper-BOT (Creeper Pet): Mən həmişə özümün dördbucaqlı robotum hazırlamaq istəyirdim və Minecraft yarışması yaxşı bir bəhanə idi. Bundan əlavə, mən həqiqətən Sürünən 'ev heyvanı' istədim. Bu Təlimat kitabında bunu necə hazırladığımı bölüşəcəyəm və özünüzü özünüz etmək istəyirsinizsə sizə bir bələdçi verəcəyəm
IoT Outdoor Pet Door: 6 Addım (Şəkillərlə birlikdə)
IoT Outdoor Pet Door: Avtomatik bir toyuq yuvası qapısı yaratmaq üçün bu təlimatdan ilham aldım. Yalnız toyuq yuvasının qapısını taymerdə görmək istəmirdim, həm də telefonla və ya kompüterimlə idarə etmək üçün qapını internetə bağlamaq istəyirdim. Bu d