Sommario:

Sistema di temperatura Raspberry Pi fai da te con Ubidots: 7 passaggi (con immagini)
Sistema di temperatura Raspberry Pi fai da te con Ubidots: 7 passaggi (con immagini)

Video: Sistema di temperatura Raspberry Pi fai da te con Ubidots: 7 passaggi (con immagini)

Video: Sistema di temperatura Raspberry Pi fai da te con Ubidots: 7 passaggi (con immagini)
Video: MQTT on ESP32 | Controlling Appliances and Monitoring Sensor on Ubidots | ESP32 Projects 2024, Dicembre
Anonim
Sistema di temperatura Raspberry Pi fai-da-te con Ubidots
Sistema di temperatura Raspberry Pi fai-da-te con Ubidots

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

Configurazione del cablaggio
Configurazione del cablaggio
Configurazione del cablaggio
Configurazione del cablaggio
Configurazione del cablaggio
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

Configurazione del sensore
Configurazione del sensore
Configurazione del sensore
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

Invio di dati a Ubidots per la visualizzazione
Invio di dati a Ubidots per la visualizzazione
Invio di dati a Ubidots per la visualizzazione
Invio di dati a Ubidots per la visualizzazione
Invio di dati a Ubidots per la visualizzazione
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

Passaggi facoltativi: rinominare il dispositivo e le variabili
Passaggi facoltativi: rinominare il dispositivo e le variabili
Passaggi facoltativi: rinominare il dispositivo e le variabili
Passaggi facoltativi: 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:)

Consigliato: