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

Smart B.A.L (միացված փոստարկղ) ՝ 4 քայլ
Smart B.A.L (միացված փոստարկղ) ՝ 4 քայլ

Video: Smart B.A.L (միացված փոստարկղ) ՝ 4 քայլ

Video: Smart B.A.L (միացված փոստարկղ) ՝ 4 քայլ
Video: 📺 SAMSUNG UE55RU7300UXUA ԿՈՒԵԼ Էկրանի հեռուստացույց / 55 դյույմ 2024, Հուլիսի
Anonim
Smart B. A. L (միացված փոստարկղ)
Smart B. A. L (միացված փոստարկղ)

Դուք հոգնել եք ամեն անգամ փոստարկղը ստուգելուց, մինչդեռ ներսում ոչինչ չկա: Wantանկանում եք իմանալ, արդյոք դուք ստանում եք ձեր փոստը կամ ծանրոցը ճանապարհորդության ընթացքում: Այսպիսով, կապված փոստարկղը ձեզ համար է: Այն ձեզ կտեղեկացնի, եթե փոստատարը փոստ կամ ծանրոց է դրել անմիջապես ձեր սմարթֆոնի վրա ՝ էլ. Մենք քայլ առ քայլ գնում ենք, թե ինչպես ձևավորել նախատիպ այս ուսանելի ամբողջ ընթացքում:

Քայլ 1: Սարքավորում

Սարքավորում
Սարքավորում

Օգտագործված լեզուներ ՝ C/C ++

Թվային էլեկտրոնիկայի հիմնական գիտելիքներ:

Սարքավորման պահանջներ.

Grove-3-Axis Digital Gyro ՝

Kit sigfox մոդուլ ալեհավաքով ՝

Պատահական սեղմման կոճակ (ընտրեք այն, ինչ ցանկանում եք):

Nucleo F030R8:

Softwareրագրային ապահովման պահանջներ.

Mbed կոմպիլյատորի հետ աշխատելու համար լավ դիտարկիչ ունեցող համակարգիչ:

Քայլ 2: Պատրաստեք ձեր սարքը

Պատրաստեք ձեր սարքը
Պատրաստեք ձեր սարքը

Նախ, մենք պետք է միացնենք բոլոր մոդուլները չիպին:

Միացրեք Sigfox մոդուլը և գիրոսկոպը 3.3 լարումով: Այնուհետև UART լարերը միացրեք Sigfox մոդուլին (PA_9, PA_10) և I2C լարերը գիրոսկոպին (PB_10; PB_11): Միացրեք կոճակը PB_3 կապումներով: ավարտելուց հետո կազմեք ներքևի ծածկագիրը:

Դուք կարող եք փորձարկել նախատիպը ՝ տեղադրելով գիրոն փոստարկղի վրա և ստանալ շարժման հետ կապված որոշ արժեքներ և դրանով իսկ ստուգել, արդյոք դա պահված փաթեթ է, թե՞ նամակ:

#ներառել «mbed.h» #ներառել «ITG3200.h» // ---------------------------------- -// Հիպերտերմինալ կոնֆիգուրացիա // 9600 բաուդ, 8-բիթանոց տվյալներ, ոչ մի պարիտետ // ------------------------------ ------ Սերիական համակարգիչ (SERIAL_TX, SERIAL_RX); Սերիական սիգֆոքս (PA_9, PA_10, NULL, 9600); Ընդհատում բուտոնում (PB_3); ITG3200 գիրո (PB_11, PB_10); անկայուն int ծրագիր; int facteur = 0; Timամաչափ t; Անալոգային մարտկոցում (A3); Անալոգային ref_batt (ADC_VREF); void lol () {pc.printf ("appui / r / n"); հավելված = 1; } /* void batt () {pc.printf ("batterie faible! / r / n"); }*/ int main () {int x, y, z; // Սահմանել ամենաբարձր թողունակությունը: gyro.setLpBandwidth (LPFBW_42HZ); char buffer [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise (&bat); //batterie_faible.mode(PullDown); pc.printf ("սկիզբ / r / n"); մինչդեռ (1) {հավելված = 0; x = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); եթե (x> 5000) {t.start (); pc.printf («դեբյուտային րոպե / r / n»); իսկ (t.read () <10); pc.printf ("fin temps / r / n"); //pc.printf("app= %d / r / n ", հավելված); if (app == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", բուֆեր); pc.printf ("%s / r / n", բուֆեր); } pc.printf ("fin if / r / n"); t.stop (); t.reset (); } /* if (batterie.read () <= (2.8* ref_batt.read () /1.23)) pc.printf ("batterie faible / r / n"); sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 սպասել (10); sigfox.printf ("AT $ P = 1"); սպասել (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

Քայլ 3: Հավաքեք PCB

Նախորդ նախատիպը չափազանց մեծ է այն փոստարկղի վրա դնելու համար: Ահա Gerber- ի որոշ ֆայլեր ՝ ձեր սխեման տպելու և ձեր բաղադրիչը հավաքելու համար:

Քայլ 4: Հետադարձ կայք

Հետադարձ կայք
Հետադարձ կայք
Հետադարձ կայք
Հետադարձ կայք

Մենք հիմնեցինք մեր հետևի ճարտարապետությունը IBM Cloud- ի (IBM IoT Watson հարթակ և NodeRED) և API REST- ի հարցումների վրա: IBM Cloud- ն օգտագործվել է մեր համակարգի տարբեր մասերի միջև հաղորդակցությունը կառավարելու համար: Ինչպես տեսնում եք մեր NodeRED հոսքի վրա, մենք վերահսկում ենք Sigfox API- ից (որը ուղարկում է հաղորդագրություններ մեր սարքից) և մեր Wix կայքից (նոր սարք գրանցելու համար) ստացված բոլոր հարցումները: Նաև ամպը պատասխանատու է հաճախորդին ծանուցման էլփոստ ուղարկելու և նոր հաճախորդ գրանցելու համար, որի տեղեկատվությունը կպահվի մեր ամպային բազայում (MongoDB): Այսպիսով, NodeRED- ը հիմնականում կառավարում է API REST- ի հարցումները և տվյալների բազայի հարցումները (INSERT և SELECT) `հավաստիացնելու համար, որ ճիշտ ծանուցումը ճիշտ հաճախորդին կուղարկվի ժամանակին:

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