Mündəricat:

IoT Pet Monitor!: 6 addım (şəkillərlə)
IoT Pet Monitor!: 6 addım (şəkillərlə)

Video: IoT Pet Monitor!: 6 addım (şəkillərlə)

Video: IoT Pet Monitor!: 6 addım (şəkillərlə)
Video: Женщина подала на развод сразу после того, как увидела это фото... 2024, Noyabr
Anonim
Image
Image
Təklif olunan Oxu
Təklif olunan Oxu

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

  1. Raspberry Pi 3 Başlanğıc Kit Bağlama Bələdçisi
  2. Raspberry Pi GPIO
  3. 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:

  1. IoT üçün Rabitə Protokollarını araşdırın
  2. CloudMQTT ilə işə başlayın
  3. 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.

  1. SparkFun MEMS Mikrofon Qırılma Kartı ilə işə başlayın
  2. MEMS mikrofon məlumat cədvəli
  3. MCP3002 ADC məlumat cədvəli

Addım 2: Materiallar

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

Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
Raspberry Pi -ni konfiqurasiya edin
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:

  1. CloudMQTT hesabı qurun ("Cute Cat" planı pulsuzdur).
  2. Yeni bir MyCloud nümunəsi yaradın.
  3. Konsolda yeni bir ACL qaydası yaradın.
  4. "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

Qurun! Avadanlıq
Qurun! Avadanlıq
Qurun! Avadanlıq
Qurun! Avadanlıq
Qurun! Avadanlıq
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ı

Qurun! Proqram təminatı
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

Test edin və quraşdırın!
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.

Mikro nəzarətçi yarışması 2017
Mikro nəzarətçi yarışması 2017
Mikro nəzarətçi yarışması 2017
Mikro nəzarətçi yarışması 2017

2017 -ci il Mikrokontroller Müsabiqəsində ikinci yeri tutdu

Sensorlar yarışması 2017
Sensorlar yarışması 2017
Sensorlar yarışması 2017
Sensorlar yarışması 2017

Sensorlar Müsabiqəsinin 2017 -ci il birinci mükafatı

Tövsiyə: