Turinys:

„IoT Pet Monitor“!: 6 žingsniai (su nuotraukomis)
„IoT Pet Monitor“!: 6 žingsniai (su nuotraukomis)

Video: „IoT Pet Monitor“!: 6 žingsniai (su nuotraukomis)

Video: „IoT Pet Monitor“!: 6 žingsniai (su nuotraukomis)
Video: Lil Wayne - 6 Foot 7 Foot ft. Cory Gunz (Explicit) (Official Music Video) 2024, Lapkritis
Anonim
Image
Image
Siūlomas skaitymas
Siūlomas skaitymas

Stebėkite savo mylimą kūdikį ir paleiskite muziką arba liepkite jiems tylėti, kol esate toli! Šioje pamokoje bus parodyta, kaip naudojant „Raspberry Pi“kompiuterį stebėti garso garsumą jūsų namuose (per debesį) ir sužinoti, ar jūsų augintinis yra nusiminęs ir kada.

Būgno ritinys … pati smagiausia dalis: jei jis pasidaro per garsus (pvz., Fido loja ar daro kitokį triukšmą), mes galime jiems pasakyti, kad jie tylėtų arba leistų muziką!

Kartu su „Pi“(ir garsiakalbiais) naudosime „SparkFun MEMS“mikrofono išjungimo plokštę, norėdami išmatuoti garsumo lygį ir suaktyvinti garso grotuvą. Duomenys įkeliami į „CloudMQTT“paslaugą naudojant MQTT ryšio protokolą.

Bendras skaitymo laikas: ~ 8 min

Bendras kūrimo laikas: 60 min (mažiau su patirtimi)

Didelis AČIŪ „SparkFun“už paramą šiam projektui! Peržiūrėkite pamoką čia.

1 žingsnis: Siūlomas skaitymas

Norėdami sukurti šį projektą, jums reikės visiškai sukonfigūruoto „Wi-Fi“prijungto „Raspberry Pi 3“kompiuterio su „Raspbian“OS. Taip pat naudinga žinoti kai kuriuos „Python“programavimo būdus, taip pat šiuos dalykus: (1) kaip naudotis ir valdyti „Raspberry Pi GPIO“kaiščius; (2) MQTT komunikacija; ir 3) analoginiai jutikliai. Jei kas nors iš to yra nepažįstamas arba jums tiesiog įdomu (būkite smalsus!), Peržiūrėkite žemiau pateiktas pamokas!

Raspberry Pi 3

  1. „Raspberry Pi 3“pradinio rinkinio prijungimo vadovas
  2. Raspberry Pi GPIO
  3. SPI Bendravimas su „Raspberry Pi“

MQTT ryšio protokolas

MQTT (Message Query Telemetry Transport) yra populiarus interneto ryšio protokolas. Mes naudosime „Paho Client Python“biblioteką ir MQTT paslaugą „CloudMQTT“. Štai daugiau apie MQTT ir kaip juo naudotis:

  1. IoT komunikacijos protokolų tyrimas
  2. Darbo su „CloudMQTT“pradžia
  3. „Eclipse Paho MQTT Python“klientų bibliotekos apžvalga

MEMS mikrofono pertraukimo lenta

MEMS mikrofonas yra analoginis mikrofonas, todėl mums reikės analoginio-skaitmeninio keitiklio („ADC“), kad galėtume nuskaityti analoginį signalą su „Raspberry Pi“skaitmeniniais GPIO kaiščiais.

  1. Darbo su „SparkFun MEMS Microphone Breakout Board“pradžia
  2. MEMS mikrofono duomenų lapas
  3. MCP3002 ADC duomenų lapas

2 žingsnis: medžiagos

Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos

- Raspberry Pi 3 B modelis

Mums taip pat reikės šių išorinių įrenginių: „Raspberry Pi 3“dėklas; SD kortelė (mažiausiai 8 GB); Raspberry Pi 3 GPIO kabelis; „MicroUSB“maitinimo kabelis; HDMI kabelis ir su HDMI suderinamas monitorius; USB klaviatūra; USB pelė; garsiakalbiai su 1/8 ausinių jungtimi.

- „SparkFun MEMS Mic Breakout Board“

-MCP3002 (analoginis-skaitmeninis keitiklis)

-Breadboard ir M-to-M Breadboard Jumper laidai

3 žingsnis: sukonfigūruokite „Raspberry Pi“

Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“
Konfigūruokite „Raspberry Pi“

1 veiksmas: patikrinkite ir įdiekite naujinius Tikrinti, ar nėra naujinimų, visada yra geras būdas pradėti. Terminalo lange paleiskite šias komandas:

sudo apt-get atnaujinimas

sudo apt-get atnaujinimas

sudo perkraukite

2 veiksmas: nustatykite SPI sąsają MEMS mikrofonui + MCP3002

Norėdami naudoti SPI (nuoseklaus prievado sąsają) skaityti MEMS mikrofone per MCP3002, mums reikės „Python Dev“paketo:

sudo apt-get install python-dev

Mums taip pat reikės SPI sąsajos (galbūt norėsite sukurti poaplankį, kad tai išsaugotumėte):

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

sudo python setup.py įdiegti

Štai SPI-Dev dokumentacija, jei susiduriate su problemomis.

3 žingsnis: Garsų grojimas naudojant „OMXPlayer“

„OMXPlayer“yra garso ir vaizdo grotuvas, iš anksto įkeltas į „Raspbian“OS. Jis veikia su daugeliu garso failų tipų, įskaitant:.wav,.mp3 ir.m4a. Tai mes naudosime garsams atkurti, kai „Fido“taps per garsus. „Python“biblioteka, skirta valdyti „OMXPlayer“, yra įtraukta į „Raspbian“(woo!).

Norėdami patikrinti OMXPlayer iš terminalo, įveskite:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Jei tai nepadeda, pabandykite priversti jį per vietinį garso išvesties įrenginį:

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

4 veiksmas: sukonfigūruokite „CloudMQTT“serverį

Dabar mes sukūrėme MQTT serverį! Norėdami tai padaryti naudodami „CloudMQTT“, atlikite šiuos veiksmus:

  1. Nustatykite „CloudMQTT“paskyrą („Mielos katės“planas nemokamas).
  2. Sukurkite naują „MyCloud“egzempliorių.
  3. Konsolėje sukurkite naują ACL taisyklę.
  4. Paskelbtus pranešimus galite stebėti naudodamiesi „Websocket“vartotojo sąsaja.

Galiausiai įdiekite „MQTT Paho Client Python“biblioteką:

pip įdiegti paho-mqtt

4 žingsnis: sukurkite! Techninė įranga

Sukurkite! Techninė įranga
Sukurkite! Techninė įranga
Sukurkite! Techninė įranga
Sukurkite! Techninė įranga
Sukurkite! Techninė įranga
Sukurkite! Techninė įranga

„Raspberry Pi“ir MCP3002 „Pinout“diagramos yra aukščiau esančiose nuotraukose.

1. Įdėkite MCP3002 kaiščius į duonos lentą (žr. Viršuje esančią kaiščio schemą)

MCP3002 naudoja 4 SPI kaiščius ryšiui: serijinis laikrodis („SCL“), pagrindinis įvesties pavaldinis išėjimas („MISO“), pagrindinis išvesties pavaldusis įėjimas („MOSI“) ir lusto pasirinkimas („CS“). Šie kaiščiai atitinka Raspberry Pi GPIO kaištį 11 (SCLK), GPIO kaištį 9 (MISO), GPIO kaištį 10 (MOSI) ir GPIO kaištį 8 (CE0).

Užmegzkite šiuos ryšius naudodami MCP3002 kaiščius:

  • Prijunkite 1 kaištį prie „Raspberry Pi GPIO Pin 8“(CE0)
  • Prijunkite 2 kaištį prie analoginės MEMS mikrofono išvesties plokštės išvesties
  • Prijunkite 4 kaištį prie GND
  • Prijunkite 5 kaištį prie „Raspberry Pi GPIO Pin 10“(MOSI)
  • Prijunkite 6 kaištį prie Raspberry Pi GPIO kaiščio 9 (MISO)
  • Prijunkite 7 kaištį prie „Raspberry Pi GPIO Pin 11“(SCLK)
  • Prijunkite 8 kaištį prie Raspberry Pi 3.3V išvesties

2. Lituokite laidus prie MEMS mikrofono išjungimo plokštės. Prisijunkite prie „MCP3002“ir „Raspberry Pi“

  • Prijunkite Vcc prie Raspberry Pi 3.3V.
  • Prijunkite GND prie Raspberry Pi GND
  • Prijunkite AUD prie MCP3002 2 kaiščio

3. Prijunkite visus „Raspberry Pi“kabelius ir viską įjunkite

5 žingsnis: sukurkite! Programinė įranga

Sukurkite! Programinė įranga
Sukurkite! Programinė įranga

Mūsų tikslas su „Bark Back“yra dvejopas: suaktyvinti atkūrimo garsą, kai šuo loja, ir nusiųsti duomenis į serverį, kuriame galime juos patikrinti.

Štai šio projekto atvirojo kodo „Python“programa. Nesivaržykite (ir prašome) koreguoti ir modifikuoti kodą.

Norėdami paleisti programą, turite užpildyti du dalykus:

- songList: įrašykite kiekvienos norimos paleisti dainos failo kelią ir failo pavadinimą.

- kreditai: įveskite savo „CloudMQTT“informaciją į šį žodyną.

1 žingsnis: perskaitykite „SparkFun MEMS“mikrofono išjungimo plokštę

Naudodamiesi SPI biblioteka, perskaitykite ADC vertę (nuo 0 iki 1023) iš MEMS mikrofono išjungimo plokštės (per MCP3002) ir apskaičiuokite signalo amplitudę.

Sujunkite signalo amplitudę su tūrio vienetu. Dabartinis kodas priskiria ADC diapazoną nuo 0 iki 700 (remiantis greitu eksperimentu) iki garsumo vieneto nuo 0 iki 10. Norėdami sureguliuoti mikrofono jautrumą, sureguliuokite ADC įvesties diapazoną.

Norėdami gauti išsamią MEMS mikrofono apžvalgą, peržiūrėkite šią mokymo programą.

2 veiksmas: suaktyvinkite garso grotuvą

Pirmiausia mums reikės dainų! Galite greitai įrašyti garsus „GarageBand“(arba savo išmaniajame telefone) ir išsiųsti juos į „Raspberry Pi“. „Python“naudokite papildomo proceso biblioteką, kad iškviestumėte „omxplayer“.

Į kodą įveskite dainų, kurias norite atkurti, failo kelią į kintamąjį * songList * (26 eilutė). Pagrindinėje funkcijoje dabartinė garsumo riba nustatyta į 7.

3 veiksmas: siųskite duomenis į „CloudMQTT Server“

Norėdami bendrauti su „CloudMQTT“serveriais, naudokite „Paho Client Python“biblioteką. Apibendrinant: Sukurkite kliento serverį; apibrėžti bendravimo protokolus; susisiekti su mūsų įgaliojimais (dar žinomais kredentais); prenumeruoti ir skelbti mūsų duomenis. Dauguma to atliekama pagrindinėje funkcijoje (129–149 eilutės ir 169–174 eilutės).

Norėdami patikrinti gautus duomenis, eikite į „WebMocket UI“skirtuką „CloudMQTT“konsolėje.

6 žingsnis: išbandykite ir įdiekite

Išbandykite ir įdiekite!
Išbandykite ir įdiekite!

Paleiskite „BarkBack.py“programą terminale arba „Python IDE“(taip pat galite naudoti SSH, kad paleistumėte programą, kai jau išėjote).

Patikrinkite, ar „Websocket“vartotojo sąsajos skirtuke matote garsumo lygius.

Patikrinkite sistemą, įjungdami mikrofoną (plojimas, riksmas, žievė ir pan.), Kad įsitikintumėte, jog garsiakalbiai leidžia visus garsus.

Kai viskas bus paruošta, rekomenduojama sudėti komponentus į PCB (spausdintinę plokštę), jei ketinate įdiegti sistemą ilgiau nei kelias dienas.

Mikrovaldiklių konkursas 2017 m
Mikrovaldiklių konkursas 2017 m
Mikrovaldiklių konkursas 2017 m
Mikrovaldiklių konkursas 2017 m

Antroji vieta mikrovaldiklių konkurse 2017 m

Jutiklių konkursas 2017 m
Jutiklių konkursas 2017 m
Jutiklių konkursas 2017 m
Jutiklių konkursas 2017 m

Pirmasis prizas 2017 metų jutiklių konkurse

Rekomenduojamas: