İçindekiler:

IoT Pet Monitor!: 6 Adım (Resimlerle)
IoT Pet Monitor!: 6 Adım (Resimlerle)

Video: IoT Pet Monitor!: 6 Adım (Resimlerle)

Video: IoT Pet Monitor!: 6 Adım (Resimlerle)
Video: #shorts #öğretmen #teacher #okulöncesi #eğitim #ingilizce #learning #teaching #youtubeshorts 2024, Kasım
Anonim
Image
Image
Önerilen Okuma
Önerilen Okuma

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

  1. Raspberry Pi 3 Başlangıç Seti Bağlantı Kılavuzu
  2. Ahududu Pi GPIO'su
  3. 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:

  1. IoT için İletişim Protokollerini Keşfetmek
  2. CloudMQTT'ye Başlarken
  3. 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.

  1. SparkFun MEMS Mikrofon Breakout Board'u kullanmaya başlama
  2. MEMS Mikrofon Veri Sayfası
  3. MCP3002 ADC Veri Sayfası

Adım 2: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
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

Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
Raspberry Pi'yi yapılandırın
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:

  1. Bir CloudMQTT hesabı oluşturun ("Cute Cat" planı ücretsizdir).
  2. Yeni bir MyCloud örneği oluşturun.
  3. Konsolda yeni bir ACL kuralı oluşturun.
  4. 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

İnşa et! Donanım
İnşa et! Donanım
İnşa et! Donanım
İnşa et! Donanım
İnşa et! Donanım
İnşa et! 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

İnşa et! Yazılım
İnşa et! 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

Test Et ve Yükle!
Test Et ve Yükle!

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.

Mikrodenetleyici Yarışması 2017
Mikrodenetleyici Yarışması 2017
Mikrodenetleyici Yarışması 2017
Mikrodenetleyici Yarışması 2017

2017 Mikrodenetleyici Yarışmasında İkincilik

Sensörler Yarışması 2017
Sensörler Yarışması 2017
Sensörler Yarışması 2017
Sensörler Yarışması 2017

Sensörler Yarışması 2017'de Birincilik Ödülü

Önerilen: