İçindekiler:
- Adım 1: Önerilen Okuma
- Adım 2: Malzemeler
- 3. Adım: Raspberry Pi'yi yapılandırın
- Adım 4: İnşa Edin! Donanım
- Adım 5: İnşa Edin! Yazılım
- Adım 6: Test Edin ve Kurun
Video: IoT Pet Monitor!: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Sevdiklerinize göz kulak olun ve müzik çalın ya da siz yokken sessiz olmalarını söyleyin! Bu eğitim, evcil hayvanınızın üzgün olup olmadığını ve ne zaman üzüldüğünü görmek için evinizdeki (Bulut aracılığıyla) ses seviyesini izlemek için bir Raspberry Pi bilgisayarının nasıl kullanılacağını gösterecektir.
Davul çalma… en eğlenceli kısım: Çok gürültülü olursa (Fido havlıyor veya başka bir ses çıkarıyor gibi), onlara sessiz olmalarını veya müzik çalmalarını söyleyeceğiz!
Pi (ve hoparlörler) ile birlikte, ses seviyelerini ölçmek ve ses çaları tetiklemek için SparkFun MEMS mikrofon devre kartını kullanacağız. Veriler, MQTT iletişim protokolü kullanılarak CloudMQTT hizmetine yüklenir.
Toplam Okuma Süresi: ~ 8 dk
Toplam İnşa Süresi: 60 dk (deneyimli olmadan daha az)
Bu projeyi desteklediği için SparkFun'a çok TEŞEKKÜR EDERİZ! Buradaki öğreticiye göz atın.
Adım 1: Önerilen Okuma
Bu projeyi oluşturmak için, Raspbian işletim sistemine sahip, tamamen yapılandırılmış, WiFi bağlantılı bir Raspberry Pi 3 bilgisayara ihtiyacınız olacak. Ayrıca aşağıdakilerin yanı sıra bazı Python programlamalarını bilmek de yararlıdır: (1) Raspberry Pi GPIO pinlerinin nasıl kullanılacağı ve kontrol edileceği; (2) MQTT iletişimi; ve (3) analog sensörler. Bunlardan herhangi birine aşina değilseniz veya sadece merak ediyorsanız (merak edin!), aşağıdaki eğitimlere göz atın!
Ahududu Pi 3
- Raspberry Pi 3 Başlangıç Seti Bağlantı Kılavuzu
- Ahududu Pi GPIO'su
- Raspberry Pi ile SPI İletişimi
MQTT İletişim Protokolü
MQTT (Mesaj Sorgusu Telemetri Aktarımı), popüler bir IoT iletişim protokolüdür. Paho Client Python kitaplığını ve CloudMQTT adlı bir MQTT hizmetini kullanacağız. MQTT ve nasıl kullanılacağı hakkında daha fazla bilgi:
- IoT için İletişim Protokollerini Keşfetmek
- CloudMQTT'ye Başlarken
- Eclipse Paho MQTT Python istemci kitaplığına genel bakış
MEMS Mikrofon Koparma Kartı
MEMS mikrofonu bir analog mikrofondur, bu nedenle Raspberry Pi dijital GPIO pinleriyle analog sinyali okumak için bir Analog-Dijital dönüştürücüye ("ADC") ihtiyacımız olacak.
- SparkFun MEMS Mikrofon Breakout Board'u kullanmaya başlama
- MEMS Mikrofon Veri Sayfası
- MCP3002 ADC Veri Sayfası
Adım 2: Malzemeler
- Raspberry Pi 3 Model B
Ayrıca aşağıdaki çevre birimlerine de ihtiyacımız olacak: Raspberry Pi 3 Case; SD Kart (en az 8 GB); Raspberry Pi 3 GPIO kablosu; MikroUSB güç kablosu; HDMI kablosu ve HDMI uyumlu monitör; USB klavye; USB fare; 1/8 kulaklık bağlantı noktasına sahip hoparlörler.
- SparkFun MEMS Mic Breakout Board
- MCP3002 (Analogdan Dijitale Dönüştürücü)
- Breadboard & M-to-M Breadboard Jumper Telleri
3. Adım: Raspberry Pi'yi yapılandırın
Adım 1: Güncellemeleri Kontrol Et ve Yükle Güncellemeleri kontrol etmek ve yüklemek her zaman başlamak için iyi bir yoldur. Terminal penceresinde aşağıdaki komutları çalıştırın:
sudo apt-get güncellemesi
sudo apt-get yükseltme
sudo yeniden başlatma
Adım 2: MEMS Mikrofon + MCP3002 için SPI Arayüzünü Kurun
MCP3002 aracılığıyla MEMS Mikrofonunda okumak üzere SPI'yi (Seri Bağlantı Noktası Arayüzü) kullanmak için Python Geliştirme Paketine ihtiyacımız olacak:
sudo apt-get install python-dev
Ayrıca SPI Arayüzüne de ihtiyacımız olacak (bunu kaydetmek için bir alt klasör oluşturmak isteyebiliriz):
git klon git://github.com/doceme/py-spidev
sudo python setup.py kurulumu
Herhangi bir sorunla karşılaşırsanız, işte SPI-Dev Belgeleri.
3. Adım: OMXPlayer ile Sesleri Çalma
OMXPlayer, Raspbian OS'ye önceden yüklenmiş bir ses ve video oynatıcıdır..wav,.mp3 ve.m4a dahil olmak üzere çoğu ses dosyası türüyle çalışır. Fido çok yüksek olduğunda sesleri çalmak için kullanacağımız şey budur. OMXPlayer'ı kontrol etmek için Python kitaplığı Raspbian'a dahildir (woo!).
OMXPlayer'ı terminalden test etmek için aşağıdakini yazın:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Bu işe yaramazsa, yerel ses çıkış aygıtına zorlamayı deneyin:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
4. Adım: CloudMQTT Sunucusunu Yapılandırın
Şimdi bir MQTT sunucusu kurduk! Bunu CloudMQTT kullanarak yapmak için aşağıdakileri yapın:
- Bir CloudMQTT hesabı oluşturun ("Cute Cat" planı ücretsizdir).
- Yeni bir MyCloud örneği oluşturun.
- Konsolda yeni bir ACL kuralı oluşturun.
- Yayınlanan mesajları "Websocket" kullanıcı arayüzünde izleyebilirsiniz.
Son olarak, MQTT Paho Client Python kitaplığını kurun:
pip kurulumu paho-mqtt
Adım 4: İnşa Edin! Donanım
Raspberry Pi ve MCP3002 için pinout diyagramları yukarıdaki fotoğraflardadır.
1. MCP3002 pinlerini devre tahtasına yerleştirin (yukarıdaki pin şemasına bakın)
MCP3002, iletişim için 4 SPI pini kullanır: Seri Saat ("SCL"), Ana Giriş Bağımlı Çıkış ("MISO"), Ana Çıkış Bağımlı Giriş ("MOSI") ve Yonga Seçimi ("CS"). Bu pinler Raspberry Pi GPIO pin 11'e (SCLK), GPIO pin 9'a (MISO), GPIO Pin 10'a (MOSI) ve GPIO Pin 8'e (CE0) karşılık gelir.
MCP3002 pinleriyle aşağıdaki bağlantıları yapın:
- Pin 1'i Raspberry Pi GPIO Pin 8'e (CE0) bağlayın
- Pin 2'yi MEMS Mikrofon devre kartının analog çıkışına bağlayın
- Pin 4'ü GND'ye bağlayın
- Pin 5'i Raspberry Pi GPIO Pin 10'a (MOSI) bağlayın
- Pin 6'yı Raspberry Pi GPIO pin 9'a (MISO) bağlayın
- Pin 7'yi Raspberry Pi GPIO Pin 11'e (SCLK) bağlayın
- Pin 8'i Raspberry Pi 3.3V çıkışına bağlayın
2. Kabloları MEMS Mikrofon devre kartına lehimleyin. MCP3002 ve Raspberry Pi'ye bağlanın
- Vcc'yi Raspberry Pi 3.3V'ye bağlayın.
- GND'yi Raspberry Pi GND'ye bağlayın
- AUD'yi MCP3002 Pin 2'ye bağlayın
3. Raspberry Pi'nin tüm kablolarını takın ve her şeyi açın
Adım 5: İnşa Edin! Yazılım
Bark Back ile amacımız iki yönlüdür: köpek havladığında bir çalma sesi tetiklemek ve verileri kontrol edebileceğimiz bir sunucuya göndermek.
İşte bu proje için açık kaynaklı Python programı. Kodu ayarlamaktan ve değiştirmekten çekinmeyin (ve lütfen yapın).
Programı kurmak ve çalıştırmak için iki şeyi doldurmanız gerekir:
- songList: Çalmak istediğiniz şarkıların her biri için dosya yolunu ve dosya adını yazın.
- krediler: CloudMQTT bilgilerinizi bu sözlüğe girin.
Adım 1: SparkFun MEMS Mikrofon dağıtım panosunu okuyun
SPI kitaplığını kullanarak MEMS Mikrofon devre kartından (MCP3002 aracılığıyla) ADC değerini (0 ile 1023 arasında) okuyun ve sinyal tepeden tepeye genliğini hesaplayın.
Sinyal tepeden tepeye genliğini bir Hacim Birimine eşleyin. Geçerli kod, 0 ile 700 arasındaki ADC aralığını (hızlı deneye dayalı olarak) 0 ile 10 arasında bir Ses Birimiyle eşler. Mikrofonun hassasiyetini ayarlamak için ADC giriş aralığını ayarlayın.
MEMS mikrofonuna kapsamlı bir genel bakış için bu eğiticiye göz atın.
Adım 2: Ses çaları tetikleyin
İlk önce çalmak için şarkılara ihtiyacımız olacak! Sesleri GarageBand'de (veya akıllı telefonunuzda) hızla kaydedebilir ve Raspberry Pi'ye gönderebilirsiniz. Python'da, omxplayer'ı çağırmak için alt işlem kitaplığını kullanın.
Kodda, çalmak istediğiniz şarkıların dosya yolunu *songList* değişkenine girin (satır 26). Ana fonksiyonda mevcut ses seviyesi eşiği 7'ye ayarlanmıştır.
3. Adım: Verileri CloudMQTT Sunucusuna gönderin
CloudMQTT sunucularıyla iletişim kurmak için Paho Client Python kitaplığını kullanın. Genel olarak özetlemek gerekirse: Bir İstemci sunucusu kurun; iletişim protokollerini tanımlar; kimlik bilgilerimizle bağlantı kurun (aka krediler); ve verilerimize abone olun ve yayınlayın. Bunun çoğu ana işlevde yapılır (129 - 149 satırları ve 169 - 174 satırları).
Alınan verileri kontrol etmek için CloudMQTT konsolundaki "Websocket UI" sekmesine gidin.
Adım 6: Test Edin ve Kurun
BarkBack.py programını Terminal'de veya Python IDE'de çalıştırın (programı zaten ayrıldıktan sonra çalıştırmak için SSH'yi de kullanabilirsiniz).
Websocket Kullanıcı Arayüzü sekmenizde ses düzeylerinin olup olmadığını kontrol edin.
Hoparlörlerin tüm sesleri çaldığından emin olmak için mikrofonu tetikleyerek (alkış, bağırma, havlama vb.) sistemi test edin.
Her şey çalışmaya başladığında, sistemi birkaç günden daha uzun süre kurmayı planlıyorsanız, bileşenleri bir PCB'ye (Baskılı Devre Kartı) lehimlemeniz önerilir.
2017 Mikrodenetleyici Yarışmasında İkincilik
Sensörler Yarışması 2017'de Birincilik Ödülü
Önerilen:
Pet Robot Topu: 10 Adım (Resimlerle)
Pet Robot Ball: Evcil köpeğim oyuncaklarla oynamayı çok seviyor, özellikle de kovalayabildiği oyuncaklarla! Onunla etkileşime girdiğinde otomatik olarak açılıp yuvarlanan, cep telefonum aracılığıyla beni bilgilendiren ve daha sonra WiFi üzerinden kontrol etmek için kullanabileceğim bir robotik top yaptım ve
D4E1 PET Kesici (Artmaker02): 9 Adım (Resimlerle)
D4E1 PET Kesici (Artmaker02): Bu şişe kesici ne işe yarar? Bu makine, geri dönüştürülmüş plastik (PET) şişeleri, herkes tarafından güvenle kullanılabilecek güvenli bir muhafaza içinde ısıtılmış bir bıçakla halkalar veya spiraller halinde keser. Bunu neden ve kim yaptık? için mi? Biz bir Endüstriyel D grubuyuz
Monitor Dress - Kalp Sinyallerini IoT'ye Bağlayın: 18 Adım (Resimlerle)
Monitör Elbisesi - Kalp Sinyallerini Nesnelerin İnternetine Bağlayın: Monitör Elbisesi, kullanıcının kalp aktivitesini dijitalleştirmenin ve aynı zamanda verileri işlemenin farklı yollarını araştırmaya yönelik bir deneydir. Elbisenin içindeki üç elektrot, kullanıcının vücudundan geçen elektrik sinyallerini ölçer. beden
IoT Dış Mekan Pet Kapısı: 6 Adım (Resimlerle)
IoT Outdoor Pet Door: Otomatik bir tavuk kümesi kapısı oluşturmak için bu talimattan ilham aldım. Sadece tavuk kümesi kapısını zamanlayıcıda değil, aynı zamanda telefonumla veya bilgisayarımla kontrol edebilmek için kapıyı internete bağlamak istedim. Bu g
Pet Şişeden Sanat Kasesi Yap: 5 Adım (Resimlerle)
Pet Şişeden Sanat Kasesi Yapın: PET, termoplastik bir polimer olan Polietilen Tereftalattır. Isıtılarak yeniden oluşturulabilir. Isıtma işleminden sonra daha sert, rijit, dayanıklı ve camsı hale gelir. Delindiğinde daha da güçlenir ve kristalleşir. Bu yeniden şekillendi