Sisukord:

Smart B.A.L (ühendatud postkast): 4 sammu
Smart B.A.L (ühendatud postkast): 4 sammu

Video: Smart B.A.L (ühendatud postkast): 4 sammu

Video: Smart B.A.L (ühendatud postkast): 4 sammu
Video: Детский плед крючком. РЕКОМЕНДУЮ связать красивый, развивающий плед крючком каждой мамочке, бабушке 2024, Juuli
Anonim
Smart B. A. L (ühendatud postkast)
Smart B. A. L (ühendatud postkast)

Olete väsinud iga kord oma postkasti kontrollimast, kui sees pole midagi. Soovite teada, kas saate reisi ajal posti või paki kätte. Seega on ühendatud postkast teie jaoks. See annab teile teada, kui postiljon on postitanud posti või paki otse teie nutitelefoni e -posti teel tänu uusimale LORAWANi tehnoloogiale, mis on valmistatud Prantsusmaal. Jätkame samm -sammult, kuidas selles juhendis prototüüpi kujundada.

Samm: varustus

Varustus
Varustus

Kasutatavad keeled: C/C ++

Põhiteadmised digitaalsest elektroonikast.

Riistvara nõuded:

Grove-3-teljeline digitaalne güroskoop:

Komplekti sigfox moodul koos antenniga:

Juhuslik nupp (valige, mida soovite).

Nucleo F030R8:

Tarkvara nõuded:

Hea brauseriga arvuti Mbed kompilaatoriga töötamiseks.

Samm: valmistage seade ette

Valmistage seade ette
Valmistage seade ette

Esiteks peame kõik moodulid kiibiga ühendama.

Lülitage Sigfoxi moodul ja güroskoop sisse 3,3 pingega! Seejärel ühendage UART juhtmed Sigfoxi mooduliga (PA_9, PA_10) ja I2C juhtmed güroskoobiga (PB_10; PB_11). Ühendage nupp PB_3 tihvtidega. kui olete lõpetanud, koostage allolev kood.

Prototüüpi saate testida, pannes güroskoobi postkastile ja hankides mõned liikumisega seotud väärtused ning kontrollides seega, kas tegemist on hoiustatud paki või kirjaga.

#include "mbed.h" #include "ITG3200.h" // ---------------------------------- -// hüperterminali konfiguratsioon // 9600 baudi, 8-bitised andmed, pariteeti pole // ------------------------------ ------ seeriaarvutid (SERIAL_TX, SERIAL_RX); Seeria sigfox (PA_9, PA_10, NULL, 9600); InterruptIn bouton (PB_3); ITG3200 güroskoop (PB_11, PB_10); lenduv int -rakendus; int facteur = 0; Taimer t; AnalogIn aku (A3); AnalogIn ref_batt (ADC_VREF); tühine lol () {pc.printf ("appui / r / n"); rakendus = 1; } /* void batt () {pc.printf ("patareide faible! / r / n"); }*/ int main () {int x, y, z; // Suurima ribalaiuse määramine. gyro.setLpBandwidth (LPFBW_42HZ); söe puhver [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("algus / r / n"); samas (1) {app = 0; x = güroskoop.getGyroX (); y = güroskoop.getGyroY (); z = güroskoop.getGyroZ (); kui (x> 5000) {t.start (); pc.printf ("debüüt minut / r / n"); samas (t.lugemine () <10); pc.printf ("fin temps / r / n"); //pc.printf("app= %d / r / n ", rakendus); kui (rakendus == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", puhver); pc.printf ("%s / r / n", puhver); } pc.printf ("fin kui / 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 oota (10); sigfox.printf ("AT $ P = 1"); oodake (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

Samm: trükkplaadi kokkupanek

Eelmine prototüüp on postkasti panemiseks liiga suur. Siin on mõned Gerberi failid vooluringi printimiseks ja komponendi kokkupanekuks.

4. samm: tagakülg

Tagakülje veebisait
Tagakülje veebisait
Tagakülje veebisait
Tagakülje veebisait

Oleme oma taustaarhitektuuri aluseks võtnud IBM Cloudi (IBM IoT Watson Platform ja NodeRED) ning API REST taotlused. IBMi pilve kasutati meie süsteemi erinevate osade vahelise suhtluse haldamiseks. Nagu näete meie NodeRED -voost, kontrollime kõiki Sigfoxi API -lt (mis saadab sõnumeid meie seadmelt) ja meie Wixi veebisaidilt (uue seadme registreerimiseks) saadud päringuid. Samuti vastutab pilv teavitusmeili saatmise eest kliendile ja uue kliendi registreerimise, kelle andmed salvestatakse meie pilvepõhisesse andmebaasi (MongoDB). Seega haldab NodeRED põhimõtteliselt API REST päringuid ja andmebaasipäringuid (INSERT ja SELECT), et tagada õigete teadete õigele kliendile õigeaegne saatmine.

Soovitan: