Sommario:

Smart B.A.L (cassetta postale connessa): 4 passaggi
Smart B.A.L (cassetta postale connessa): 4 passaggi

Video: Smart B.A.L (cassetta postale connessa): 4 passaggi

Video: Smart B.A.L (cassetta postale connessa): 4 passaggi
Video: 10 TRUCCHI DA ELETTRICISTA 2024, Luglio
Anonim
Smart B. A. L (cassetta postale connessa)
Smart B. A. L (cassetta postale connessa)

Sei stanco di controllare ogni volta la tua casella di posta mentre non c'è niente dentro. Vuoi sapere se ricevi la tua posta o un pacco durante un viaggio. Quindi la casella di posta connessa è per te. Ti avviserà se il postino ha depositato una posta o un pacco, direttamente sul tuo smartphone tramite e-mail, grazie alle ultime tecnologie LORAWAN made in France. Stiamo andando passo dopo passo come progettare un prototipo in questo tutorial.

Passaggio 1: attrezzatura

Equipaggiamento
Equipaggiamento

Lingue utilizzate: C/C++

Conoscenze di base in elettronica digitale.

Requisiti hardware:

Grove - Giroscopio digitale a 3 assi:

Kit modulo sigfox con antenna:

Pulsante casuale (scegli quello che vuoi).

Nucleo F030R8:

Requisiti software:

Un computer con un buon browser per lavorare con il compilatore Mbed.

Passaggio 2: prepara il tuo dispositivo

Prepara il tuo dispositivo
Prepara il tuo dispositivo

Per prima cosa, dobbiamo collegare tutti i moduli al chip.

Alimenta il modulo Sigfox e il giroscopio con 3.3 voltaggio! Quindi collega i cavi UART al modulo Sigfox (PA_9, PA_10) e i cavi I2C al giroscopio (PB_10; PB_11). Collegare il pulsante con i pin PB_3. quando hai finito, compila il codice qui sotto.

Puoi testare il prototipo posizionando il giroscopio su una cassetta delle lettere e ottenere alcuni valori relativi al movimento e quindi verificare se si tratta di un pacco depositato o di una lettera.

#include "mbed.h" #include "ITG3200.h" //---------------------------------- -- // Configurazione iperterminale // 9600 baud, dati a 8 bit, nessuna parità //---------------- ------ PC seriale (SERIAL_TX, SERIAL_RX); Sigfox seriale(PA_9, PA_10, NULL, 9600); pulsante InterruptIn (PB_3); Giroscopio ITG3200 (PB_11, PB_10); app int volatile; int facteur=0; Timer t; Batteria AnalogIn(A3); AnalogIn ref_batt(ADC_VREF); void lol() { pc.printf("appui\r\n"); app=1; } /* void batt() { pc.printf("batteria esaurita!\r\n"); }*/ int main() { int x, y, z; //Imposta la larghezza di banda massima. giroscopio.setLpBandwidth(LPFBW_42HZ); buffer di caratteri[20]; bouton.fall(&lol); bottone.mode(PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf("inizio\r\n"); mentre(1) { app=0; x = giroscopio.getGyroX(); y = giroscopio.getGyroY(); z = giroscopio.getGyroZ(); if(x > 5000) { t.start(); pc.printf("minuto di debutto\r\n"); while(t.read() <10); pc.printf("temperature finali\r\n"); //pc.printf("app= %d\r\n", app); if(app == 0) { sigfox.printf("AT$SF=636f757272696572\r\n"); //colis: 636f6c69732e202020 sigfox.scanf("%s", buffer); pc.printf("%s\r\n", buffer); } pc.printf("fin se\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 wait(10); sigfox.printf("AT$P=1"); attendere(10); sigfox.printf("AT$P=0\r\n");*/ } }

Passaggio 3: assemblaggio PCB

Il prototipo precedente è troppo grande per metterlo nella cassetta delle lettere. Ecco alcuni file Gerber per stampare il tuo circuito e assemblare il tuo componente.

Passaggio 4: sito Web di back-end

Sito Web di back-end
Sito Web di back-end
Sito Web di back-end
Sito Web di back-end

Abbiamo basato la nostra architettura di backend su IBM Cloud (IBM IoT Watson Platform e NodeRED) e su richieste API REST. IBM Cloud è stato utilizzato per gestire la comunicazione tra le diverse parti del nostro sistema. Come puoi vedere sul nostro flusso NodeRED, controlliamo tutte le richieste ricevute dall'API Sigfox (che invia i messaggi dal nostro dispositivo) e dal nostro sito Wix (per la registrazione di un nuovo dispositivo). Inoltre, il cloud è responsabile dell'invio dell'e-mail di notifica al cliente e della registrazione di un nuovo cliente le cui informazioni verranno archiviate nel nostro database basato su cloud (MongoDB). Pertanto, NodeRED gestisce fondamentalmente le richieste API REST e le query del database (INSERT e SELECT) per garantire che la notifica corretta venga inviata al client giusto in tempo.

Consigliato: