Smart B.A.L (туташкан почта кутусу): 4 кадам
Smart B.A.L (туташкан почта кутусу): 4 кадам
Anonim
Smart B. A. L (туташкан почта кутусу)
Smart B. A. L (туташкан почта кутусу)

Почта ящигиңизди текшергенден чарчадыңыз, бирок ичинде эч нерсе жок. Сиз саякат учурунда почтаңызды же посылкаңызды алаарыңызды билгиңиз келет. Ошентип, туташкан почта кутусу сиз үчүн. Францияда жасалган LORAWAN акыркы технологияларынын жардамы менен почтальон смартфонуңузга электрондук почта аркылуу почта же посылка салган болсо, сизге кабарлайт. Биз этап -этабы менен бул үйрөтмө боюнча прототипти кантип иштеп чыгуу керек.

1 -кадам: жабдуулар

Жабдык
Жабдык

Колдонулган тилдер: C/C ++

Санарип электроника боюнча негизги билим.

Аппараттык талаптар:

Grove-3-Axis Digital Gyro:

Антенна менен Sigfox модулу:

Туш келди баскыч (каалаган нерсеңизди тандаңыз).

Nucleo F030R8:

Программалык камсыздоого талаптар:

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); volatile int колдонмосу; int facteur = 0; Таймер t; AnalogIn Batterie (A3); AnalogIn ref_batt (ADC_VREF); жараксыз lol () {pc.printf ("appui / r / n"); app = 1; } /* void batt () {pc.printf ("batterie faible! / r / n"); }*/ int main () {int x, y, z; // Эң жогорку өткөрүү жөндөмүн коюңуз. gyro.setLpBandwidth (LPFBW_42HZ); char буфер [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("баштоо / r / n"); while (1) {app = 0; x = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); if (x> 5000) {t.start (); pc.printf ("дебюттук мүнөт / r / n"); while (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 Platform and NodeRED) жана API REST сурамдарына негиздедик. IBM Cloud системабыздын ар кайсы бөлүктөрүнүн ортосундагы байланышты башкаруу үчүн колдонулган. Биздин NodeRED агымында көрүнүп тургандай, биз Sigfox APIден келген билдирүүлөрдү (биздин түзмөктөн билдирүүлөрдү жөнөтөт) жана Wix веб -сайтыбыздан (жаңы аппаратты каттоо үчүн) көзөмөлдөйбүз. Ошондой эле, булут кардарга билдирүү электрондук почтасын жөнөтүү жана маалыматтары биздин булутка негизделген маалымат базабызда (MongoDB) сактала турган жаңы кардарды каттоо үчүн жооптуу. Ошентип, NodeRED негизинен туура билдирүү керектүү кардарга убагында жөнөтүлөрүнө ынануу үчүн API REST сурамдарын жана маалымат базасынын сурамдарын (INSERT жана SELECT) башкарат.

Сунушталууда: