Sisällysluettelo:
- Vaihe 1: Ehdotettu lukeminen
- Vaihe 2: Materiaalit
- Vaihe 3: Määritä Raspberry Pi
- Vaihe 4: Rakenna se! Laitteisto
- Vaihe 5: Rakenna se! Ohjelmisto
- Vaihe 6: Testaa ja asenna
Video: IoT Pet Monitor!: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
- Raspberry Pi 3 -aloituspakkauksen liitäntäopas
- Raspberry Pi GPIO
- 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ä:
- IoT: n tiedonsiirtoprotokollien tutkiminen
- CloudMQTT: n käytön aloittaminen
- 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.
- Aloittaminen SparkFun MEMS -mikrofonisuojalevyn kanssa
- MEMS -mikrofonitiedot
- MCP3002 ADC -tietolomake
Vaihe 2: 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
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:
- Luo CloudMQTT -tili (Cute Cat -suunnitelma on ilmainen).
- Luo uusi MyCloud -ilmentymä.
- Luo konsolissa uusi ACL -sääntö.
- 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
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
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
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.
Toinen sija mikrokontrollerikilpailussa 2017
Ensimmäinen palkinto anturikilpailussa 2017
Suositeltava:
SmartPET - Smart Pet Feeder: 7 vaihetta (kuvilla)
SmartPET - Smart Pet Feeder: Hei! Olen Maxime Vermeeren, 18-vuotias Howestin MCT (multimedia- ja viestintätekniikka) -opiskelija. niin päätin tehdä koneen
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automaattinen kasvien kastelujärjestelmä: 17 vaihetta (kuvilla)
IoT APIS V2 - Itsenäinen IoT -yhteensopiva automatisoitu kasvien kastelujärjestelmä: Tämä projekti on edellisen ohjeeni kehitys: APIS - automaattinen kasvien kastelujärjestelmä Olen käyttänyt APISia lähes vuoden ajan ja halusin parantaa aiempaa suunnittelua: seurata laitosta etänä. Näin
D4E1 PET -leikkuri (Artmaker02): 9 vaihetta (kuvilla)
D4E1 PET -leikkuri (Artmaker02): Mitä tämä pullonleikkuri tekee? Tämä kone leikkaa kierrätetyistä muovipulloista (PET) pullot renkaiksi tai spiraaleiksi lämmitetyllä veitsellä turvallisessa kotelossa, jota kaikki voivat käyttää turvallisesti. se on? Olemme ryhmä Industrial D
Creeper-BOT (Creeper Pet): 9 vaihetta (kuvilla)
Creeper-BOT (Creeper Pet): Halusin aina tehdä oman nelijalkaisen robotin ja Minecraft-kilpailu oli hyvä tekosyy. Lisäksi halusin todella Creeper -lemmikin. Tässä ohjeessa kerron, miten tein sen ja annan sinulle oppaan, jos haluat tehdä oman. Oletan, että olet
IoT Outdoor Pet Door: 6 vaihetta (kuvilla)
IoT Outdoor Pet Door: Inspiroiduin tästä ohjeesta luomaan automaattinen kananpoikan ovi. Halusin paitsi, että kana -oven oven ajastin, mutta halusin myös yhdistää oven Internetiin, jotta voisin hallita sitä puhelimellani tai tietokoneellani. Tämä d