Sommario:

Braccialetto di orientamento connesso: 6 passaggi
Braccialetto di orientamento connesso: 6 passaggi

Video: Braccialetto di orientamento connesso: 6 passaggi

Video: Braccialetto di orientamento connesso: 6 passaggi
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Dicembre
Anonim
Braccialetto di orientamento connesso
Braccialetto di orientamento connesso

Questo progetto accademico, il braccialetto di orientamento connesso, è stato realizzato da quattro studenti della scuola di ingegneria Polytech Paris-UPMC: Sébastien Potet, Pauline Pham, Kevin Antunes e Boris Bras.

Qual è il nostro progetto?

Durante un semestre, abbiamo dovuto creare un braccialetto connesso che sarà utilizzato da un corridore. Il suo percorso di gara sarà orientato da più punti in cui taggherà, e questo permetterà di registrare il suo percorso. Questi dati verranno archiviati su un cloud in tempo reale.

Questo prodotto può fornire la temperatura, l'umidità e l'orientamento. Inoltre, abbiamo tre pulsanti di cui uno che invia una posizione GPS nel caso in cui il corridore abbia un problema (pulsante SOS), ecco perché ne abbiamo bisogno in tempo reale. Il secondo permette di taggare e l'ultimo di spegnere il braccialetto perché vogliamo un prodotto a basso consumo.

Avevamo un budget di 120€. Per realizzare un braccialetto di orientamento connesso, segui il nostro tutorial!

Passaggio 1: materiale necessario

Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario

Elenco dei componenti:

- STM32L432KC-Nucleo Ultra Low Power

- Modulo SigFox TD1208

- Lettore RFID 125kHz

- Sensore di temperatura/umidità HTU21D

- Modulo accelerometro 3 assi ADXL345

- Modulo bussola 3 assi HMC5883L

- Schermo OLED ADA938

- Modulo GPS Grove 31275

- Batteria 1,5 V LR6

- Regolatore di tensione Pololu 3.3V U1V11F3

- Alcuni pulsanti di controllo

Passaggio 2: parte di programmazione

Parte di programmazione
Parte di programmazione

Prima di tutto, abbiamo programmato ogni componente con il sito per sviluppatori mbed. Per questo, abbiamo utilizzato un microcontrollore STM32L476RG-Nucleo a basso consumo.

Lo schermo, il sensore di temperatura/umidità e la bussola funzionano in comunicazione I²C. Il lettore RFID e l'accelerometro funzionano in comunicazione seriale. Per ogni componente, dovevi aggiungere la propria libreria.

Per il sensore di temperatura/umidità, la bussola e l'accelerometro, è necessario chiamare una funzione definita sulla loro libreria per ottenere i dati.

Il lettore RFID funziona su comunicazione seriale, bisogna usare la funzione "getc()" perchè il tag restituisce i dati in char.

Tutti i codici sono disponibili come file, eccetto il codice dello schermo OLED.

Passaggio 3: assemblaggio elettronico

Assemblaggio elettronico
Assemblaggio elettronico

Dopo aver programmato ogni componente, abbiamo preso una piastra labdec e li abbiamo cablati sull'STM32L432KC-Nucleo. Seguire lo schema elettrico in allegato per assemblare tutti i componenti, oppure ogni PIN è dettagliato sull'assieme del codice.

Abbiamo aggiunto tre pulsanti con tre resistenze da 10 Kilo ohm: uno invia la posizione GPS in caso di pericolo, uno per accendere/spegnere e l'ultimo per consentire al corridore di marcare il punto. Abbiamo aggiunto un segnale acustico quando premi il pulsante SOS.

Il file "braceletOrientation" in allegato è il nostro progetto su Fritzing. Questo è un file riassuntivo dei nostri componenti e del nostro cablaggio su labdec e su PCB. Inoltre, abbiamo aggiunto il codice assembly di tutti i componenti.

Passaggio 4: acquisizione dati

Acquisizione dei dati
Acquisizione dei dati
Acquisizione dei dati
Acquisizione dei dati
Acquisizione dei dati
Acquisizione dei dati

Actoboard

Actoboard è uno strumento basato su dashboard. Visualizza tutti i dati inviati dal modulo Sigfox. Invierà quindi tramite URL questi dati a nodered per essere inseriti nel database.

Invia i dati:

Per inviare i dati tramite il tuo codice devi prima dichiarare il PIN (Tx, Rx) del modulo Sigfox (lo trovi nel nostro codice). Successivamente, grazie a questo comando: "sigfox.printf("AT$SF=%02X%02X%02X%02X%02X%02X \r\n", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", questo esempio invia i dati del GPS ad Actoboard.

Ricevi i dati:

Dopo aver configurato le origini dati in relazione al modulo Sigfox, è necessario impostare il formato dati per ricevere i dati dal codice. Per lo stesso esempio di prima (GPS) devi impostare il formato dei dati in questo modo: "lat_deg::uint:8 long_deg::uint:8 lat_10s::uint:8 long_10s::uint:8 lat_100s::uint:8 long_100s::uint:8".

Fai attenzione al tipo e al numero di bit, devi avere esattamente la stessa lunghezza. Quindi ti consiglio di inserire i tuoi dati nel tuo codice in questo modo: "lat_deg = (int8_t)lat_deg;".

Fai attenzione anche al numero di cifre, in questo esempio trasmettiamo solo dati con 2 cifre max. Ma se vuoi trasferire dati più grandi come "%04X" potresti sapere che Actoboard invertirà la cifra. Ad esempio, se trasmetti 0x3040, Actoboard capirà 0x4030. Quindi è necessario invertire la cifra prima di inviare un formato dati che superi le 2 cifre.

Modifica dashboard:

Per modificare i tuoi dati in una Dashboard su Actoboard, devi solo aggiungere un widget. C'è un elenco di widget, devi scegliere quello che corrisponde al meglio per il tuo sistema. E dopo devi solo scegliere quali dati andranno a riempire quale widget.

Trasmetti a nodered:

Per trasferire tutti i dati che ricevi su Actoboard a nodered tramite URL, devi solo compilare la casella "URL di inoltro" nelle tue impostazioni con l'URL del tuo progetto nodered. Ad esempio, abbiamo riempito la casella con "https://noderedprojet.mybluemix.net/projet".

Passaggio 5: banca dati

Banca dati
Banca dati
Banca dati
Banca dati
Banca dati
Banca dati
Banca dati
Banca dati

Bluemix

  • Nodato:
  • Ricevi il modulo dati Actoboard

Per ottenere il modulo dati Actoboard, devi aggiungere un input "websocket" che devi impostare il metodo tramite "POST" e specificare il tuo URL (esempio nella foto).

Formattazione dei dati

Devi estrarre i dati che vuoi aggiungere nel tuo database (cloudant) e formattarli. per questo, è necessario aggiungere un blocco "funzione". Guarda la foto in allegato per capire come farlo.

Puoi aggiungere elementi geometri su una mappa, ad esempio, abbiamo una funzione che aggiunge un punto con la coordinata GPS su una mappa e li collega. Usiamo questa funzione per creare la gara e dopo, cambiamo l'altra funzione che creerà un poligono attorno al punto se controlli un TAG RFID.

Invia a cloudant

Dopo la formattazione dei dati, è necessario inviarli al DataBase cloudant. Per questo, devi aggiungere un blocco di archiviazione "cloudant" e specificare le impostazioni come il nome del tuo DataBase, l'operazione "inserisci" vedi il nostro esempio in allegato.

Non dimenticare di "distribuire" il tuo nodo affinché il tuo sistema funzioni.

Nuvoloso:

Nel tuo database cloudant, ora puoi vedere tutti i dati che hai inviato con il sigfox e la formattazione nel nodo rosso. Puoi scegliere quali informazioni vuoi vedere come "data, dispositivo, TAG RFID, GPS".

E puoi visualizzare le cose geomtry che hai creato nella funzione nodered nel menu "gps Geospatial Indexes"

Passaggio 6: dimostrazione

Per riassumere, avevamo quattro Interfacce Uomo-Macchina controllate da quattro pulsanti.

L'interfaccia di base indica la temperatura, l'umidità, il numero del tag, un cronometro e la direzione magnetica.

Su uno dei pulsanti di azione, troverai una vera bussola dell'interfaccia. Verrà disegnato un cerchio sullo schermo con la direzione ben posizionata.

Su un'altra azione del pulsante, invierai un messaggio SOS che invierà la tua posizione al database. Inoltre ascolterai un messaggio SOS in codice morse.

Inoltre, all'ultima azione del pulsante riattiverai il tag RFID. Dopodiché hai cinque secondi per contrassegnare il tuo punto di attraversamento. Quindi sentirai un segnale acustico. Questa azione aumenta un contatore sul display e invia il tag con l'ora sul nostro database. Infine, tutti i tag disegneranno la corsa su una mappa.

L'autonomia del nostro orologio è di circa 4h30 (circa 660mA/h). Dipende dal numero di tag selezionato.

Per concludere dopo la gara, troverai tutte le azioni del corridore sul nostro database bluemix.

Consigliato: