Բովանդակություն:

IoT Pet Monitor !: 6 քայլ (նկարներով)
IoT Pet Monitor !: 6 քայլ (նկարներով)

Video: IoT Pet Monitor !: 6 քայլ (նկարներով)

Video: IoT Pet Monitor !: 6 քայլ (նկարներով)
Video: Դահլիճում նստած տղային նայեք 😂 #armenia #humor #հումոր 2024, Նոյեմբեր
Anonim
Image
Image
Առաջարկվող ընթերցում
Առաջարկվող ընթերցում

Հետևեք ձեր սիրելի բիբիներին և երաժշտություն նվագեք կամ ասեք նրանց, որ լռեն, երբ դուք հեռու եք: Այս ձեռնարկը ցույց կտա, թե ինչպես օգտագործել Raspberry Pi համակարգիչը `ձեր տան (Cloud- ի միջոցով) ձայնի ծավալը վերահսկելու համար` տեսնելու, թե արդյոք և երբ է ձեր ընտանի կենդանուն վրդովված:

Թմբկահարում … ամենազվարճալի հատվածը. Եթե այն բարձրաձայնում է (ինչպես Ֆիդոն հաչում է կամ ինչ -որ այլ աղմուկ է բարձրացնում), մենք նրանց կասենք, որ լռեն կամ երաժշտություն նվագեն:

Pi- ի (և բարձրախոսների) հետ միասին մենք կօգտագործենք SparkFun MEMS խոսափողի ճեղքման տախտակը `ձայնի մակարդակը չափելու և աուդիո նվագարկիչը միացնելու համար: Տվյալները վերբեռնվում են CloudMQTT ծառայություն ՝ օգտագործելով MQTT հաղորդակցության արձանագրությունը:

Ընդհանուր ընթերցման ժամանակը ՝ ~ 8 րոպե

Ընդհանուր կառուցման ժամանակը ՝ 60 րոպե (ավելի քիչ փորձով)

Հսկայական ՇՆՈՐՀԱԿԱԼՈԹՅՈՆ SparkFun- ին այս նախագծին աջակցելու համար: Ստուգեք ձեռնարկը այստեղ:

Քայլ 1: Առաջարկվող ընթերցում

Այս նախագիծը կառուցելու համար ձեզ հարկավոր կլինի լիովին կազմաձևված, WiFi- ով միացված Raspberry Pi 3 համակարգիչ Raspbian OS- ով: Նաև օգտակար է իմանալ Python- ի որոշ ծրագրավորում, ինչպես նաև հետևյալ բաները. (1) ինչպես օգտագործել և վերահսկել Raspberry Pi GPIO կապում; (2) MQTT հաղորդակցություն; և (3) անալոգային տվիչներ: Եթե դրանցից որևէ մեկը անծանոթ է, կամ եթե պարզապես հետաքրքրասեր եք (հետաքրքրվեք), ստուգեք ստորև ներկայացված ձեռնարկները:

Ազնվամորի Պի 3

  1. Raspberry Pi 3 Starter Kit միացման ուղեցույց
  2. Raspberry Pi GPIO
  3. SPI Հաղորդակցություն Raspberry Pi- ի հետ

MQTT հաղորդակցության արձանագրություն

MQTT (Message Query Telemetry Transport) IoT հաղորդակցության հայտնի արձանագրություն է: Մենք կօգտագործենք Paho Client Python գրադարանը և MQTT ծառայություն, որը կոչվում է CloudMQTT: Ահա ավելին MQTT- ի և ինչպես օգտագործել այն.

  1. IoT- ի համար հաղորդակցության արձանագրությունների ուսումնասիրություն
  2. Սկսելով աշխատել CloudMQTT- ով
  3. Eclipse Paho MQTT Python հաճախորդների գրադարանի ակնարկ

MEMS խոսափողի բեկման տախտակ

MEMS խոսափողը անալոգային խոսափող է, ուստի մեզ անհրաժեշտ կլինի անալոգային թվային փոխարկիչ («ADC») ՝ Raspberry Pi թվային GPIO կապում անալոգային ազդանշանում կարդալու համար:

  1. Սկսենք SparkFun MEMS խոսափողի բացման տախտակի հետ
  2. MEMS խոսափողի տվյալների թերթիկ
  3. MCP3002 ADC տվյալների թերթիկ

Քայլ 2: Նյութեր

Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր

- Raspberry Pi 3 Model B

Մեզ անհրաժեշտ կլինեն նաև հետևյալ ծայրամասային սարքերը ՝ Raspberry Pi 3 Case; SD քարտ (նվազագույնը 8 ԳԲ); Raspberry Pi 3 GPIO մալուխ; MicroUSB հոսանքի մալուխ; HDMI մալուխ և HDMI- համատեղելի մոնիտոր; USB ստեղնաշար; USB մկնիկ; բարձրախոսներ ՝ ականջակալների 1/8 դյույմով:

- SparkFun MEMS Mic Breakout Board

-MCP3002 (անալոգային-թվային փոխարկիչ)

-Breadboard & M-to-M Breadboard Jumper Wires

Քայլ 3: Կարգավորեք Raspberry Pi- ն

Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն

Քայլ 1. Ստուգեք և տեղադրեք թարմացումները Թարմացումների ստուգումը և տեղադրումը միշտ էլ լավ միջոց է սկսելու համար: Տերմինալի պատուհանում գործարկեք հետևյալ հրամանները.

sudo apt-get թարմացում

sudo apt-get բարելավում

sudo վերագործարկում

Քայլ 2. Ստեղծեք SPI միջերես MEMS խոսափողի + MCP3002- ի համար

MCP3002- ի միջոցով MEMS խոսափողում SPI (սերիայի նավահանգստի միջերես) օգտագործելու համար մեզ անհրաժեշտ կլինի Python Dev փաթեթը.

sudo apt-get տեղադրել python-dev

Մեզ պետք կգա նաև SPI ինտերֆեյսը (գուցե ցանկանա ենթապանակ ստեղծել ՝ սա պահելու համար).

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

sudo python setup.py տեղադրել

Ահա SPI-Dev փաստաթղթերը, եթե բախվեք որևէ խնդրի:

Քայլ 3: Ձայներ նվագել OMXPlayer- ի հետ

OMXPlayer- ը Raspbian OS- ում նախապես բեռնված աուդիո և վիդեո նվագարկիչ է: Այն աշխատում է շատ ձայնային ֆայլերի տեսակների հետ, ներառյալ ՝.wav,.mp3 և.m4a: Սա այն է, ինչ մենք կօգտագործենք հնչյունները նվագարկելու համար, երբ Fido- ն չափազանց բարձր է հնչում: OMXPlayer- ը վերահսկելու Python գրադարանը ներառված է Raspbian- ում (վա !յ):

OMXPlayer- ը տերմինալից փորձարկելու համար մուտքագրեք հետևյալը.

omxplayer /home/…/SongFilePath/SongFileName.mp3

Եթե դա չի աշխատում, փորձեք այն ստիպել տեղական ձայնային անջատիչ սարքի միջոցով.

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

Քայլ 4. Կարգավորեք CloudMQTT սերվերը

Այժմ մենք ստեղծեցինք MQTT սերվեր: CloudMQTT- ի միջոցով դա անելու համար կատարեք հետևյալը.

  1. Ստեղծեք CloudMQTT հաշիվ («Cute Cat» ծրագիրը անվճար է):
  2. Ստեղծեք նոր MyCloud օրինակ:
  3. Վահանակում ստեղծեք ACL նոր կանոն:
  4. Դուք կարող եք վերահսկել հրապարակված հաղորդագրությունները «Websocket» UI- ում:

Վերջապես, տեղադրեք MQTT Paho Client Python գրադարանը.

pip տեղադրել paho-mqtt

Քայլ 4: Կառուցեք այն: Սարքավորումներ

Կառուցե It Սարքավորումներ
Կառուցե It Սարքավորումներ
Կառուցե It Սարքավորումներ
Կառուցե It Սարքավորումներ
Կառուցե It Սարքավորումներ
Կառուցե It Սարքավորումներ

Raspberry Pi- ի և MCP3002- ի համար Pinout դիագրամները ներկայացված են վերևի լուսանկարներում:

1. Տեղադրեք MCP3002 կապում տախտակի մեջ (տես վերևի pinout դիագրամը)

MCP3002- ը կապի համար օգտագործում է 4 SPI կապում ՝ սերիական ժամացույց («SCL»), Master Input Slave Output («MISO»), Master Output Slave Input («MOSI») և Chip Select («CS»): Այս կապումներին համապատասխանում են Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) և GPIO Pin 8 (CE0):

MCP3002 կապում կատարեք հետևյալ կապերը.

  • Միացրեք Pin 1 -ը Raspberry Pi GPIO Pin 8 -ին (CE0)
  • Միացրեք Pin 2 -ը MEMS խոսափողի անջատման տախտակի անալոգային ելքին
  • Միացրեք Pin 4 -ը GND- ին
  • Միացրեք Pin 5 -ը Raspberry Pi GPIO Pin 10 -ին (MOSI)
  • Միացրեք Pin 6 -ը Raspberry Pi GPIO pin 9 -ին (MISO)
  • Միացրեք Pin 7 -ը Raspberry Pi GPIO Pin 11 -ին (SCLK)
  • Միացրեք Pin 8 -ը Raspberry Pi 3.3V- ին

2. MSոդեք լարերը MEMS խոսափողի ճեղքման տախտակին: Միացեք MCP3002- ին և Raspberry Pi- ին:

  • Vcc- ն միացրեք Raspberry Pi 3.3V- ին:
  • Միացրեք GND- ը Raspberry Pi GND- ին
  • Միացրեք AUD- ը MCP3002 Pin 2 -ին

3. Միացրեք Raspberry Pi- ի բոլոր մալուխները և միացրեք ամեն ինչ:

Քայլ 5: Կառուցեք այն: Ծրագրային ապահովում

Կառուցե It Ծրագրային ապահովում
Կառուցե It Ծրագրային ապահովում

Bark Back- ի հետ կապված մեր նպատակը երկակի է. Շունը հաչելիս միացրեք նվագարկման ձայնը և տվյալները ուղարկեք սերվեր, որտեղ մենք կարող ենք ստուգել այն:

Ահա այս ծրագրի բաց կոդով Python ծրագիրը: Ազատ զգացեք (և խնդրում եմ) հարմարեցնել և փոփոխել կոդը:

Theրագիրը գործարկելու համար անհրաժեշտ է լրացնել երկու բան

- songList: Գրեք ֆայլի ուղու և ֆայլի անունը յուրաքանչյուր երգի համար, որը ցանկանում եք նվագարկել:

- creds: Մուտքագրեք ձեր CloudMQTT տվյալները այս բառարանում:

Քայլ 1. Կարդացեք SparkFun MEMS խոսափողի բացման տախտակում:

Կարդացեք ADC արժեքով (0-ից 1023-ի սահմաններում) MEMS խոսափողի անջատման տախտակից (MCP3002- ի միջոցով) ՝ օգտագործելով SPI գրադարանը և հաշվեք ազդանշանի գագաթնակետից առատություն:

Նշեք ազդանշանի գագաթնակետի ամպլիտուդը ծավալային միավորի: Ընթացիկ ծածկագիրը ADC միջակայքը 0 -ից 700 -ի սահմանում է (արագ փորձերի հիման վրա) մինչև 0 -ից մինչև 10 -ի ծավալի միավոր: Խոսափողի զգայունությունը կարգավորելու համար հարմարեցրեք ADC մուտքի տիրույթը:

MEMS խոսափողի մանրակրկիտ ակնարկի համար տես այս ձեռնարկը:

Քայլ 2: Գործարկեք աուդիո նվագարկիչ:

Սկզբում մեզ երգեր են պետք նվագելու համար: Կարող եք արագ ձայնագրել GarageBand- ում (կամ սմարթֆոնում) և դրանք ուղարկել Raspberry Pi- ին: Python- ում օգտագործեք ենթամշակման գրադարանը `omxplayer զանգահարելու համար:

Կոդում մուտքագրեք այն երգերի ֆայլի ուղին, որոնք ցանկանում եք նվագարկել * songList * փոփոխականում (տող 26): Հիմնական գործառույթի ծավալի ընթացիկ շեմը սահմանվում է 7:

Քայլ 3: Տվյալներ ուղարկեք CloudMQTT սերվերին

CloudMQTT սերվերների հետ շփվելու համար օգտագործեք Paho Client Python գրադարանը: Ամփոփելու համար. Ստեղծեք Հաճախորդի սերվեր; սահմանել հաղորդակցության արձանագրությունները; միացեք մեր հավատարմագրերին (aka creds); և բաժանորդագրվեք և հրապարակեք մեր տվյալները: Դրա մեծ մասը կատարվում է հիմնական գործառույթում (տողեր 129 - 149, և տողեր 169 - 174):

Ստացված տվյալները ստուգելու համար անցեք «Websocket UI» ներդիրին CloudMQTT վահանակում:

Քայլ 6: Փորձարկեք և տեղադրեք:

Փորձարկեք և տեղադրեք
Փորձարկեք և տեղադրեք

Գործարկեք BarkBack.py ծրագիրը տերմինալում կամ Python IDE- ում (արդեն հեռանալուց հետո կարող եք օգտագործել SSH ծրագիրը):

Ստուգեք, որ ծավալի մակարդակներ եք ստանում ձեր Websocket UI ներդիրում:

Փորձարկեք համակարգը ՝ միացնելով խոսափողը (ծափահարել, բղավել, հաչալ և այլն) ՝ համոզվելու համար, որ բարձրախոսները նվագում են բոլոր ձայները:

Երբ ամեն ինչ գործի, խորհուրդ է տրվում բաղադրիչները միացնել PCB- ին (Printed Circuit Board), եթե մտադիր եք համակարգը տեղադրել ավելի քան մի քանի օր:

Միկրոկառավարիչների մրցույթ 2017 թ
Միկրոկառավարիչների մրցույթ 2017 թ
Միկրոկառավարիչների մրցույթ 2017 թ
Միկրոկառավարիչների մրցույթ 2017 թ

Միկրոկառավարիչների մրցույթում երկրորդ տեղը զբաղեցնող 2017 թ

Սենսորների մրցույթ 2017 թ
Սենսորների մրցույթ 2017 թ
Սենսորների մրցույթ 2017 թ
Սենսորների մրցույթ 2017 թ

Առաջին մրցանակ Սենսորների մրցույթում 2017 թ

Խորհուրդ ենք տալիս: