Turinys:
- 1 žingsnis: Siūlomas skaitymas
- 2 žingsnis: medžiagos
- 3 žingsnis: sukonfigūruokite „Raspberry Pi“
- 4 žingsnis: sukurkite! Techninė įranga
- 5 žingsnis: sukurkite! Programinė įranga
- 6 žingsnis: išbandykite ir įdiekite
Video: „IoT Pet Monitor“!: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
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
- „Raspberry Pi 3“pradinio rinkinio prijungimo vadovas
- Raspberry Pi GPIO
- 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:
- IoT komunikacijos protokolų tyrimas
- Darbo su „CloudMQTT“pradžia
- „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.
- Darbo su „SparkFun MEMS Microphone Breakout Board“pradžia
- MEMS mikrofono duomenų lapas
- MCP3002 ADC duomenų lapas
2 žingsnis: 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“
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:
- Nustatykite „CloudMQTT“paskyrą („Mielos katės“planas nemokamas).
- Sukurkite naują „MyCloud“egzempliorių.
- Konsolėje sukurkite naują ACL taisyklę.
- 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
„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
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
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.
Antroji vieta mikrovaldiklių konkurse 2017 m
Pirmasis prizas 2017 metų jutiklių konkurse
Rekomenduojamas:
„Raksha“- „Vitals Monitor“priekinės linijos darbuotojams: 6 žingsniai (su nuotraukomis)
„Rakša“- „Vitals Monitor“, skirtas priekinės linijos darbuotojams: Nešiojamos sveikatos stebėjimo technologijos, įskaitant išmaniuosius laikrodžius ir kūno rengybos stebėjimo priemones, pastaraisiais metais sulaukė didelio vartotojų susidomėjimo. Šį susidomėjimą paskatino ne tik spartus drabužių paklausos augimas
„Pet Bot“: 6 žingsniai (su nuotraukomis)
Pet Bot: Kreditas: Šį projektą įkvėpė robomaniac „Beetlebot“. Atnaujinimas: nuo to laiko pervadinau jį į „Pet Bot“. (Vaizdo įraše tai vis dar rodoma kaip „Catfish Bot“) Mokau robotikos jauniesiems kūrėjams ESP8266, „Arduino“ir „Raspberry PI“platformose ir vienas iš iššūkių
D4E1 PET pjaustytuvas („Artmaker02“): 9 žingsniai (su nuotraukomis)
D4E1 PET pjaustytuvas („Artmaker02“): ką daro šis butelių pjaustytuvas? Ši mašina perdirbto plastiko (PET) butelius supjausto į žiedus ar spirales su šildomu peiliu saugioje dėžutėje, kurią gali saugiai naudoti visi. Kodėl tai padarėme ir kas ar tai skirta? Mes esame pramoninės D grupės
„Creeper-BOT“(„Creeper Pet“): 9 žingsniai (su nuotraukomis)
„Creeper-BOT“(„Creeper Pet“): Aš visada norėjau sukurti keturkojį robotą, o „Minecraft“konkursas buvo geras pasiteisinimas. Be to, aš tikrai norėjau vijoklio „augintinio“. Šioje instrukcijoje aš pasidalinsiu, kaip aš tai padariau, ir pateiksiu jums vadovą, jei norite sukurti savo. Manau, kad jūs
IOT dūmų detektorius: atnaujinkite esamą dūmų detektorių naudodami IOT: 6 žingsniai (su nuotraukomis)
IOT dūmų detektorius: atnaujinkite esamą dūmų detektorių naudodami IOT: dalyvių sąrašas, išradėjas: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Vadovas: dr. Chia Kim Seng Mechatronikos ir robotų inžinerijos katedra, Elektros ir elektronikos inžinerijos fakultetas, Universiti Tun Hussein Onn Malaizija. Platinti