Table des matières:

Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes
Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes

Vidéo: Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes

Vidéo: Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes
Vidéo: Capteur de température extérieur Thermis io : test et avis client de Sébastien | Somfy 2024, Juillet
Anonim
Premiers pas avec les capteurs de température et de vibration sans fil longue portée
Premiers pas avec les capteurs de température et de vibration sans fil longue portée

Parfois, les vibrations sont la cause de graves problèmes dans de nombreuses applications. Des arbres et roulements de la machine aux performances des disques durs, les vibrations provoquent des dommages à la machine, un remplacement précoce, de faibles performances et affectent considérablement la précision. La surveillance et l'analyse ponctuelle des vibrations dans la machine peuvent résoudre le problème des dommages précoces et de l'usure de la pièce de la machine.

Dans ce instructable, nous allons travailler sur les capteurs de vibration et de température sans fil à longue portée IoT. Ce sont des capteurs de qualité industrielle avec de nombreuses applications répandues comme.

  • Travail des métaux
  • La production d'énergie
  • Exploitation minière
  • Nourriture et boisson

Ainsi, dans ce Instructable, nous allons passer par les éléments suivants:

  • Configuration des capteurs sans fil à l'aide de XCTU et de l'interface utilisateur Labview.
  • Obtenir les valeurs de vibration du capteur.
  • Comprendre le fonctionnement de l'appareil xbee et du protocole xbee.
  • Configuration des identifiants WiFi et de la configuration IP à l'aide du portail captif

Étape 1: Spécification matérielle et logicielle

Spécification matérielle et logicielle
Spécification matérielle et logicielle
Spécification matérielle et logicielle
Spécification matérielle et logicielle
Spécification matérielle et logicielle
Spécification matérielle et logicielle

Spécification matérielle

  • Capteurs de vibrations et de température sans fil
  • Récepteur Zigmo
  • Appareil ESP32 BLE/Wi-Fi

Spécification du logiciel

  • IDE Arduino
  • Utilitaire LabView

Étape 2: Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU

Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU
Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU
Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU
Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU

Chaque appareil IoT a besoin d'un protocole de communication pour mettre l'appareil sur le cloud et pour configurer une interface sans fil entre différents appareils.

Ici, les capteurs sans fil et le récepteur Zigmo utilisent la solution XBee à faible consommation et à longue portée. XBee utilise un protocole ZigBee qui spécifie le fonctionnement dans les bandes ISM 902 à 928 MHz.

Xbee peut être configuré à l'aide du logiciel XCTU

  1. Recherchez l'appareil Xbee ou ajoutez un nouvel appareil Xbee en cliquant sur l'icône en haut à gauche.
  2. L'appareil sera répertorié sur le panneau latéral gauche.
  3. double-cliquez sur l'appareil pour voir les paramètres.
  4. Cliquez maintenant sur l'icône de la console dans le coin supérieur droit
  5. Vous pouvez voir la valeur venir sur la sortie de la console
  6. Ici, nous obtenons la trame de longueur 54 octets
  7. ces octets seraient davantage manipulés pour obtenir les valeurs réelles. la procédure pour obtenir les valeurs réelles de température et de vibration est mentionnée dans les prochaines étapes.

Étape 3: Analyse des valeurs de température et de vibration sans fil à l'aide de l'utilitaire Labview

Analyse sans fil des valeurs de température et de vibration à l'aide de l'utilitaire Labview
Analyse sans fil des valeurs de température et de vibration à l'aide de l'utilitaire Labview
Analyse sans fil des valeurs de température et de vibration à l'aide de l'utilitaire Labview
Analyse sans fil des valeurs de température et de vibration à l'aide de l'utilitaire Labview

Le capteur fonctionne en deux modes

  • Mode de configuration: configurez l'ID de casserole, le délai, le nombre de tentatives, etc.
  • Mode d'exécution: nous exécutons l'appareil en mode d'exécution. Et pour analyser ces valeurs, nous utilisons l'utilitaire Labview

Cette interface utilisateur Labview affiche les valeurs dans de jolis graphiques. Il affiche les valeurs actuelles et passées. Vous pouvez accéder à ce lien pour télécharger l'interface utilisateur Labview.

cliquez sur l'icône Exécuter dans le menu de la page de destination pour passer en mode exécution.

Étape 4: configuration des paramètres DHCP/IP statiques à l'aide du portail captif

Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp
Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp
Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp
Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp
Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp
Configuration des paramètres DHCP/IP statiques à l'aide du portail ca-t.webp

Nous utilisons le portail captif pour enregistrer les informations d'identification WiFi et survoler les paramètres IP. Pour l'introduction détaillée sur le portail captif, vous pouvez passer par l'instructable suivante.

Le portail captif nous donne la possibilité de choisir entre les paramètres statiques et DHCP. Entrez simplement les informations d'identification telles que l'IP statique, le masque de sous-réseau, la passerelle et la passerelle de capteur sans fil sera configurée sur cette IP.

Étape 5: Enregistrement des paramètres WiFi à l'aide du portail captif

Enregistrement des paramètres WiFi à l'aide du portail ca-t.webp
Enregistrement des paramètres WiFi à l'aide du portail ca-t.webp

Une page Web est hébergée où une liste montrant les réseaux WiFi disponibles et là RSSI. Sélectionnez le réseau WiFi et le mot de passe et entrez soumettre. Les informations d'identification seront enregistrées dans l'EEPROM et le paramètre IP sera enregistré dans le SPIFFS. Vous trouverez plus d'informations à ce sujet dans cette instructable.

Étape 6: Publication des lectures des capteurs sur UbiDots

Ici, nous utilisons des capteurs de température et de vibration sans fil avec le récepteur passerelle ESP 32 pour obtenir les données de température et d'humidité. Nous envoyons les données à UbiDots en utilisant le protocole MQTT. MQTT suit un mécanisme de publication et d'abonnement plutôt qu'une demande et une réponse. Il est plus rapide et fiable que HTTP. Cela fonctionne comme suit.

Lecture des données du capteur sans fil

Nous obtenons une trame de 29 octets des capteurs de température et de vibration sans fil. Ce cadre est manipulé pour obtenir la température réelle et les données de vibration

if (Serial2.available()) { data[0] = Serial2.read(); retard(k); if(data[0]==0x7E) { Serial.println("Got Packet"); while (!Serial2.available()); for (i = 1; i< 55; i++) { data = Serial2.read(); retard(1); } if(data[15]==0x7F) /////// pour vérifier si les données reçues sont correctes { if(data[22]==0x08) //////// assurez-vous que le type de capteur est correct { rms_x = ((uint16_t)(((data[24])<<16) + ((data[25])<<8) + (data[26]))/100); rms_y = ((uint16_t)(((données[27])<<16) + ((données[28])<<8) + (données[29]))/100); rms_z = ((uint16_t)(((données[30])<<16) + ((données[31])<<8) + (données[32])))/100); max_x = ((uint16_t)(((données[33])<<16) + ((données[34])<<8) + (données[35]))/100); max_y = ((uint16_t)(((données[36])<<16) + ((données[37])<<8) + (données[38]))/100); max_z = ((uint16_t)(((données[39])<<16) + ((données[40])<<8) + (données[41]))/100);

min_x = ((uint16_t)(((données[42])<<16) + ((données[43])<<8) + (données[44]))/100); min_y = ((uint16_t)(((données[45])<<16) + ((données[46])<<8) + (données[47]))/100); min_z = ((uint16_t)(((données[48])<<16) + ((données[49])<<8) + (données[50]))/100);

cTemp = ((((données[51]) * 256) + données[52])); batterie flottante = ((données[18] * 256) + données[19]); tension d'entretien = 0,00322 * batterie; Serial.print("Numéro de capteur "); Serial.println(data[16]); Serial.print("Type de capteur "); Serial.println(data[22]); Serial.print("Version du micrologiciel "); Serial.println(data[17]); Serial.print("Température en Celsius:"); Serial.print(cTemp); Serial.println("C"); Serial.print("Vibration RMS sur l'axe X:"); Serial.print(rms_x); Serial.println(" mg"); Serial.print("Vibration RMS dans l'axe Y:"); Serial.print(rms_y); Serial.println(" mg"); Serial.print("Vibration RMS dans l'axe Z:"); Serial.print(rms_z); Serial.println(" mg");

Serial.print("Vibration min dans l'axe X:");

Serial.print(min_x); Serial.println(" mg"); Serial.print("Vibration min dans l'axe Y:"); Serial.print(min_y); Serial.println(" mg"); Serial.print("Vibration min dans l'axe Z:"); Serial.print(min_z); Serial.println(" mg");

Serial.print("Valeur ADC:");

Serial.println(batterie); Serial.print("Tension de la batterie:"); Serial.print (tension); Serial.println("\n"); if (tension < 1) { Serial.println ("Il est temps de remplacer la batterie"); } } } else { pour (i = 0; i< 54; i++) { Serial.print(data); Serial.print(", "); retard(1); } } } }

Connexion à l'API UbiDots MQTT

Incluez le fichier d'en-tête du processus MQTT

#include "PubSubClient.h"

définir d'autres variables pour MQTT comme le nom du client, l'adresse du courtier, l'ID du jeton (nous récupérons l'ID du jeton à partir de l'EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123"char mqttBroker = "things.ubidots.com"; charge utile char[100]; sujet char[150]; //créer une variable pour stocker l'ID du jeton String tokenId;

Créez des variables pour stocker différentes données de capteur et créez une variable char pour stocker le sujet

#define VARIABLE_LABEL_TEMPF "tempF" // Assertion du libellé de la variable#define VARIABLE_LABEL_TEMPC "tempC" // Assinger le libellé de la variable #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Assumer le libellé de la variable

char topic1[100];

char topic2[100]; char topic3[100];

publier les données dans le sujet MQTT mentionné, la charge utile ressemblera à { "tempc": {value: "tempData"}}

sprintf(sujet1, "%s", "");sprintf(sujet1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf(charge utile, "%s", "");

// Nettoie la charge utile sprintf(payload, "{"%s\":", VARIABLE_LABEL_TEMPC);

// Ajoute la valeur sprintf(payload, "%s{"value\":%s}", payload, str_cTemp);

// Ajoute la valeur sprintf(payload, "%s}", payload);

// Ferme les crochets du dictionnaire Serial.println(payload);

Serial.println(client.publish(topic1, payload) ? "published": "notpublished");

//Faire de même pour les autres sujets

client.publish() publie les données sur UbiDots

Étape 7: Visualiser les données

Visualiser les données
Visualiser les données
  • Allez sur Ubidots et connectez-vous à votre compte.
  • Accédez au tableau de bord à partir de l'onglet Données répertorié en haut.
  • Cliquez maintenant sur l'icône "+" pour ajouter les nouveaux widgets.
  • Sélectionnez un widget dans la liste et ajoutez une variable et des appareils.
  • Les données des capteurs peuvent être visualisées sur le tableau de bord à l'aide de différents widgets.

Code général

Le code Over pour HTML et ESP32 se trouve dans ce référentiel GitHub.

  1. Carte de dérivation ncd ESP32.
  2. Capteurs de température et d'humidité sans fil ncd.
  3. pubsubclient
  4. UbiDots

Conseillé: