Costruisci un "mobile minder" per monitorare l'utilizzo del dispositivo

Costruire un

Immagine 1 di 5

L'intero gruppo può essere montato all'interno di una custodia di plastica ordinata
Il BRCK offre connettività Internet ad aree prive di infrastrutture affidabili
Schema elettrico per il mobile minder
Il codice Arduino è breve e semplice
Lo Slice of Radio si aggancia direttamente ai pin GPIO del Pi

Ora siamo pronti per verificare se Raspberry Pi e XinoRF possono comunicare tra loro. Dalla riga di comando del Pi, digita sudo apt-get install minicom per installare il software richiesto. Al termine, avvialo utilizzando il comando sudo minicom –b 9600 –o –D /dev/ttyAMA0 (l'ultima cifra è uno zero); il Pi inizierà ad ascoltare la sua porta seriale (il percorso alla fine) a 9.600 baud.

Adesso, sul PC, avvia l’IDE ​​di Arduino e digita il seguente codice:

Il codice Arduino è breve e semplice

Tutti i programmi Arduino contengono due sezioni principali: “setup” contiene codice che viene eseguito solo quando il microcontrollore viene acceso o riavviato; Il “loop”, come suggerisce il nome, funziona continuamente. XinoRF ha la radio collegata al pin 8, quindi questo codice lo imposta per emettere una tensione, quindi lo accende. Quindi imposta la porta seriale sulla velocità di trasmissione predefinita della radio e stampa un messaggio ogni due secondi.

Facendo clic sul pulsante di caricamento, lo script viene compilato e trasferito a XinoRF. Le parole "Mi senti?" dovrebbe quindi apparire nella finestra Minicom sul tuo Raspberry Pi. L’hardware del nostro progetto è ora configurato.

Gestore mobile 0.1

Ora possiamo scambiare tutte le informazioni che vogliamo tra il Raspberry Pi e una o più unità XinoRF. Ai fini di questo progetto, vogliamo che gli XinoRF comunichino al Pi quando un dispositivo viene rimosso dal pad sensore e quando viene sostituito. Il messaggio dovrebbe contenere un identificatore univoco in modo che Raspberry Pi sappia quale controller lo ha inviato, insieme ai dati stessi, che possono essere qualsiasi sequenza di caratteri ASCII.

XinoRF dovrebbe attendere finché il Raspberry Pi non conferma la ricezione del messaggio, quindi sa che i dati sono stati ricevuti con successo. Ogni volta che un bambino rimuove un dispositivo, programmeremo XinoRF per trasmettere un messaggio simile a questo:

#Xino1#Gilbert#DS#U#

Ciò significa che il controller chiamato "Xino1" sta segnalando che Gilbert ha preso in mano il suo Nintendo DS. Il Pi può leggere il messaggio, utilizzando il simbolo “#” per delineare i diversi campi, quindi annotare l'ora e aggiungere la voce al suo database. Inoltre restituisce un simbolo per indicare che ha ricevuto il messaggio: abbiamo scelto "|", altrimenti non dovrebbe mai essere utilizzato nel contenuto del messaggio.

Il codice per far funzionare tutto questo ammonta a sole 100 righe circa, il che è meglio così, dato che XinoRF ha solo 32 KB di spazio di archiviazione. È ancora un po' troppo lungo per riprodurlo qui, ma puoi scaricarlo tu stesso.

Ora è il momento di concentrarsi sul fare in modo che il Raspberry Pi faccia qualcosa di utile con i dati in arrivo. Il primo lavoro è registrare i dati man mano che arrivano. Per un vero progetto a lungo termine, un database completo come MySQL potrebbe essere la soluzione migliore, ma per mantenere le cose il più semplici possibile, lo salveremo come file CSV. Questo è facile da implementare in Python sul Raspberry Pi e ci consente di importare i dati in un programma di fogli di calcolo e analizzarli in qualsiasi momento.