Satura rādītājs:

Smart B.A.L (savienota pastkaste): 4 soļi
Smart B.A.L (savienota pastkaste): 4 soļi

Video: Smart B.A.L (savienota pastkaste): 4 soļi

Video: Smart B.A.L (savienota pastkaste): 4 soļi
Video: Explore the Beauty of Capri, Italy Walking Tour - 4K 60fps - with Captions 2024, Novembris
Anonim
Smart B. A. L (savienota pastkaste)
Smart B. A. L (savienota pastkaste)

Jums ir apnicis katru reizi pārbaudīt savu pastkasti, kamēr tajā nav nekā. Jūs vēlaties zināt, vai ceļojuma laikā saņemat pastu vai paku. Tātad pievienotā pastkaste ir paredzēta jums. Pateicoties jaunākajām Francijā ražotajām LORAWAN tehnoloģijām, tas jūs informēs, ja pastnieks ir nosūtījis pastu vai paku tieši jūsu viedtālrunī, izmantojot e -pastu. Mēs soli pa solim gatavojamies izstrādāt prototipu visā šajā pamācībā.

1. solis: Aprīkojums

Aprīkojums
Aprīkojums

Izmantotās valodas: C/C ++

Pamatzināšanas digitālajā elektronikā.

Aparatūras prasības:

Grove-trīs asu digitālais žiroskops:

Sigfox moduļa komplekts ar antenu:

Nejauša spiedpoga (izvēlieties, ko vēlaties).

Nucleo F030R8:

Prasības programmatūrai:

Dators ar labu pārlūkprogrammu darbam ar Mbed kompilatoru.

2. darbība: sagatavojiet ierīci

Sagatavojiet savu ierīci
Sagatavojiet savu ierīci

Pirmkārt, mums ir jāpievieno visi moduļi mikroshēmai.

Barojiet Sigfox moduli un žiroskopu ar 3.3 spriegumu! Pēc tam pievienojiet UART vadus Sigfox modulim (PA_9, PA_10) un I2C vadus žiroskopam (PB_10; PB_11). Savienojiet pogu ar PB_3 tapām. kad esat pabeidzis, apkopojiet zemāk esošo kodu.

Jūs varat pārbaudīt prototipu, novietojot žiroskopu uz pastkastes un iegūt dažas ar kustību saistītas vērtības un tādējādi pārbaudīt, vai tā ir depozīta pakete vai vēstule.

#include "mbed.h" #include "ITG3200.h" // ---------------------------------- -// Hipertermināla konfigurācija 9600 bauds, 8 bitu dati, bez paritātes // ------------------------------ ------ Seriālais dators (SERIAL_TX, SERIAL_RX); Sērijas sigfox (PA_9, PA_10, NULL, 9600); InterruptIn butons (PB_3); ITG3200 žiroskops (PB_11, PB_10); nepastāvīga int lietotne; int facteur = 0; Taimeris t; AnalogIn akumulators (A3); AnalogIn ref_batt (ADC_VREF); void lol () {pc.printf ("appui / r / n"); lietotne = 1; } /* void batt () {pc.printf ("akumulators ir labojams! / r / n"); }*/ int main () {int x, y, z; // Iestatiet vislielāko joslas platumu. gyro.setLpBandwidth (LPFBW_42HZ); ogļu buferšķīdums [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("sākums / r / n"); kamēr (1) {lietotne = 0; x = žiroskops.getGyroX (); y = žiroskops.getGyroY (); z = gyro.getGyroZ (); ja (x> 5000) {t.start (); pc.printf ("debijas minūte / r / n"); kamēr (t.lasīt () <10); pc.printf ("fin temps / r / n"); //pc.printf("app= %d / r / n ", lietotne); ja (lietotne == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", buferis); pc.printf ("%s / r / n", buferis); } pc.printf ("fin ja / r / n"); t.stop (); t.reset (); } /* ja (batterie.read () <= (2.8* ref_batt.read () /1.23)) pc.printf ("batterie faible / r / n"); sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 pagaidiet (10); sigfox.printf ("AT $ P = 1"); pagaidiet (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

3. solis: PCB montāža

Iepriekšējais prototips ir pārāk liels, lai to ievietotu pastkastē. Šeit ir daži Gerber faili, lai izdrukātu ķēdi un saliktu komponentu.

4. darbība: aizmugures vietne

Aizmugurējā vietne
Aizmugurējā vietne
Aizmugurējā vietne
Aizmugurējā vietne

Mēs esam balstījuši savu aizmugures arhitektūru uz IBM Cloud (IBM IoT Watson Platform un NodeRED) un API REST pieprasījumiem. IBM Cloud tika izmantots, lai pārvaldītu saziņu starp dažādām mūsu sistēmas daļām. Kā redzams mūsu NodeRED plūsmā, mēs kontrolējam visus pieprasījumus, kas saņemti no Sigfox API (kas sūta ziņojumus no mūsu ierīces) un no mūsu Wix vietnes (jaunas ierīces reģistrēšanai). Mākonis ir atbildīgs arī par paziņojuma e-pasta nosūtīšanu klientam un par jauna klienta reģistrēšanu, kura informācija tiks saglabāta mūsu mākoņa datu bāzē (MongoDB). Tādējādi NodeRED pamatā pārvalda API REST pieprasījumus un datu bāzes vaicājumus (INSERT un SELECT), lai nodrošinātu, ka īstais paziņojums tiks nosūtīts īstajam klientam laikā.

Ieteicams: