Mundarija:

Smart B.A.L (ulangan pochta qutisi): 4 qadam
Smart B.A.L (ulangan pochta qutisi): 4 qadam

Video: Smart B.A.L (ulangan pochta qutisi): 4 qadam

Video: Smart B.A.L (ulangan pochta qutisi): 4 qadam
Video: Telefonning 15 ta siz bilmagan maxfiy kodlari/Телефоннинг сиз билмаган 15 та махфий кодлари 2024, Iyul
Anonim
Smart B. A. L (ulangan pochta qutisi)
Smart B. A. L (ulangan pochta qutisi)

Siz har safar pochta qutingizni tekshirishdan charchadingiz, lekin ichingizda hech narsa yo'q. Siz sayohat paytida sizning pochta yoki posilkangizni olganingizni bilmoqchisiz, shuning uchun ulangan pochta qutisi siz uchun. Agar pochtachi Frantsiyada ishlab chiqarilgan LORAWAN eng yangi texnologiyalari tufayli pochta yoki posilkani to'g'ridan -to'g'ri elektron pochta orqali smartfoningizga qo'ygan bo'lsa, sizga xabar beradi. Biz asta -sekin prototipni qanday dizayn qilishni o'rgatamiz.

1 -qadam: uskunalar

Uskunalar
Uskunalar

Ishlatiladigan tillar: C/C ++

Raqamli elektronika bo'yicha asosiy bilimlar.

Uskuna talablari:

Grove-3 o'qli raqamli gyro:

Antennali sigfox moduli:

Tasodifiy tugma (kerakli narsani tanlang).

Nucleo F030R8:

Dasturiy ta'minot talablari:

Mbed kompilyatori bilan ishlash uchun yaxshi brauzerga ega kompyuter.

2 -qadam: qurilmangizni tayyorlang

Qurilmangizni tayyorlang
Qurilmangizni tayyorlang

Birinchidan, biz barcha modullarni chipga ulashimiz kerak.

Sigfox moduli va giroskopni 3.3 kuchlanish bilan quvvatlang! Keyin UART simlarini Sigfox moduliga (PA_9, PA_10) va I2C simlarini giroskopga (PB_10; PB_11) ulang. Tugmani PB_3 pinlari bilan ulang. tugatgandan so'ng, quyidagi kodni tuzing.

Siz prototipni gyro -ni pochta qutisiga qo'yish orqali sinab ko'rishingiz va harakat bilan bog'liq ba'zi qiymatlarni olishingiz va shu bilan u qo'yilgan paket yoki xat ekanligini tekshirishingiz mumkin.

#"mbed.h" ni qo'shish #"ITG3200.h" ni qo'shish // ---------------------------------- -// Giperterminal konfiguratsiya // 9600 bod, 8-bitli ma'lumotlar, paritet yo'q // ------------------------------ ------ Seriya kompyuter (SERIAL_TX, SERIAL_RX); Serial sigfoks (PA_9, PA_10, NULL, 9600); Tugatish paytida (PB_3); ITG3200 gyro (PB_11, PB_10); o'zgaruvchan int ilovasi; int faktor = 0; Taymer t; Batareyaga o'xshash analog (A3); AnalogIn ref_batt (ADC_VREF); bo'sh lol () {pc.printf ("appui / r / n"); dastur = 1; } /* void batt () {pc.printf ("batterie faux! / r / n"); }*/ int main () {int x, y, z; // Eng yuqori tarmoqli kengligini o'rnating. gyro.setLpBandwidth (LPFBW_42HZ); char bufer [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("boshlanish / r / n"); while (1) {app = 0; x = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); agar (x> 5000) {t.start (); pc.printf ("debyut daqiqasi / r / n"); while (t.read () <10); pc.printf ("vaqt oralig'i / r / n"); //pc.printf("app= %d / r / n ", ilova); agar (ilova == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", bufer); pc.printf ("%s / r / n", bufer); } pc.printf ("if 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 kuting (10); sigfox.printf ("AT $ P = 1"); kuting (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

3 -qadam: PCBni yig'ish

Oldingi prototip uni pochta qutisiga joylashtirish uchun juda katta. Bu erda sizning elektron pochtangizni chop etish va komponentingizni yig'ish uchun ba'zi Gerber fayllari.

4-qadam: Orqa tarafdagi veb-sayt

Orqa tarafdagi veb-sayt
Orqa tarafdagi veb-sayt
Orqa tarafdagi veb-sayt
Orqa tarafdagi veb-sayt

Biz o'z arxitekturamizni IBM Cloud (IBM IoT Watson Platform va NodeRED) va API REST so'rovlariga asosladik. IBM Cloud tizimimizning turli qismlari o'rtasidagi aloqani boshqarish uchun ishlatilgan. Siz ko'rib turganingizdek, NodeRED oqimida biz Sigfox API (bizning qurilmamizdan xabar yuboradigan) va Wix veb -saytidan (yangi qurilmani ro'yxatdan o'tkazish uchun) kelgan barcha so'rovlarni nazorat qilamiz. Shuningdek, bulut mijozga xabarnoma elektron pochta xabarini yuborish va ma'lumotlari bizning bulutli ma'lumotlar bazamizda (MongoDB) saqlanadigan yangi mijozni ro'yxatdan o'tkazish uchun javobgardir. Shunday qilib, NodeRED asosan API -REST so'rovlarini va ma'lumotlar bazasi so'rovlarini boshqaradi (INSERT va SELECT) to'g'ri xabarnoma to'g'ri mijozga o'z vaqtida yuborilishini ta'minlaydi.

Tavsiya: