Table des matières:

Comment construire une station météo à l'aide de XinaBox et Ubidots sur HTTP : 7 étapes
Comment construire une station météo à l'aide de XinaBox et Ubidots sur HTTP : 7 étapes

Vidéo: Comment construire une station météo à l'aide de XinaBox et Ubidots sur HTTP : 7 étapes

Vidéo: Comment construire une station météo à l'aide de XinaBox et Ubidots sur HTTP : 7 étapes
Vidéo: Création d'une station météo - Microcontrôleur ESP8266 et serveur Web 2024, Juillet
Anonim
Comment construire une station météo en utilisant XinaBox et Ubidots sur HTTP
Comment construire une station météo en utilisant XinaBox et Ubidots sur HTTP

Apprenez à créer votre propre station météo sur Ubidots, en utilisant XinaBox xChips (IP01, CW01 et SW01)

Image
Image

Le module ESP8266 Core et Wi-Fi (xChip CW01) permet aux utilisateurs d'envoyer des données depuis les xChips modulaires de XinaBox vers le cloud. Ces données peuvent être surveillées à distance dans Ubidots, où les utilisateurs peuvent profiter de leur gamme d'outils IoT.

Le capteur météorologique avancé xChip SW01 (Bosch BME280) mesure la température, l'humidité et la pression atmosphérique, à partir desquelles l'altitude, la base des nuages et le point de rosée peuvent également être calculés.

Dans ce tutoriel, nous utilisons le protocole HTTP pour envoyer les données des capteurs à Ubidots. Cela pourrait également être fait en utilisant le protocole MQTT.

À la fin de ce guide, vous serez en mesure de surveiller et de mesurer les conditions météorologiques sur votre appareil XinaBox de n'importe où à distance en utilisant Ubidots.

Étape 1: Exigences

  • 1x CW01 - Noyau WiFi (ESP8266/ESP-12F)
  • 1x IP01 - Interface de programmation USB (FT232R)
  • 1x SW01 - Capteur météorologique avancé (BME280)
  • 1x XC10 - Pack de 10 connecteurs xBUS
  • IDE Arduino
  • Compte Ubidots

Étape 2: configuration du matériel

Connectez CW01, SW01 et IP01 ensemble à l'aide des connecteurs XC10 xBUS. Vous pouvez le connecter comme indiqué dans le schéma ci-dessous. Veuillez consulter ce guide sur la façon d'assembler les xChips en général.

Image
Image

Ensuite, connectez votre appareil et votre PC via l'USB de l'IP01. Pour cela, vous devrez utiliser le logiciel xFlasher pour flasher le code une fois prêt. Consultez ce guide sur l'utilisation du xFlasher.

Étape 3: Configuration de l'IDE Arduino

1. Installez Arduino IDE 1.8.8

2. Installez ces bibliothèques sur Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

REMARQUE: si vous ne savez pas comment installer des bibliothèques, veuillez vous référer au lien: Installation des bibliothèques Arduino

3. Une fois la plate-forme ESP8266 installée, sélectionnez l'appareil ESP8266 avec lequel vous travaillez. Dans le cas, nous travaillons avec un "CW01 (module ESP12F)". Pour sélectionner votre carte à partir de l'IDE Arduino, sélectionnez Outils > Carte "NodeMCU 1.0 (module ESP12E)".

REMARQUE: ESP12F et ESP12E sont interchangeables à cet effet.

Étape 4: comprendre le code

Y compris les bibliothèques:

#include "UbidotsMicroESP8266.h"

#include #include

Entrez vos identifiants Wi-Fi et Ubidots:

#define TOKEN "Your-Token" // Mettez ici votre TOKEN Ubidots

#define WIFISSID "Your-SSID" // Mettez ici votre Wi-Fi SSID #define PASSWORD "password-of-ssid" // Mettez ici votre mot de passe Wi-Fi

Votre TOKEN Ubidots unique est obtenu à partir de votre compte Ubidots. Référez-vous au lien suivant pour savoir où trouver votre TOKEN Ubidots.

Configuration unique, voir les commentaires pour l'auto-explication:

void setup() {

//Débogage à 115200 à l'aide du moniteur série Serial.begin(115200); //Connectez-vous au point d'accès client.wifiConnection(WIFISSID, PASSWORD); // La communication I2C commence Wire.begin(); // Démarrer le capteur SW01 SW01.begin(); //Introduction d'un délai, 2-3 secondes delay(DELAY_TIME); }

Bouclez l'opération, pour qu'elle continue de fonctionner et de se mettre à jour en continu:

boucle vide() {

// Crée une variable pour stocker les données lues à partir de SW01 float tempC, humidity, pressure, alt; //Création des variables de périphérique tempC = 0; humidité = 0; pression = 0; alt=0; // Poll Sensor pour collecter les données SW01.poll(); //Enregistrement des données dans les variables de l'appareil tempC = SW01.getTempC(); // Température en Celsius Serial.println("Temperature: "); Serial.print(tempC); Serial.println(" *C"); Serial.println(); humidité = SW01.getHumidity(); Serial.println("Humidité: "); Serial.print(humidité); Serial.println(" %"); Serial.println(); pression = SW01.getPressure(); Serial.println("Pression: "); Serial.print(pression); Serial.println(" Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("Altitude: "); Serial.print(alt); Serial.println(" m"); Serial.println(); //Créer des variables ubidots client.add("Temperature (*C)", tempC); retard (500); client.add("Humidité (%)", humidité); retard (500); client.add("Pression (Pa)", pression); retard (500); client.add("Altitude (m)", alt); //Envoyer tous les points client.sendAll(true); // délai entre les lectures du capteur pour stabiliser le délai (DELAY_TIME); }

Le code complet:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Mettez ici votre Ubidots TOKEN #define WIFISSID "Your-SSID" // Mettez ici votre Wi-Fi SSID #define PASSWORD "password-of-ssid" // Mettez ici votre mot de passe Wi-Fi client Ubidots (TOKEN); const entier DELAY_TIME = 2000; xSW01 SW01; //Création de l'objet du capteur SW01 void setup() { Serial.begin(115200); client.wifiConnection(WIFISSID, MOT DE PASSE); Fil.begin(); // Démarrer le capteur SW01 SW01.begin(); retard(DELAY_TIME); } void loop() { // Crée une variable pour stocker les données lues à partir de SW01 float tempC, humidity, pressure, alt; tempC = 0; humidité = 0; pression = 0; alt=0; // Poll Sensor pour collecter les données SW01.poll(); //Sauvegarde des données dans la mémoire des variables tempC = SW01.getTempC(); // Température en Celsius Serial.println("Temperature: "); Serial.print(tempC); Serial.println(" *C"); Serial.println(); humidité = SW01.getHumidity(); Serial.println("Humidité: "); Serial.print(humidité); Serial.println(" %"); Serial.println(); pression = SW01.getPressure(); Serial.println("Pression: "); Serial.print(pression); Serial.println(" Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("Altitude: "); Serial.print(alt); Serial.println(" m"); Serial.println(); //Créer des variables ubidots client.add("Temperature (*C)", tempC); retard (500); client.add("Humidité (%)", humidité); retard (500); client.add("Pression (Pa)", pression); retard (500); client.add("Altitude (m)", alt); //Envoyer tous les points client.sendAll(true); // délai entre les lectures du capteur pour stabiliser le délai (DELAY_TIME); }

Étape 5: Connectez-vous à Ubidots

1. Ouvrez votre compte Ubidots. Vous verrez un appareil nommé « ESP8266 » avec 4 variables (voir image ci-dessous).

Visualisation de l'appareil

Image
Image

Visualisation des variables

Image
Image

Si vous souhaitez modifier le nom de l'appareil, utilisez le code:

client.setDataSourceName("Nouveau_nom");

Étape 6: Création de tableaux de bord dans Ubidots

Les tableaux de bord (statiques et dynamiques) sont des interfaces utilisateur pour organiser et présenter les données d'un appareil et les informations dérivées des données. Les tableaux de bord contiennent des widgets qui affichent les données sous forme de graphiques, d'indicateurs, de commandes, de tableaux, de graphiques et d'autres tailles, formes et formulaires.

Pour créer un nouveau tableau de bord dans votre compte Ubidots, reportez-vous au tutoriel Ubidots suivant pour savoir comment le faire.

À titre de référence, une fois votre tableau de bord Ubidots créé, vous devriez avoir quelque chose de similaire à l'image ci-dessous:

Image
Image

CONSEIL DE PRO: Il existe également une gamme d'outils de création de graphiques et de rapports. Si vous souhaitez en savoir plus à ce sujet, nous vous recommandons de consulter ce guide.

Image
Image

Étape 7: Résumé

Dans ce tutoriel, nous avons montré comment coder et connecter une station météo XinaBox à Ubidots. Cela permet une surveillance à distance et peut être effectué en 10 à 15 minutes.

D'autres lecteurs ont également trouvé utile…

  • UbiFunctions: Intégrez les données de la plateforme AmbientWeather à Ubidots
  • Analytique: principes de base des variables synthétiques
  • Contrôle de la température avec Ubidots MQTT et NodeMcu

Conseillé: