Mündəricat:

Smart B.A.L (bağlı poçt qutusu): 4 addım
Smart B.A.L (bağlı poçt qutusu): 4 addım

Video: Smart B.A.L (bağlı poçt qutusu): 4 addım

Video: Smart B.A.L (bağlı poçt qutusu): 4 addım
Video: İlham Əliyev Şamaxıda belə futbol oynadı #shorts 2024, Noyabr
Anonim
Smart B. A. L (bağlı poçt qutusu)
Smart B. A. L (bağlı poçt qutusu)

İçərisində heç bir şey olmadığı halda poçt qutunuzu hər dəfə yoxlamaqdan yoruldunuz. Gəzinti zamanı poçtunuzu və ya bağlamanızı aldığınızı bilmək istəyirsiniz. Beləliklə bağlı poçt qutusu sizin üçündür. Poçtalyon, Fransada istehsal olunan LORAWAN ən son texnologiyaları sayəsində bir e -poçt vasitəsi ilə birbaşa smartfonunuza bir poçt və ya bağlama qoyduğunu bildirəcəkdir. Bu təlimat verilişində bir prototipi necə dizayn edəcəyimizi addım -addım davam etdirəcəyik.

Addım 1: Avadanlıq

Avadanlıq
Avadanlıq

İstifadə olunan dillər: C/C ++

Rəqəmsal elektronikada əsas biliklər.

Avadanlıq tələbləri:

Grove-3 Eksenli Rəqəmsal Gyro:

Antenli Sigfox modulu:

Təsadüfi düymə (istədiyinizi seçin).

Nucleo F030R8:

Proqram tələbləri:

Mbed kompilyatoru ilə işləmək üçün yaxşı bir brauzeri olan bir kompüter.

Addım 2: Cihazınızı hazırlayın

Cihazınızı hazırlayın
Cihazınızı hazırlayın

Əvvəlcə bütün modulları çipə bağlamalıyıq.

Sigfox modulunu və giroskopu 3.3 gərginliklə gücləndirin! Sonra UART tellərini Sigfox moduluna (PA_9, PA_10) və I2C tellərini giroskopa (PB_10; PB_11) qoşun. Düyməni PB_3 pinləri ilə bağlayın. bitirdikdə, aşağıdakı kodu tərtib edin.

Girotu poçt qutusuna qoyaraq prototipi sınaya və hərəkətlə əlaqəli bəzi dəyərlər əldə edə bilərsiniz və buna görə də qoyulmuş bir paket və ya məktub olub olmadığını yoxlaya bilərsiniz.

#"mbed.h" daxil edin "" ITG3200.h "daxil edin // ---------------------------------- -// Hiperterminal konfiqurasiya // 9600 baud, 8-bit məlumat, paritet yoxdur // ------------------------------ ------ Serial kompüter (SERIAL_TX, SERIAL_RX); Serial sigfox (PA_9, PA_10, NULL, 9600); Bağlantıda kəsmə (PB_3); ITG3200 girro (PB_11, PB_10); uçucu int proqramı; int facteur = 0; Taymer t; Analog Batterie (A3); AnalogIn ref_batt (ADC_VREF); boş lol () {pc.printf ("appui / r / n"); tətbiq = 1; } /* void batt () {pc.printf ("batterie faible! / r / n"); }*/ int main () {int x, y, z; // Ən yüksək bant genişliyini təyin edin. gyro.setLpBandwidth (LPFBW_42HZ); char tamponu [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("başlama / r / n"); isə (1) {app = 0; x = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); əgər (x> 5000) {t.start (); pc.printf ("debüt dəqiqəsi / r / n"); while (t.read () <10); pc.printf ("fin temps / r / n"); //pc.printf("app= %d / r / n ", tətbiq); əgər (app == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", tampon); pc.printf ("%s / r / n", tampon); } pc.printf ("fin əgər / 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 gözləyin (10); sigfox.printf ("AT $ P = 1"); gözləyin (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

Addım 3: PCB montajı

Əvvəlki prototip poçt qutusuna qoymaq üçün çox böyükdür. Dövrənizi çap etmək və komponentinizi yığmaq üçün burada bir neçə Gerber faylı var.

Addım 4: arxa planlı veb sayt

Arxa Sayt
Arxa Sayt
Arxa Sayt
Arxa Sayt

Arxa arxitekturamızı IBM Cloud (IBM IoT Watson Platform və NodeRED) və API REST sorğularına əsaslanırıq. IBM Cloud sistemimizin müxtəlif hissələri arasındakı əlaqəni idarə etmək üçün istifadə edilmişdir. NodeRED axınımızda görə biləcəyiniz kimi, Sigfox API -dən (mesajları cihazımızdan göndərən) və Wix veb saytımızdan (yeni bir cihazın qeydiyyatı üçün) alınan bütün istəkləri idarə edirik. Ayrıca, bulud müştəriyə bildiriş e-poçtu göndərməkdən və məlumatları bulud əsaslı verilənlər bazamızda (MongoDB) saxlanılacaq yeni bir müştərinin qeydiyyatı üçün məsuliyyət daşıyır. Beləliklə, NodeRED, düzgün bildirişin vaxtında doğru müştəriyə göndəriləcəyini təmin etmək üçün API REST sorğularını və verilənlər bazası sorğularını (INSERT və SELECT) idarə edir.

Tövsiyə: