Table des matières:
- Étape 1: Spécification matérielle et logicielle
- Étape 2: Configuration du capteur sans fil et du récepteur Zigmo à l'aide de XCTU
- Étape 3: Analyse des valeurs de température et de vibration sans fil à l'aide de l'utilitaire Labview
- Étape 4: configuration des paramètres DHCP/IP statiques à l'aide du portail captif
- Étape 5: Enregistrement des paramètres WiFi à l'aide du portail captif
- Étape 6: Publication des lectures des capteurs sur UbiDots
- Étape 7: Visualiser les données
Vidéo: Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
- 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
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
- Recherchez l'appareil Xbee ou ajoutez un nouvel appareil Xbee en cliquant sur l'icône en haut à gauche.
- L'appareil sera répertorié sur le panneau latéral gauche.
- double-cliquez sur l'appareil pour voir les paramètres.
- Cliquez maintenant sur l'icône de la console dans le coin supérieur droit
- Vous pouvez voir la valeur venir sur la sortie de la console
- Ici, nous obtenons la trame de longueur 54 octets
- 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
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
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
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
- 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.
- Carte de dérivation ncd ESP32.
- Capteurs de température et d'humidité sans fil ncd.
- pubsubclient
- UbiDots
Conseillé:
IoT- Ubidots- ESP32 + Capteur de vibrations et de température sans fil à longue portée : 7 étapes
IoT- Ubidots- ESP32+Capteur de vibration et de température sans fil à longue portée : la vibration est vraiment un mouvement de va-et-vient - ou une oscillation - des machines et des composants des gadgets motorisés. Les vibrations dans le système industriel peuvent être le symptôme ou le motif d'un problème, ou elles peuvent être associées au fonctionnement quotidien. Par exemple, osci
Envoi des données des capteurs de vibrations et de température sans fil vers Excel à l'aide de Node-RED : 25 étapes
Envoi de données de capteur de vibration et de température sans fil vers Excel à l'aide de Node-RED : Présentation du capteur de vibration et de température sans fil industriel IoT à longue portée de NCD, offrant une portée allant jusqu'à 3 km grâce à l'utilisation d'une structure de réseau maillé sans fil. Intégrant un capteur de vibration et de température de précision 16 bits, cet appareil trans
Capteur de température et d'humidité sans fil à longue portée IOT avec nœud rouge : 27 étapes
Capteur de température et d'humidité sans fil à longue portée IOT avec Node-Red : Présentation du capteur de température et d'humidité sans fil à longue portée de NCD, offrant une portée allant jusqu'à 28 milles en utilisant une architecture de réseau maillé sans fil. L'intégration du capteur de température et d'humidité Honeywell HIH9130 transmet une température très précise et
Indicateur de niveau d'eau sans fil longue portée avec alarme - Portée jusqu'à 1 km - Sept niveaux : 7 étapes
Indicateur de niveau d'eau sans fil longue portée avec alarme | Portée jusqu'à 1 km | Sept niveaux : regardez-le sur Youtube : https://youtu.be/vdq5BanVS0YVous avez peut-être vu de nombreux indicateurs de niveau d'eau filaires et sans fil qui fourniraient une portée allant jusqu'à 100 à 200 mètres. Mais dans ce instructable, vous allez voir un indicateur de niveau d'eau sans fil à longue portée
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch: 6 étapes
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch : Raspberry Pi est idéal pour créer des points d'accès sans fil sécurisés mais il n'a pas une bonne portée, j'ai utilisé un adaptateur sans fil USB TP Link WN7200ND pour l'étendre. Je veux partager comment le fairePourquoi est-ce que je veux utiliser un Raspberry Pi au lieu d'un routeur ?T