Sisällysluettelo:

IoT Pet Monitor!: 6 vaihetta (kuvilla)
IoT Pet Monitor!: 6 vaihetta (kuvilla)

Video: IoT Pet Monitor!: 6 vaihetta (kuvilla)

Video: IoT Pet Monitor!: 6 vaihetta (kuvilla)
Video: Все о покраске валиком за 20 минут. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #32 2024, Marraskuu
Anonim
Image
Image
Ehdotettu lukeminen
Ehdotettu lukeminen

Pidä silmällä rakkaita lapsiasi ja soita musiikkia tai käske heidän olla hiljaa, kun olet poissa! Tämä opetusohjelma näyttää, miten voit käyttää Raspberry Pi -tietokonetta kotisi äänenvoimakkuuden (pilven kautta) selvittämiseen, onko lemmikkisi järkyttynyt ja milloin.

Rumpurulla… hauskin osa: Jos siitä tulee liian kovaa (kuten Fido haukkuu tai tekee jotain muuta raivokasta), voimme kertoa heille, että he ovat hiljaa tai soittavat musiikkia!

Pi: n (ja kaiuttimien) ohella käytämme SparkFun MEMS -mikrofonin katkaisukorttia äänenvoimakkuuden mittaamiseen ja audiosoittimen käynnistämiseen. Tiedot ladataan CloudMQTT -palveluun MQTT -yhteyskäytännön avulla.

Yhteensä lukuaika: ~ 8 min

Kokonaisaika: 60 min (vähemmän kokenutta)

Suuri KIITOS SparkFunille tämän hankkeen tukemisesta! Katso opetusohjelma täältä.

Vaihe 1: Ehdotettu lukeminen

Tämän projektin rakentamiseen tarvitset täysin määritetyn, WiFi-yhteydellä varustetun Raspberry Pi 3 -tietokoneen, jossa on Raspbian-käyttöjärjestelmä. On myös hyödyllistä tietää joitakin Python -ohjelmointeja sekä seuraavat asiat: (1) Raspberry Pi GPIO -nastojen käyttö ja hallinta; (2) MQTT -viestintä; ja (3) analogiset anturit. Jos jokin näistä on tuntematon, tai jos olet vain utelias (ole utelias!), Tutustu alla oleviin opetusohjelmiin!

Raspberry Pi 3

  1. Raspberry Pi 3 -aloituspakkauksen liitäntäopas
  2. Raspberry Pi GPIO
  3. SPI -viestintä Raspberry Pi: n kanssa

MQTT -tiedonsiirtoprotokolla

MQTT (Message Query Telemetry Transport) on suosittu IoT -viestintäprotokolla. Käytämme Paho Client Python -kirjastoa ja MQTT -palvelua nimeltä CloudMQTT. Tässä on lisätietoja MQTT: stä ja sen käytöstä:

  1. IoT: n tiedonsiirtoprotokollien tutkiminen
  2. CloudMQTT: n käytön aloittaminen
  3. Katsaus Eclipse Paho MQTT Python -asiakirjastoon

MEMS -mikrofonin erotuslevy

MEMS-mikrofoni on analoginen mikrofoni, joten tarvitsemme analogisen digitaalimuuntimen ("ADC") analogisen signaalin lukemiseksi Raspberry Pi -digitaalisten GPIO-nastojen kanssa.

  1. Aloittaminen SparkFun MEMS -mikrofonisuojalevyn kanssa
  2. MEMS -mikrofonitiedot
  3. MCP3002 ADC -tietolomake

Vaihe 2: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

- Raspberry Pi 3 Malli B

Tarvitsemme myös seuraavia oheislaitteita: Raspberry Pi 3 -kotelo; SD -kortti (vähintään 8 Gt); Raspberry Pi 3 GPIO -kaapeli; MicroUSB -virtajohto; HDMI-kaapeli ja HDMI-yhteensopiva näyttö; USB -näppäimistö; USB -hiiri; kaiuttimet, joissa on 1/8 kuulokeliitäntä.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (analoginen-digitaalimuunnin)

-Breadboard & M-to-M Breadboard Jumper -johdot

Vaihe 3: Määritä Raspberry Pi

Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi
Määritä Raspberry Pi

Vaihe 1: Tarkista ja asenna päivitykset Päivitysten tarkistaminen ja asentaminen on aina hyvä tapa aloittaa. Suorita seuraavat komennot pääteikkunassa:

sudo apt-get päivitys

sudo apt-get päivitys

sudo uudelleenkäynnistys

Vaihe 2: Määritä SPI -liitäntä MEMS -mikrofonille + MCP3002

Jos haluat käyttää SPI: tä (sarjaporttiliitäntä) MEMS -mikrofonin lukemiseen MCP3002: n kautta, tarvitsemme Python Dev -paketin:

sudo apt-get install python-dev

Tarvitsemme myös SPI -käyttöliittymän (haluat ehkä luoda alikansion tämän tallentamiseksi):

git klooni git: //github.com/doceme/py-spidev

sudo python setup.py install

Tässä on SPI-Dev-dokumentaatio, jos kohtaat ongelmia.

Vaihe 3: Äänen toistaminen OMXPlayerilla

OMXPlayer on audio- ja videosoitin, joka on esiladattu Raspbian-käyttöjärjestelmään. Se toimii useimpien äänitiedostotyyppien kanssa, mukaan lukien.wav,.mp3 ja.m4a. Tätä käytämme toistamaan ääniä, kun Fido saa liian kovaa. Python -kirjasto OMXPlayerin hallintaan sisältyy Raspbianiin (woo!).

Testaa OMXPlayer päätelaitteesta kirjoittamalla seuraava:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Jos tämä ei toimi, yritä pakottaa se paikallisen äänilähtölaitteen päälle:

omxplayer -o local /home/…/SongFilePath/SongFileName.mp3

Vaihe 4: Määritä CloudMQTT -palvelin

Nyt perustamme MQTT -palvelimen! Voit tehdä tämän CloudMQTT: n avulla seuraavasti:

  1. Luo CloudMQTT -tili (Cute Cat -suunnitelma on ilmainen).
  2. Luo uusi MyCloud -ilmentymä.
  3. Luo konsolissa uusi ACL -sääntö.
  4. Voit seurata julkaistuja viestejä Websocket -käyttöliittymässä.

Asenna lopuksi MQTT Paho Client Python -kirjasto:

pip asenna paho-mqtt

Vaihe 4: Rakenna se! Laitteisto

Rakentaa se! Laitteisto
Rakentaa se! Laitteisto
Rakentaa se! Laitteisto
Rakentaa se! Laitteisto
Rakentaa se! Laitteisto
Rakentaa se! Laitteisto

Raspberry Pi: n ja MCP3002: n pinout -kaaviot ovat yllä olevissa kuvissa.

1. Aseta MCP3002 -nastat leipälevyyn (katso pinout -kaavio yllä)

MCP3002 käyttää 4 SPI -nastaista tiedonsiirtoa: sarjakello ("SCL"), päätulon orjalähtö ("MISO"), päälähdön orjatulo ("MOSI") ja sirunvalinta ("CS"). Nämä nastat vastaavat Raspberry Pi GPIO -nasta 11 (SCLK), GPIO -nasta 9 (MISO), GPIO -nasta 10 (MOSI) ja GPIO -nasta 8 (CE0).

Tee seuraavat liitännät MCP3002 -nastoilla:

  • Liitä nasta 1 Raspberry Pi GPIO -nastaan 8 (CE0)
  • Liitä nasta 2 MEMS -mikrofonin katkaisukortin analogilähtöön
  • Liitä nasta 4 GND: hen
  • Liitä nasta 5 Raspberry Pi GPIO Pin 10: een (MOSI)
  • Liitä nasta 6 Raspberry Pi GPIO -nastaan 9 (MISO)
  • Liitä nasta 7 Raspberry Pi GPIO -nastaan 11 (SCLK)
  • Liitä nasta 8 Raspberry Pi 3.3V -lähtöön

2. Juotosjohdot MEMS -mikrofonin katkaisukorttiin. Yhdistä MCP3002 ja Raspberry Pi

  • Liitä Vcc Raspberry Pi 3.3V: een.
  • Yhdistä GND Raspberry Pi GND: hen
  • Liitä AUD MCP3002 -nastaan 2

3. Liitä kaikki Raspberry Pi -kaapelit ja käynnistä kaikki

Vaihe 5: Rakenna se! Ohjelmisto

Rakentaa se! Ohjelmisto
Rakentaa se! Ohjelmisto

Tavoitteenamme Bark Backin kanssa on kaksi: laukaista toistoääni, kun koira haukkuu, ja lähettää tiedot palvelimelle, jossa voimme tarkistaa sen.

Tässä on avoimen lähdekoodin Python-ohjelma tälle projektille. Voit vapaasti (ja tee) muuttaa ja muokata koodia.

Ohjelman käynnistämiseksi sinun on täytettävä kaksi asiaa:

- songList: Kirjoita jokaisen toistettavan kappaleen tiedostopolku ja tiedostonimi.

- creds: Syötä CloudMQTT -tietosi tähän sanakirjaan.

Vaihe 1: Lue SparkFun MEMS -mikrofonin erotuslevy

Lue ADC-arvo (0–1023) MEMS-mikrofonin katkaisukortilta (MCP3002: n kautta) SPI-kirjaston avulla ja laske signaalin huippu-huippu-amplitudi.

Yhdistä signaalin huippu-huippu-amplitudi tilavuusyksikköön. Nykyinen koodi kuvaa ADC -alueen 0 ja 700 välillä (nopean kokeilun perusteella) äänenvoimakkuusyksiköksi 0 ja 10. Säädä mikrofonin herkkyyttä säätämällä ADC -tuloaluetta.

Jos haluat perusteellisen yleiskuvan MEMS -mikrofonista, tutustu tähän opetusohjelmaan.

Vaihe 2: Käynnistä äänisoitin

Ensin tarvitsemme kappaleita toistettavaksi! Voit nopeasti tallentaa ääniä GarageBandiin (tai älypuhelimeesi) ja lähettää ne Raspberry Pi -laitteeseen. Käytä Pythonissa aliprosessikirjastoa soittaaksesi omxplayerille.

Syötä koodiin toistettavien kappaleiden tiedostopolku * songList * -muuttujaan (rivi 26). Nykyinen äänenvoimakkuuden kynnys on asetettu päätoiminnossa 7: ksi.

Vaihe 3: Lähetä tiedot CloudMQTT -palvelimelle

Käytä Paho Client Python -kirjastoa kommunikoidaksesi CloudMQTT -palvelimien kanssa. Yhteenvetona: Asenna asiakaspalvelin; määritellä viestintäprotokollat; muodosta yhteys tunnistetietoihimme (alias creds); ja tilaa ja julkaise tietomme. Suurin osa tästä tehdään päätoiminnossa (rivit 129 - 149 ja rivit 169 - 174).

Voit tarkistaa vastaanotetut tiedot siirtymällä CloudMQTT -konsolin "Websocket UI" -välilehdelle.

Vaihe 6: Testaa ja asenna

Testaa ja asenna!
Testaa ja asenna!

Suorita BarkBack.py -ohjelma terminaalissa tai Python IDE: ssä (voit käyttää ohjelmaa myös SSH: n avulla, kun olet jo poistunut).

Tarkista, että saat äänenvoimakkuuden tasot Websocket -käyttöliittymän välilehdeltä.

Testaa järjestelmää käynnistämällä mikrofoni (taputus, huutaminen, haukkuminen jne.) Varmistaaksesi, että kaiuttimet toistavat kaikki äänet.

Kun kaikki on käynnissä, on suositeltavaa juottaa komponentit piirilevyyn (PCB), jos aiot asentaa järjestelmän vain muutaman päivän ajaksi.

Mikrokontrollerikilpailu 2017
Mikrokontrollerikilpailu 2017
Mikrokontrollerikilpailu 2017
Mikrokontrollerikilpailu 2017

Toinen sija mikrokontrollerikilpailussa 2017

Anturikilpailu 2017
Anturikilpailu 2017
Anturikilpailu 2017
Anturikilpailu 2017

Ensimmäinen palkinto anturikilpailussa 2017

Suositeltava: