Sommario:
- Passaggio 1: requisiti
- Passaggio 2: configurazione
- Passaggio 3: collegamento di NanoPi a Ubidot utilizzando Python
- Passaggio 4: ora è il momento di codificare
- Passaggio 5: passaggi opzionali: rinominare il dispositivo e le variabili
- Passaggio 6: creare un crontab per eseguire lo script ogni N minuti
- Passaggio 7: dashboard Ubidots
- Passaggio 8: Notifiche di Internet lento / assente
- Passaggio 9: conclusione
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Raspberry Pi è diventato un dispositivo ampiamente utilizzato non solo per la prototipazione e per scopi didattici, ma anche per progetti di produzione industriale all'interno delle aziende.
Oltre alle dimensioni del Pi, al basso costo e al sistema operativo Linux completamente operativo, può anche interagire con altre periferiche tramite pin GPIO (General Purpose Input/Ourput Pins) consentendo di codificare applicazioni hardware piuttosto robuste senza dover essere un esperto di elettronica incorporata.
Seguendo questo articolo imparerai come misurare la tua velocità internet usando un Raspberry Pi e inviare i parametri al cloud Ubidots per creare gli alert per monitorare la tua connessione internet durante la giornata!
Passaggio 1: requisiti
Per completare questo tutorial, avrai bisogno di:
- Un Raspberry Pi connesso a Internet
- Account Ubidots - o - Licenza STEM
Passaggio 2: configurazione
Questa guida presuppone che il tuo Raspberry Pi sia stato configurato e sia già connesso a Internet. Se non è configurato, puoi farlo rapidamente utilizzando questa guida rapida di Raspberry Pi Foundation.
NOTA: Se stai utilizzando un dongle WiFi, ti suggeriamo di utilizzare Wicd per gestire la tua connessione WiFi.
Passaggio 3: collegamento di NanoPi a Ubidot utilizzando Python
Con il tuo Raspberry Pi connesso a Internet, verifica l'indirizzo IP assegnato all'accesso alla scheda utilizzando ssh nel terminale del tuo computer:
ssh pi@{IP_Address_assigned}
Nome utente: piPassword: lampone
Come puoi vedere dall'immagine sopra, il tuo accesso è andato a buon fine e l'utente ora è pi@raspberrypi.
Ora aggiorniamo alcuni pacchetti e installiamo pip, il gestore di pacchetti di Python:
sudo apt-get update> sudo apt-get upgrade
sudo apt-get install python-pip python-dev build-essential
Installa le seguenti librerie:
- richieste: per effettuare richieste HTTP da Python a Ubidots
- pyspeedtest: per misurare la velocità di Internet da Python
richieste di installazione pip pyspeedtest
Suggerimento per professionisti: domande frequenti e risoluzione dei problemi: se si verifica un problema di autorizzazione durante l'installazione dei pacchetti richiesti, modificare la modalità utente in root utilizzando il seguente comando:
sudo su
Passaggio 4: ora è il momento di codificare
Crea uno script Python nel terminale del tuo computer:
nano ubi_speed_tester.py
E copia il codice fornito in questo articolo. Assicurati di sostituire il token del tuo account Ubidots nell'URL della richiesta. Se non sai come ottenere il tuo token Ubidots, consulta l'articolo qui sotto:
Trova il tuo TOKEN dal tuo account Ubidots
Ora testiamo lo script:
Python ubi_speed_tester.py
Se funziona correttamente vedrai un nuovo dispositivo nel tuo account Ubidots con tre variabili: Download, Upload e Ping.
Passaggio 5: passaggi opzionali: rinominare il dispositivo e le variabili
I nomi delle variabili create sono gli stessi delle etichette API, che sono gli ID utilizzati dall'API. Ciò non significa che i loro nomi non possano essere modificati, quindi consiglio di cambiare i nomi dei dispositivi e delle variabili per renderli più amichevoli. Per sapere come rinominare i nomi delle variabili, vedere l'articolo di seguito:
Come regolare il nome del dispositivo e il nome della variabile
Puoi anche aggiungere le unità a ciascuna variabile.
Passaggio 6: creare un crontab per eseguire lo script ogni N minuti
Ora che abbiamo testato lo script, possiamo impostarlo per l'esecuzione automatica ogni N minuti. A questo scopo utilizzeremo lo strumento Linux Cron per l'efficienza.
1.- Rendi eseguibile il file nel terminale del tuo computer:
chmod a+x ubi_speed_tester.py
2.- Crea un crontab:
Per qualche motivo, il comando "crontab -e" non funziona immediatamente, quindi la soluzione è installare cron manualmente con i comandi seguenti:
sudo apt-get install cron
quindi digita:
crontab -e
e aggiungi la riga:
* * * * * python /home/pi/ubi_speed_tester.py
per eseguire lo script ogni minuto.
3- Riavvia e controlla i tuoi dati in Ubidots
Per riavviare il Raspberry Pi devi usare come root, per questo tipo:
sudo su
Quindi, digita il comando seguente per riavviare il Raspberry Pi:> reboot
Attendi un minuto e poi vai su Ubidots per iniziare a vedere i risultati che si aggiornano ogni minuto
Passaggio 7: dashboard Ubidots
Ora che i tuoi dati sono in Ubidots, puoi creare dashboard ed eventi utilizzando i tuoi dati. Ecco un esempio:
Widget grafico a barre
Per ulteriori informazioni sulle dashboard Ubidots, consulta il Centro assistenza.
Passaggio 8: Notifiche di Internet lento / assente
Per monitorare la velocità di Internet quando non c'è, abbiamo aggiunto alcuni eventi per avvisare un utente: se Internet è lenta o se non c'è Internet.
- Evento basato sul valore (Internet è lento)
- Evento basato sull'attività (Internet non è attivo)
Per ulteriori informazioni sugli eventi Ubidots, consulta questo articolo del Centro assistenza per maggiori dettagli.
Passaggio 9: conclusione
In pochi minuti hai creato un facile tester di velocità Internet fai-da-te. Ora metti il tuo Raspberry Pi in un posto sicuro dietro il tuo router e non chiederti mai più la velocità di Internet.
Buon hackeraggio:)