Sommario:
- Passaggio 1: specifiche hardware e software
- Passaggio 2: configurazione del sensore wireless e del ricevitore Zigmo utilizzando XCTU
- Passaggio 3: analisi dei valori di temperatura e vibrazione wireless utilizzando l'utilità Labview
- Passaggio 4: configurazione delle impostazioni DHCP/IP statico utilizzando Captive Portal
- Passaggio 5: salvataggio delle impostazioni WiFi utilizzando Captive Portal
- Passaggio 6: pubblicazione delle letture dei sensori su UbiDots
- Passaggio 7: visualizzazione dei dati
Video: Introduzione ai sensori di temperatura e vibrazioni wireless a lungo raggio: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
A volte le vibrazioni sono la causa di seri problemi in molte applicazioni. Dagli alberi e cuscinetti della macchina alle prestazioni del disco rigido, le vibrazioni causano danni alla macchina, sostituzioni anticipate, prestazioni ridotte e influiscono notevolmente sulla precisione. Il monitoraggio e l'analisi di volta in volta delle vibrazioni nella macchina possono risolvere il problema dei danni precoci e dell'usura della parte della macchina.
In questo tutorial, lavoreremo sui sensori di temperatura e vibrazione wireless a lungo raggio IoT. Questi sono sensori di livello industriale con molte applicazioni diffuse come.
- Lavorazione dei metalli
- Produzione di energia
- Estrazione
- Cibo e bevande
Quindi, in questo Instructable esamineremo quanto segue:
- Configurazione di sensori wireless utilizzando XCTU e Labview UI.
- Ottenere i valori di vibrazione dal sensore.
- Comprensione del funzionamento del dispositivo xbee e del protocollo xbee.
- Configurazione delle credenziali WiFi e configurazione IP utilizzando il captive portal
Passaggio 1: specifiche hardware e software
Specifiche hardware
- Sensori di vibrazione e temperatura wireless
- Ricevitore Zigmo
- ESP32 BLE/dispositivo WiFi
Specifiche del software
- Arduino IDE
- Utilità LabView
Passaggio 2: configurazione del sensore wireless e del ricevitore Zigmo utilizzando XCTU
Ogni dispositivo IoT necessita di un protocollo di comunicazione per mettere il dispositivo sul cloud e per configurare un'interfaccia wireless tra diversi dispositivi.
Qui i sensori wireless e il ricevitore Zigmo utilizzano la soluzione XBee a bassa potenza e a lungo raggio. XBee utilizza un protocollo ZigBee che specifica il funzionamento nelle bande ISM da 902 a 928 MHz.
Xbee può essere configurato utilizzando il software XCTU
- Cerca il dispositivo Xbee o aggiungi un nuovo dispositivo Xbee facendo clic sull'icona in alto a sinistra.
- Il dispositivo verrà elencato nel pannello di sinistra.
- fare doppio clic sul dispositivo per visualizzare le impostazioni.
- Ora fai clic sull'icona della console nell'angolo in alto a destra
- Puoi vedere il valore in arrivo sull'output della console
- Qui stiamo ottenendo il frame di lunghezza 54 byte
- questi byte sarebbero ulteriormente manipolati per ottenere i valori reali. la procedura per ottenere i valori reali di temperatura e vibrazione è menzionata nei passaggi successivi.
Passaggio 3: analisi dei valori di temperatura e vibrazione wireless utilizzando l'utilità Labview
Il sensore funziona in due modalità
- Modalità di configurazione: Configurare l'ID Pan, il ritardo, il numero di tentativi, ecc. Ulteriori informazioni su questo vanno oltre lo scopo di questa istruzione e verranno spiegate nella prossima istruzione.
- Modalità di esecuzione: stiamo eseguendo il dispositivo in modalità di esecuzione. E per analizzare questi valori stiamo usando l'utility Labview
Questa interfaccia utente di Labview mostra i valori in bei grafici. Mostra i valori attuali e passati. Puoi andare a questo link per scaricare l'interfaccia utente di Labview.
fai clic sull'icona Esegui dal menu della pagina di destinazione per passare alla modalità di esecuzione.
Passaggio 4: configurazione delle impostazioni DHCP/IP statico utilizzando Captive Portal
Stiamo utilizzando il captive portal per salvare le credenziali WiFi e per passare con il mouse sulle impostazioni IP. Per l'introduzione dettagliata sul captive portal, puoi consultare le istruzioni seguenti.
Il captive portal ci offre la possibilità di scegliere tra le impostazioni statiche e DHCP. Basta inserire le credenziali come IP statico, Subnet Mask, gateway e Wireless Sensor Gateway verrà configurato su quell'IP.
Passaggio 5: salvataggio delle impostazioni WiFi utilizzando Captive Portal
Viene ospitata una pagina Web in cui è presente un elenco che mostra le reti WiFi disponibili e RSSI. Seleziona la rete WiFi e la password e inserisci invia. Le credenziali verranno salvate nella EEPROM e l'impostazione IP verrà salvata nello SPIFFS. Maggiori informazioni su questo possono essere trovate in questo istruibile.
Passaggio 6: pubblicazione delle letture dei sensori su UbiDots
Qui stiamo utilizzando i sensori di temperatura e vibrazione wireless con il ricevitore gateway ESP 32 per ottenere i dati di temperatura e umidità. Stiamo inviando i dati a UbiDots utilizzando il protocollo MQTT. MQTT segue un meccanismo di pubblicazione e sottoscrizione piuttosto che richiesta e risposta. È più veloce e affidabile di HTTP. Funziona come segue.
Lettura dei dati del sensore wireless
Riceviamo un frame da 29 byte dai sensori wireless di temperatura e vibrazione. Questo riquadro viene manipolato per ottenere i dati effettivi di temperatura e vibrazione
if (Serial2.available()) { data[0] = Serial2.read(); ritardo(k); if(data[0]==0x7E) { Serial.println("Ho ricevuto il pacchetto"); while (!Serial2.available()); for (i = 1; i< 55; i++) { data = Serial2.read(); ritardo(1); } if(data[15]==0x7F) /////// per verificare se i dati ricevuti sono corretti { if(data[22]==0x08) //////// verificare il tipo di sensore è corretto { rms_x = ((uint16_t)(((data[24])<<16) + ((data[25])<<8) + (data[26]))/100); rms_y = ((uint16_t)(((data[27])<<16) + ((data[28])<<8) + (data[29]))/100); rms_z = ((uint16_t)(((data[30])<<16) + ((data[31])<<8) + (data[32]))/100); max_x = ((uint16_t)(((data[33])<<16) + ((data[34])<<8) + (data[35]))/100); max_y = ((uint16_t)(((data[36])<<16) + ((data[37])<<8) + (data[38]))/100); max_z = ((uint16_t)(((data[39])<<16) + ((data[40])<<8) + (data[41]))/100);
min_x = ((uint16_t)(((data[42])<<16) + ((data[43])<<8) + (data[44]))/100); min_y = ((uint16_t)(((data[45])<<16) + ((data[46])<<8) + (data[47]))/100); min_z = ((uint16_t)(((data[48])<<16) + ((data[49])<<8) + (data[50]))/100);
cTemp = ((((data[51]) * 256) + data[52])); batteria tampone = ((data[18] * 256) + data[19]); tensione di mantenimento = 0,00322 * batteria; Serial.print("Numero sensore"); Serial.println(data[16]); Serial.print("Tipo sensore"); Serial.println(data[22]); Serial.print("Versione firmware "); Serial.println(data[17]); Serial.print("Temperatura in gradi Celsius:"); Serial.print(cTemp); Serial.println("C"); Serial.print("Vibrazione RMS nell'asse X:"); Serial.print(rms_x); Serial.println("mg"); Serial.print("Vibrazione RMS nell'asse Y:"); Serial.print(rms_y); Serial.println("mg"); Serial.print("Vibrazione RMS nell'asse Z:"); Serial.print(rms_z); Serial.println("mg");
Serial.print("Vibrazione minima nell'asse X:");
Serial.print(min_x); Serial.println("mg"); Serial.print("Vibrazione minima nell'asse Y:"); Serial.print(min_y); Serial.println("mg"); Serial.print("Vibrazione minima nell'asse Z:"); Serial.print(min_z); Serial.println("mg");
Serial.print("Valore ADC:");
Serial.println (batteria); Serial.print("Tensione batteria:"); Serial.print (tensione); Serial.println("\n"); if (voltaggio < 1) { Serial.println("È ora di sostituire la batteria"); } } } else { for (i = 0; i< 54; i++) { Serial.print(data); Serial.print(", "); ritardo(1); } } } }
Connessione all'API MQTT di UbiDots
Includere il file di intestazione per il processo MQTT
#include "PubSubClient.h"
definire altre variabili per MQTT come nome client, indirizzo broker, ID token (stiamo recuperando l'ID token da EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123"char mqttBroker = "things.ubidots.com"; char payload[100]; char argomento[150]; //crea variabile per memorizzare l'ID del token String tokenId;
Crea variabili per memorizzare diversi dati del sensore e crea una variabile char per memorizzare l'argomento
#define VARIABLE_LABEL_TEMPF "tempF" // Assegnazione dell'etichetta della variabile#define VARIABLE_LABEL_TEMPC "tempC" // Assegnazione dell'etichetta della variabile #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "umido" // Assegnazione dell'etichetta della variabile
char argomento1[100];
char argomento2[100]; char topic3[100];
pubblica i dati nell'argomento MQTT menzionato, il payload sarà simile a { "tempc": {value: "tempData"}}
sprintf(topic1, "%s", "");sprintf(topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf(carico utile, "%s", "");
// Pulisce il payload sprintf(payload, "{"%s\":", VARIABLE_LABEL_TEMPC);
// Aggiunge il valore sprintf(payload, "%s{"value\":%s}", payload, str_cTemp);
// Aggiunge il valore sprintf(payload, "%s}", payload);
// Chiude le parentesi del dizionario Serial.println(payload);
Serial.println(client.publish(topic1, payload) ? "pubblicato": "non pubblicato");
//Fai lo stesso anche per altri argomenti
client.publish() pubblica i dati su UbiDots
Passaggio 7: visualizzazione dei dati
- Vai su Ubidots e accedi al tuo account.
- Passa alla Dashboard dalla scheda Dati elencata in alto.
- Ora fai clic sull'icona "+" per aggiungere i nuovi widget.
- Seleziona un widget dall'elenco e aggiungi una variabile e dispositivi.
- I dati del sensore possono essere visualizzati sulla dashboard utilizzando diversi widget.
Codice generale
Il codice Over per HTML ed ESP32 può essere trovato in questo repository GitHub.
- scheda di breakout ESP32 ncd.
- ncd Sensori di temperatura e umidità wireless.
- pubsubcliente
- UbiDots
Consigliato:
Stazione meteorologica a lungo raggio HC-12 e sensori DHT: 9 passaggi
Stazione meteorologica a lunga distanza HC-12 e sensori DHT: In questo tutorial impareremo come realizzare una stazione meteorologica a lunga distanza utilizzando due sensori dht, i moduli HC12 e il display LCD I2C. Guarda il video
Esp32-Ubidots-Wireless-lungo raggio Temperatura-E-Umidità: 6 passaggi
Esp32-Ubidots-Wireless-long-range Temperature-And-Humidity: in questo tutorial, misureremo diversi dati di temperatura e umidità utilizzando il sensore di temperatura e umidità. Imparerai anche come inviare questi dati a Ubidots. In modo che tu possa analizzarlo da qualsiasi luogo per diverse applicazioni
ThingSpeak, ESP32 e temperatura e umidità wireless a lungo raggio: 5 passaggi
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
Invio dei dati del sensore di temperatura e umidità wireless a lungo raggio IoT a Google Sheet: 39 passaggi
Invio dei dati del sensore di temperatura e umidità wireless a lungo raggio IoT a Google Sheet: stiamo utilizzando qui il sensore di temperatura e umidità di NCD, ma i passaggi rimangono uguali per qualsiasi prodotto ncd, quindi se disponi di altri sensori wireless ncd, esperienza libera di osservare a fianco inoltre. Per mezzo dell'interruzione di questo testo, è necessario
Sensore di temperatura e umidità wireless a lungo raggio IOT con nodo rosso: 27 passaggi
Sensore di temperatura e umidità wireless a lungo raggio IOT con Node-Red: Presentazione del sensore di temperatura e umidità wireless a lungo raggio di NCD, che vanta una portata fino a 28 miglia utilizzando un'architettura di rete mesh wireless. Incorporando il sensore di temperatura-umidità Honeywell HIH9130, trasmette la temperatura ad alta precisione e