Sommario:
- Passaggio 1: requisiti
- Passaggio 2: configurazione del cablaggio
- Passaggio 3: configurazione del sensore
- Passaggio 4: invio di dati a Ubidots per la visualizzazione
- Passaggio 5: passaggi opzionali: rinominare il dispositivo e le variabili
- Passaggio 6: configurazione dell'evento
- Passaggio 7: risultato
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Un sistema di monitoraggio della temperatura fornisce preziose informazioni sia in ambienti commerciali che industriali per ridurre le inefficienze o mantenere la qualità dei prodotti e la loro qualità. E se ti dicessi che puoi monitorare la temperatura della tua cantina autocostruita o dell'acquario della tua famiglia a casa usando lo stesso dispositivo. Inoltre, e se ti dicessi che lo stesso dispositivo potrebbe essere utilizzato per monitorare la temperatura dell'aria e del liquido dei fluidi anche nella tua fabbrica? I creatori del nostro mondo lo hanno reso possibile e questa guida è qui per aiutarti a dare il via alle tue iniziative a casa o in officina.
Questa guida sarà il tuo tutorial per un semplice sistema di monitoraggio della temperatura fai-da-te che è anche impermeabile all'avvio. Usando un Raspberry Pi e Ubidots ti mostreremo come collegare il tuo Pi e visualizzare in tempo reale le metriche del tuo sistema di temperatura. Utilizzando Ubidots, puoi anche creare e-mail o eventi SMS per garantire che la tua "variabile" (in questo caso, la temperatura) rimanga all'interno di una serie di limiti definiti da te assegnati per garantire la qualità e l'efficienza delle condizioni del tuo sistema.
Per questo progetto utilizzeremo una versione precablata e impermeabile a 1 filo del sensore DS18B20. Cos'è 1 filo? È un protocollo di comunicazione che semplifica la connessione dei sensori IoT aggregando tutti i cavi in un unico filo (… beh, in realtà sono tre, due sono i collegamenti di terra e di alimentazione per l'energia, il terzo è il cavo 1 per la trasmissione dei dati).
NOTA IMPORTANTE: Il sensore di temperatura 1-Wire ha diverse versioni in vendita; uno con un resistore integrato nel sensore e l'altro senza. Quando acquisti o configuri l'hardware, assicurati che i tuoi dispositivi e sensori siano compatibili prima di procedere ulteriormente in questo tutorial.
Passaggio 1: requisiti
- Modello Raspberry Pi 3 (già configurato)
- Sensore di temperatura OneWire - DS18B20
- Account Ubidots - o - Licenza STEM
Passaggio 2: configurazione del cablaggio
Come accennato in precedenza, il sensore di temperatura OneWire viene venduto con diverse versioni contenenti resistori. Per questo tutorial, illustreremo entrambe le versioni, con e senza resistore. Non importa quale scegli per il tuo sistema, assicurati di ricontrollare che tutte le connessioni siano correttamente basate sui diagrammi e sulle foto sottostanti.
Con resistenza integrata - con connettore Grove
Si prega di seguire la tabella e l'immagine sopra per effettuare i collegamenti giusti per il sensore di temperatura OneWire con resistenza.
SUGGERIMENTO: Arduberry è una nuova campagna in Kickstarter, che offre un modo semplice ed economico per portare gli shield Arduino sul Raspberry Pi. Questa incredibile opzione è il modo più semplice per iniziare a connettere i tuoi sensori grove utilizzando uno shield Arduino Grove. Per ulteriori informazioni su questo, si prega di fare riferimento alla campagna:)
Senza resistore integrato- senza connettore Grove
Il resistore in questa configurazione viene utilizzato come pull-up per la linea dati e deve essere collegato tra il cavo dati e il cavo di alimentazione. Ciò garantisce che la linea dati sia a un livello logico definito e limita le interferenze da rumore elettrico se il nostro pin è stato lasciato flottante.
Utilizzare un resistore da 4,7 kΩ (o 10 k) e seguire lo schema sopra per effettuare i collegamenti corretti. Si noti che i pin collegati nel Raspberry Pi sono gli stessi utilizzati nella tabella.
Passaggio 3: configurazione del sensore
1. 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}
Se non hai già configurato le credenziali del tuo Raspberry Pi, tieni presente che dovrai utilizzare le credenziali predefinite fornite:
- nome utente: pi
- password: lampone
Quando il tuo pi è configurato e connesso correttamente, l'utente del tuo terminale viene elencato come: pi@raspberrypi
2. Ora aggiorniamo alcuni pacchetti e installiamo pip, il gestore di pacchetti di Python. Copia e incolla i comandi seguenti nel tuo terminale e premi "invio" dopo ciascuno per eseguire i comandi.
sudo apt-get update> sudo apt-get upgrade
sudo apt-get install python-pip python-dev build-essential
3. Quindi, installa la libreria Request, che è una popolare libreria Python che semplifica l'esecuzione di richieste HTTP. Copia e incolla i comandi seguenti nel tuo terminale e premi "invio" per eseguire il comando.
$ pip richieste di installazione
4. Il Raspberry Pi è dotato di una gamma di driver per l'interfacciamento. In questo caso, per poter caricare il driver del sensore 1-Wire sui pin GPIO, dobbiamo usare questi due driver sottostanti. Questi driver sono quindi memorizzati come moduli caricabili e il comando modprobe viene utilizzato per avviarli nel kernel Linux quando richiesto.
Esegui i comandi seguenti:
$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm
5. Ora, dobbiamo cambiare la directory nella nostra cartella del dispositivo 1-Wire ed elencare i dispositivi per assicurarci che il nostro sensore sia stato caricato correttamente. Copia e incolla i seguenti comandi nel tuo terminale e premi "invio" dopo ciascuno per eseguire i comandi.
$ cd /sys/bus/w1/devices/> $ ls
In questo momento il sensore è già stato assemblato e collegato e dovrebbe essere elencato come una serie di numeri e lettere. Nel nostro caso, il dispositivo è registrato come 28-00000830fa90, ma il tuo caso sarà una serie diversa di lettere e numeri, quindi sostituisci il nostro numero di serie con il tuo ed esegui il comando.
$ cd 28-00000830fa90
Il sensore scrive periodicamente nel file w1_slave, per leggere il sensore di temperatura, eseguire il comando seguente:
$ cat w1_slave
Questo comando ti mostrerà due righe di testo con l'output t= che mostra la temperatura in gradi Celsius. Si prega di notare che un punto decimale deve essere posizionato dopo le prime due cifre (questo è fornito nel codice finale, non preoccuparti); ad esempio, la lettura della temperatura che abbiamo ricevuto è 29.500 gradi Celsius.
Ora che sei in grado di rilevare le temperature, è ora di pubblicarle su Ubidots!
Passaggio 4: invio di dati a Ubidots per la visualizzazione
Ora è il momento di codificare!:) Crea ed esegui uno script Python nel terminale del tuo computer:
$ nano onewire_temp_ubidots.py
Quindi incolla e salva il seguente codice sul tuo terminale: Premi qui per ottenere il codice
Assicurati di sostituire il numero di serie 28-00000830fa90 con il tuo e assegna il token dell'account Ubidots nell'URL della richiesta. Se non sai come ottenere il tuo token Ubidots, fai riferimento all'articolo seguente per assistenza:
Trova il tuo TOKEN dal tuo account Ubidots
Ora testiamo lo script. Incolla ed esegui lo script seguente nel terminale del tuo computer.
python onewire_temp_ubidots.py
Se funziona correttamente, vedrai un nuovo dispositivo nel tuo account Ubidots con due variabili: temp_celsius e temp_fahrenheit
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 si consiglia di modificare i nomi dei dispositivi e delle variabili per renderli più amichevoli con la nomenclatura. Per sapere come rinominare i nomi delle variabili, vedere di seguito:
Come regolare il nome del dispositivo e il nome della variabile
Puoi anche aggiungere e regolare le unità di ciascuna variabile dal tuo elenco di opzioni.
Come puoi vedere sopra, abbiamo assegnato diverse unità a ciascuna variabile e abbiamo anche assegnato più nomi amichevoli per adattarsi alla nomenclatura dei nostri progetti. Questo è altamente consigliato agli utenti che cercano implementazioni di 100 o dispositivi.
Passaggio 6: configurazione dell'evento
Un evento (o avviso) è qualsiasi azione attivata quando i dati soddisfano o superano una regola di progettazione. Ad esempio, un messaggio di posta elettronica o SMS può essere inviato ogni volta che un sensore smette di inviare dati o una temperatura supera una soglia massima o minima.
Per creare l'evento, fare riferimento all'articolo seguente:
Eventi: creazione di un evento di messaggio di testo (SMS, e-mail e Telegram)
Passaggio 7: risultato
In pochi minuti hai creato un semplice sistema di monitoraggio della temperatura fai-da-te. Ora posiziona i tuoi sensori dove necessario e inizia a monitorare le temperature dal tuo dispositivo oggi stesso!
Buon hackeraggio:)