Orodha ya maudhui:

IoT Pet Monitor !: Hatua 6 (na Picha)
IoT Pet Monitor !: Hatua 6 (na Picha)

Video: IoT Pet Monitor !: Hatua 6 (na Picha)

Video: IoT Pet Monitor !: Hatua 6 (na Picha)
Video: НОЧЬ В СТРАШНОМ ДОМЕ С ДЕМОНОМ / НЕ СТОИЛО СЮДА ПРИХОДИТЬ 2024, Novemba
Anonim
Image
Image
Usomaji uliopendekezwa
Usomaji uliopendekezwa

Fuatilia marafiki wako wapenzi na ucheze muziki au uwaambie wanyamaze ukiwa mbali! Mafunzo haya yataonyesha jinsi ya kutumia kompyuta ya Raspberry Pi kufuatilia sauti ya sauti nyumbani kwako (kupitia Wingu) kuona ikiwa mnyama wako amekasirika na lini.

Drum roll… sehemu ya kufurahisha zaidi: Ikiwa inalia sana (kama Fido anapiga kelele au akifanya machafuko mengine), tutaweza kuwaambia wanyamaze au wacheze muziki!

Pamoja na Pi (na spika), tutatumia bodi ya kuzima kipaza sauti ya SparkFun MEMS kupima viwango vya sauti na kuchochea kicheza sauti. Takwimu zimepakiwa kwenye huduma ya CloudMQTT kwa kutumia itifaki ya mawasiliano ya MQTT.

Jumla ya Wakati wa Kusoma: ~ 8 min

Jumla ya Wakati wa Kuunda: dakika 60 (chini ya w / uzoefu)

ASANTE kubwa kwa SparkFun kwa kusaidia mradi huu! Angalia mafunzo hapa.

Hatua ya 1: Usomaji uliopendekezwa

Ili kujenga mradi huu, utahitaji kompyuta iliyosanidiwa kabisa, iliyounganishwa na WiFi ya Raspberry Pi 3 na Raspbian OS. Inasaidia pia kujua programu zingine za Python na vile vile vitu vifuatavyo: (1) jinsi ya kutumia na kudhibiti pini za Raspberry Pi GPIO; (2) Mawasiliano ya MQTT; na (3) sensorer za analog. Ikiwa yoyote ya hii haijulikani, au ikiwa unataka tu (kuwa na hamu!), Angalia mafunzo hapa chini!

Raspberry Pi 3

  1. Raspberry Pi 3 Starter Kit Hookup Mwongozo
  2. Raspberry Pi GPIO
  3. Mawasiliano ya SPI na Raspberry Pi

Itifaki ya Mawasiliano ya MQTT

MQTT (Ujumbe wa Swala ya Usafirishaji wa Telemetry) ni itifaki maarufu ya mawasiliano ya IoT. Tutatumia maktaba ya Mteja wa Paho ya Paho na huduma ya MQTT iitwayo CloudMQTT. Hapa kuna zaidi kuhusu MQTT na jinsi ya kuitumia:

  1. Kuchunguza Itifaki za Mawasiliano kwa IOT
  2. Kuanza na CloudMQTT
  3. Muhtasari wa maktaba ya mteja wa Eclipse Paho MQTT

Bodi ya Kuzuka kwa Maikrofoni ya MEMS

Maikrofoni ya MEMS ni maikrofoni ya Analog, kwa hivyo tutahitaji kibadilishaji cha Analog-to-Digital ("ADC") kusoma kwenye ishara ya Analog na pini za Raspberry Pi za dijiti za GPIO.

  1. Kuanza na Bodi ya Kuzima Sauti ya SparkFun MEMS
  2. Karatasi ya hati ya kipaza sauti ya MEMS
  3. Hati ya Takwimu ya MCP3002 ADC

Hatua ya 2: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

- Raspberry Pi 3 Mfano B

Tutahitaji pia viambatisho vifuatavyo: Kesi ya Raspberry Pi 3; Kadi ya SD (kiwango cha chini cha GB 8); Cable ya Raspberry Pi 3 GPIO; Cable ya umeme ya MicroUSB; Cable ya HDMI na mfuatiliaji unaofaa wa HDMI; Kibodi ya USB; Panya ya USB; spika zilizo na 1/8 bandari ya kichwa.

- Bodi ya SparkFun MEMS Mic Breakout

- MCP3002 (Analog-to-Digital Converter)

- Bodi ya mkate na waya za M-to-M Breadboard Jumper

Hatua ya 3: Sanidi Raspberry Pi

Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi
Sanidi Raspberry Pi

Hatua ya 1: Angalia na usakinishe Sasisho Kuchunguza na kusanikisha visasisho daima ni njia nzuri ya kuanza. Tumia amri zifuatazo kwenye dirisha la terminal:

Sudo apt-pata sasisho

sasisho la kupata apt

Sudo reboot

Hatua ya 2: Sanidi kiolesura cha SPI cha Kipaza sauti cha MEMS + MCP3002

Kutumia SPI (Sura ya Maingiliano ya Bandari) kusoma kwenye Kipaza sauti cha MEMS kupitia MCP3002, tutahitaji Kifurushi cha Python Dev:

Sudo apt-get kufunga python-dev

Tutahitaji pia Kiolesura cha SPI (inaweza kutaka kuunda folda ndogo ili kuhifadhi hii):

clone ya git: //github.com/doceme/py-spidev

Sudo python setup.py kufunga

Hapa kuna Hati ya SPI-Dev ikiwa utashughulikia maswala yoyote.

Hatua ya 3: Kucheza Sauti na OMXPlayer

OMXPlayer ni kicheza sauti na video kilichopakiwa mapema kwenye Raspbian OS. Inafanya kazi na aina nyingi za faili za sauti, pamoja na:.wav,.mp3, na.m4a. Hii ndio tutatumia kucheza sauti za nyuma wakati Fido anapiga kelele sana. Maktaba ya Python kudhibiti OMXPlayer imejumuishwa katika Raspbian (woo!).

Ili kujaribu OMXPlayer kutoka kwa wastaafu, andika yafuatayo:

omxplayer / nyumba///SongFilePath/SongFileName.mp3

Ikiwa hiyo haifanyi kazi, jaribu kuilazimisha juu ya kifaa cha sauti cha ndani:

omxplayer -o ya ndani / nyumbani///SongFilePath/SongFileName.mp3

Hatua ya 4: Sanidi Seva ya CloudMQTT

Sasa tunaanzisha seva ya MQTT! Ili kufanya hivyo kwa kutumia CloudMQTT, fanya yafuatayo:

  1. Sanidi akaunti ya CloudMQTT (mpango wa "Paka Mzuri" ni bure).
  2. Unda mfano mpya wa MyCloud.
  3. Katika Dashibodi, tengeneza sheria mpya ya ACL.
  4. Unaweza kufuatilia ujumbe uliochapishwa kwenye "Websocket" UI.

Mwishowe, weka maktaba ya MQTT Paho Client Python:

bomba funga paho-mqtt

Hatua ya 4: Jenga! Vifaa

Jenga! Vifaa
Jenga! Vifaa
Jenga! Vifaa
Jenga! Vifaa
Jenga! Vifaa
Jenga! Vifaa

Michoro ya pinout ya Raspberry Pi na MCP3002 iko kwenye picha hapo juu.

1. Ingiza pini za MCP3002 kwenye ubao wa mkate (angalia mchoro wa pini hapo juu)

MCP3002 hutumia pini 4 za SPI kwa mawasiliano: Saa ya Saa ("SCL"), Pato la Utumwa la Utumwa la Mtumwa ("MISO"), Uingizaji wa Mtumwa wa Pato la Mwalimu ("MOSI"), na Chip Chagua ("CS"). Pini hizi zinahusiana na Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI), na GPIO Pin 8 (CE0).

Tengeneza maunganisho yafuatayo na pini za MCP3002:

  • Unganisha Pin 1 kwa Raspberry Pi GPIO Pin 8 (CE0)
  • Unganisha Pini 2 kwa pato la analog ya bodi ya kuzuka kwa Maikrofoni ya MEMS
  • Unganisha Pin 4 kwa GND
  • Unganisha Pin 5 kwa Raspberry Pi GPIO Pin 10 (MOSI)
  • Unganisha Pin 6 kwa Raspberry Pi GPIO pin 9 (MISO)
  • Unganisha Pin 7 kwa Raspberry Pi GPIO Pin 11 (SCLK)
  • Unganisha Pin 8 kwa Raspberry Pi 3.3V nje

2. Solder waya kwa bodi ya kuzuka kwa Maikrofoni ya MEMS. Unganisha kwa MCP3002 na Raspberry Pi

  • Unganisha Vcc kwenye Raspberry Pi 3.3V.
  • Unganisha GND na Raspberry Pi GND
  • Unganisha AUD kwa MCP3002 Pin 2

3. Chomeka nyaya zote kwa Raspberry Pi na uwashe kila kitu

Hatua ya 5: Jenga! Programu

Jenga! Programu
Jenga! Programu

Lengo letu na Bark Back ni mbili: changanya sauti ya kucheza wakati mbwa anabweka, na tuma data kwenye seva ambapo tunaweza kuiangalia.

Hapa kuna programu ya chanzo wazi ya mradi huu. Jisikie huru (na tafadhali fanya) kurekebisha na kurekebisha nambari.

Ili kupata programu na kuanza, unahitaji kujaza vitu viwili:

Orodha ya wimbo: Andika katika njia ya faili na jina la faili kwa kila nyimbo unayotaka kucheza.

- sifa: Ingiza habari yako ya CloudMQTT katika kamusi hii.

Hatua ya 1: Soma kwenye bodi ya kuzuka kwa Sauti ya SparkFun MEMS

Soma kwa thamani ya ADC (kati ya 0 na 1023) kutoka kwa bodi ya kuzuka kwa Maikrofoni ya MEMS (kupitia MCP3002) ukitumia maktaba ya SPI na uhesabu alama ya kilele cha kilele cha kilele.

Ramani urefu wa kilele-cha-kilele cha ishara kwa Kitengo cha Sauti. Nambari ya sasa ya ramani ya ADC kati ya 0 na 700 (kulingana na majaribio ya haraka) kwa Kitengo cha Sauti kati ya 0 na 10. Ili kurekebisha unyeti wa kipaza sauti, rekebisha anuwai ya kuingiza ADC.

Kwa muhtasari kamili wa mic ya MEMS, angalia mafunzo haya.

Hatua ya 2: Anzisha kicheza sauti

Kwanza tutahitaji nyimbo za kucheza! Unaweza kurekodi haraka sauti kwenye GarageBand (au kwenye smartphone yako) na utume kwa Raspberry Pi. Katika Python, tumia maktaba ya subprocess kupiga omxplayer.

Katika nambari, ingiza njia ya faili ya nyimbo unayotaka kucheza tena katika * wimboList * inayobadilika (mstari wa 26). Kizingiti cha sasa cha sauti imewekwa hadi 7 katika kazi kuu.

Hatua ya 3: Tuma data kwa Seva ya CloudMQTT

Tumia maktaba ya Mteja wa Paho Python kuwasiliana na seva za CloudMQTT. Kwa muhtasari pana: Sanidi seva ya Mteja; fafanua itifaki za mawasiliano; kuungana na sifa zetu (aka sifa); na ujiandikishe na uchapishe data yetu. Zaidi ya haya hufanywa katika kazi kuu (mistari 129 - 149, na mistari 169 - 174).

Kuangalia data iliyopokea, nenda kwenye kichupo cha "Websocket UI" kwenye koni ya CloudMQTT.

Hatua ya 6: Jaribu na usakinishe

Jaribu na usakinishe!
Jaribu na usakinishe!

Endesha programu ya BarkBack.py kwenye Kituo au kwenye IDE ya Python (unaweza pia kutumia SSH kuendesha programu baada ya kuondoka tayari).

Angalia kuwa unapata viwango vya sauti kwenye kichupo chako cha Uso cha Websocket.

Jaribu mfumo kwa kuchochea mic (kupiga makofi, yell, bark, nk) ili uhakikishe kuwa spika zinacheza kwa sauti zote.

Mara tu kila kitu kinapoanza, inashauriwa kusanikisha vifaa kwa PCB (Bodi ya Mzunguko Iliyochapishwa) ikiwa una nia ya kusanikisha mfumo kwa zaidi ya siku chache tu.

Mashindano ya Microcontroller 2017
Mashindano ya Microcontroller 2017
Mashindano ya Microcontroller 2017
Mashindano ya Microcontroller 2017

Mkimbiaji Juu katika Mashindano ya Microcontroller 2017

Shindano la Sensorer 2017
Shindano la Sensorer 2017
Shindano la Sensorer 2017
Shindano la Sensorer 2017

Tuzo ya Kwanza katika Mashindano ya Sensorer 2017

Ilipendekeza: