Sommario:

ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio: 5 passaggi
ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio: 5 passaggi

Video: ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio: 5 passaggi

Video: ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio: 5 passaggi
Video: Real-time Monitoring of Humidity and Temperature: Sending DHT11 Sensor Data to ThingSpeak Server 2024, Dicembre
Anonim
ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio
ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio

In questo tutorial, misureremo diversi dati di temperatura e umidità utilizzando il sensore di temperatura e umidità. Imparerai anche come inviare questi dati a ThingSpeak. In modo che tu possa analizzarlo da qualsiasi luogo per diverse applicazioni

Passaggio 1: hardware e software necessari

Hardware e software necessari
Hardware e software necessari
Hardware e software necessari
Hardware e software necessari

Hardware:

  • ESP-32: ESP32 semplifica l'utilizzo dell'IDE Arduino e dell'Arduino Wire Language per le applicazioni IoT. Questo modulo IoT ESP32 combina Wi-Fi, Bluetooth e Bluetooth BLE per una varietà di applicazioni diverse. Questo modulo è dotato di 2 core CPU che possono essere controllati e alimentati individualmente e con una frequenza di clock regolabile da 80 MHz a 240 MHz. Questo modulo ESP32 IoT WiFi BLE con USB integrato è progettato per adattarsi a tutti i prodotti IoT ncd.io. Monitora sensori e relè di controllo, FET, controller PWM, solenoidi, valvole, motori e molto altro da qualsiasi parte del mondo utilizzando una pagina Web o un server dedicato. Abbiamo prodotto la nostra versione di ESP32 per adattarsi ai dispositivi NCD IoT, offrendo più opzioni di espansione rispetto a qualsiasi altro dispositivo al mondo! Una porta USB integrata consente una facile programmazione dell'ESP32. Il modulo ESP32 IoT WiFi BLE è un'incredibile piattaforma per lo sviluppo di applicazioni IoT. Questo modulo ESP32 IoT WiFi BLE può essere programmato utilizzando l'IDE Arduino.
  • Sensore di temperatura e umidità wireless a lungo raggio IoT: sensore di umidità wireless a lungo raggio industriale. Grado con una risoluzione del sensore di ±1,7%UR ±0,5°C. Fino a 500.000 trasmissioni da 2 batterie AA. Misura da -40 °C a 125 °C con batterie che sopravvivono a queste valutazioni. Portata LOS di 2 miglia superiore e 28 miglia con antenne ad alto guadagno. Interfaccia con Raspberry Pi, Microsoft Azure, Arduino e altro.
  • Modem wireless mesh a lungo raggio con interfaccia USB

Software utilizzato

  • Arduino IDE
  • CosaParla

Libreria utilizzata

  • Libreria PubSubClient
  • Filo.h

Client Arduino per MQTT

Questa libreria fornisce un client per eseguire semplici messaggi di pubblicazione/sottoscrizione con un server che supporta MQTT

Per ulteriori informazioni su MQTT, visitare mqtt.org.

Scarica

L'ultima versione della libreria può essere scaricata da GitHub

Documentazione

La libreria viene fornita con una serie di schizzi di esempio. Vedi File > Esempi > PubSubClient all'interno dell'applicazione Arduino. Documentazione API completa.

Hardware compatibile

La libreria utilizza l'API Arduino Ethernet Client per interagire con l'hardware di rete sottostante. Ciò significa che funziona solo con un numero crescente di schede e scudi, tra cui:

  • Arduino Ethernet
  • Scudo Ethernet Arduino
  • Arduino YUN: usa lo YunClient incluso al posto di EthernetClient e assicurati di fare prima un Bridge.begin()
  • Arduino WiFi Shield: se desideri inviare pacchetti superiori a 90 byte con questo scudo, abilita l'opzione MQTT_MAX_TRANSFER_SIZE in PubSubClient.h.
  • SparkFun WiFly Shield – se utilizzato con questa libreria
  • Intel Galileo/Edison
  • ESP8266
  • ESP32 La libreria non può essere attualmente utilizzata con hardware basato sul chip ENC28J60, come il Nanode o Nuelectronics Ethernet Shield. Per quelli, è disponibile una libreria alternativa.

Libreria di fili

La libreria Wire permette di comunicare con dispositivi I2C, spesso chiamati anche "2 wire" o "TWI" (Two Wire Interface), scaricabili da Wire.h

Utilizzo di base

  • Wire.begin() Inizia a utilizzare Wire in modalità master, dove avvierai e controllerai i trasferimenti di dati. Questo è l'uso più comune quando si interfaccia con la maggior parte dei chip periferici I2C.
  • Wire.begin(address)Inizia a utilizzare Wire in modalità slave, dove risponderai a "address" quando altri chip master I2C iniziano la comunicazione. Trasmissione
  • Wire.beginTransmission(address) Avvia una nuova trasmissione a un dispositivo in "address". Viene utilizzata la modalità principale.
  • Wire.write(data)Invia dati. In modalità master, deve essere chiamato prima beginTransmission.
  • Wire.endTransmission() In modalità master, ciò termina la trasmissione e fa sì che tutti i dati memorizzati nel buffer vengano inviati.

Ricezione

  • Wire.requestFrom(address, count)Legge "count" byte da un dispositivo in "address". Viene utilizzata la modalità principale.
  • Wire.available() Restituisce il numero di byte disponibili chiamando la ricezione.
  • Wire.read() Ricevi 1 byte.

Passaggio 2: caricamento del codice su ESP32 utilizzando l'IDE di Arduino

  • Prima di caricare il codice è possibile visionare il funzionamento di questo sensore ad un determinato link.
  • Scarica e includi la libreria PubSubClient e la libreria Wire.h.
  • Devi assegnare la tua chiave API, SSID (Nome WiFi) e Password della rete disponibile.
  • Compila e carica il codice Temp-ThinSpeak.ino.
  • Per verificare la connettività del dispositivo e i dati inviati, aprire il monitor seriale. Se non viene visualizzata alcuna risposta, prova a scollegare ESP32 e quindi a ricollegarlo. Assicurati che il baud rate del monitor seriale sia lo stesso specificato nel codice 115200.

Passaggio 3: uscita monitor seriale

Uscita monitor seriale
Uscita monitor seriale

Passaggio 4: far funzionare ThingSpeak

Far funzionare ThingSpeak
Far funzionare ThingSpeak
Far funzionare ThingSpeak
Far funzionare ThingSpeak
Far funzionare ThingSpeak
Far funzionare ThingSpeak
  • Crea l'account su ThnigSpeak.
  • Crea un nuovo canale, facendo clic su Canali.
  • Fare clic su I miei canali.
  • Fare clic su Nuovo canale.
  • All'interno di Nuovo canale, dai un nome al canale.
  • Denominare il Campo all'interno del Canale, Campo è la variabile in cui vengono pubblicati i dati.
  • Ora salva il canale.
  • Ora puoi trovare le tue chiavi API sulla dashboard. Vai al tap sulla homepage e trova la tua 'Write Api Key' che deve essere aggiornata prima di caricare il codice su ESP32.
  • Una volta creato il canale, sarai in grado di visualizzare i tuoi dati di temperatura e umidità in una vista privata con i campi che hai creato all'interno del canale.
  • Per tracciare un grafico tra i dati di temperatura e umidità, puoi utilizzare MATLAB Visualization.
  • Per questo vai su App, fai clic su Visualizzazione MATLAB.
  • All'interno seleziona Custom, in questo, abbiamo selezionato la temperatura del grafico e la velocità del vento su due diversi assi y 8 come esempio. Ora fai clic su Crea.
  • Il codice MATLAB verrà generato automaticamente mentre crei la visualizzazione, ma devi modificare l'id del campo, leggere l'id del canale, puoi controllare la figura seguente.
  • Quindi salva ed esegui il codice.
  • Vedresti la trama.

Consigliato: