Table des matières:

LDR à l'aide de Thingsai Cloud : 13 étapes
LDR à l'aide de Thingsai Cloud : 13 étapes

Vidéo: LDR à l'aide de Thingsai Cloud : 13 étapes

Vidéo: LDR à l'aide de Thingsai Cloud : 13 étapes
Vidéo: Hubble - 15 years of discovery 2024, Juillet
Anonim
LDR à l'aide de Thingsai Cloud
LDR à l'aide de Thingsai Cloud

HEY…..aujourd'hui, nous allons apprendre à mesurer l'intensité de la lumière et à publier les valeurs dans la plate-forme cloud THINGSAI IOT en utilisant ESP32.

Les conditions requises pour réaliser ce projet sont

1. Carte de développement ESP32 (j'ai utilisé ESP32 DEVKIT V1)

2. Capteur LDR

3. Fils de cavalier

4. Compte dans THINGSAI IOT PLATFORM

Étape 1: Création et connexion à la plateforme THINGSIO

Création et connexion à la plateforme THINGSIO
Création et connexion à la plateforme THINGSIO

Connectez-vous au compte THINGS AI. Si vous êtes nouveau, enregistrez-vous sur le compte en appuyant sur le bouton d'enregistrement et remplissez toutes les informations d'identification. Votre compte sera créé et à partir de là vous pourrez travailler sur la plateforme cloud et créer votre projet personnalisé

Étape 2: Création d'un nouveau projet

Création d'un nouveau projet
Création d'un nouveau projet

Après vous être connecté au compte, pour créer un projet, cliquez simplement sur le nouveau projet, puis donnez le nom du projet.

Étape 3: Création d'un nouvel appareil

Création d'un nouvel appareil
Création d'un nouvel appareil

après avoir créé le projet, la prochaine chose que vous devez faire est de créer un nouvel appareil. Donnez le nom de l'appareil et entrez l'ID de l'appareil manuellement ou généré par le système.

Étape 4: Définition des paramètres de l'appareil

Définition des paramètres de l'appareil
Définition des paramètres de l'appareil

Donner le paramètre de l'appareil puis sélectionner le type de paramètre

Étape 5: mise à jour de l'appareil

Mise à jour de l'appareil
Mise à jour de l'appareil

Sélectionnez le paramètre puis mettez à jour l'appareil

Étape 6: Codage

Codage
Codage

À partir des exemples de codes, sélectionnez le code d'esp32, copiez-le, puis collez-le dans l'IDE arduino et apportez les modifications nécessaires en fonction des besoins. j'ai donné le code ci-dessous

#include #include

#comprendre

nombre int=0, i, m, j, k;

int t; broche de sortie int = A0; //ds18b20

valeur du capteur int;

///////////////////////////////////// TOUTES LES DÉCLARATIONS pour CLOUD ////// ///////////////////////

const char* hôte = "api.thingsai.io"; // OU

hôte = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // OU /api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // c'est pour convertir l'horodatage

const int httpPort = 80;

const int httpsPort = 443;

const char* serveur = "api.thingsai.io"; // URL du serveur

horodatage du char[10];

WiFiMulti WiFiMulti;

// Utiliser la classe WiFiClient pour créer des connexions TCP

Client WiFiClient;

///////////////////////////////////// Fonction CALCUL TIMESTAMP ///////// ////////////////////////////// int GiveMeTimestamp() { long timeout non signé = millis(); // Client WiFiClient;

while (client.available() == 0)

{

if (millis() - délai d'attente > 50000)

{

client.stop(); renvoie 0;

}

}

tandis que (client.available())

{

Ligne de chaîne = client.readStringUntil('\r'); //indexOf() est une fonction pour rechercher smthng, il renvoie -1 s'il n'est pas trouvé

int pos = line.indexOf("\"timestamp\""); //recherchez "\"timestamp\"" à partir du début de la réponse et copiez toutes les données après cela, ce sera votre horodatage

si (pos >= 0)

{

entier j = 0;

pour(j=0;j<10;j++)

{

horodatage[j] = ligne[pos + 12 + j];

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup()

{

Serial.begin(115200);

retard(10);

// On commence par se connecter à un réseau WiFi

WiFiMulti.addAP("wifi", "pswrd");

Serial.println();

Serial.println();

Serial.print("Attendez le WiFi… ");

while(WiFiMulti.run() != WL_CONNECTED)

{

Serial.print(".");

retard (500);

}

Serial.println("");

Serial.println("WiFi connecté");

Serial.println("Adresse IP: "); Serial.println(WiFi.localIP());

retard (500);

}

boucle vide()

{

int analogValue = analogRead(outputpin);

{ //////////////////////////////////// ENVOYER LA REQUÊTE ET RECEVOIR LA RÉPONSE/// ////////////////////

valeurducapteur = lectureanalogique(A0); // lecture de la broche d'entrée analogique 0

valeurcapteur=valeurcapteur/100;

Serial.print (valeur du capteur, DEC); // imprime la valeur lue

Serial.print(" \n"); // imprime un espace entre les nombres

retard(1000); // attendre 100 ms pour la prochaine lecture

Serial.print("connexion à "); Serial.println(hôte); // à l'envers défini: - hôte = devapi2.thethingscloud.com ou 139.59.26.117

///////////////////////////////////////////////////////////////////////////////////////////// ///////////////

Serial.println("à l'intérieur obtenir l'horodatage\n");

if (!client.connect(time_server, { revenir; //*-*-*-*-*-*-*-*-*-* }

client.println("GET /api/timestamp HTTP/1.1"); //Qu'est-ce que cette partie fait, je n'ai pas obtenu client.println("Host: baas.thethingscloud.com");

client.println("Cache-Control: no-cache");

client.println("Facteur-Jeton: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println();

GiveMeTimestamp(); //il appellera la fonction qui obtiendra la réponse d'horodatage du serveur Serial.println("timestamp receieved");

Serial.println(horodatage);

Serial.println("à l'intérieur de ThingsCloudPost");

String PostValue = "{"device_id\": 61121695844, \"slave_id\": 2";

PostValue = PostValue + ", \"dts\":" +timestamp;

PostValue = PostValue +", \"data\":{"INTENSITY\":" + \sensorvalue +"}"+"}";

Serial.println(PostValue);

/* crée une instance de WiFiClientSecure */ client WiFiClientSecure;

Serial.println("Connectez-vous au serveur via le port 443");

si (!client.connect(serveur, 443))

{

Serial.println("La connexion a échoué !");

}

autre

{ Serial.println("Connecté au serveur !"); /* créer une requête HTTP */

client.println( POST /devices/deviceData

client.println("Hôte: api.thingsai.io"); //client.println("Connexion: fermer"); cl

ient.println("Type de contenu: application/json");

client.println("cache-control: no-cache");

client.println("Autorisation: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC9KajtW6s_AG7); client.print("Contenu-Longueur: ");

client.println(PostValue.length());

client.println();

client.println(PostValue); //////////////////////////////// L'AFFICHAGE des données sur le cloud est terminé et récupérez maintenant le formulaire de réponse cloud serveur//////////////////

Serial.print("En attente de réponse ");

while (!client.available()){

retard (50); //

Serial.print(".");

} /* si les données sont disponibles alors recevoir et imprimer au terminal */

tandis que (client.available())

{

char c = client.read();

Serial.write(c);

}

/* si le serveur s'est déconnecté, arrête le client */

si (!client.connected())

{

Serial.println();

Serial.println("Serveur déconnecté");

client.stop();

}

} Serial.println("//////////////////// LA FIN /////////////////// /");

retard(3000); } }

Étape 7: Sélection de la carte et du port de communication

Sélection de la carte et du port de communication
Sélection de la carte et du port de communication

Dans les outils, sélectionnez la carte, puis sélectionnez le port com

Étape 8: Connexions des circuits

Connexions des circuits
Connexions des circuits
Connexions des circuits
Connexions des circuits
Connexions des circuits
Connexions des circuits

Le codage est effectué puis effectuez les connexions suivantes comme indiqué ci-dessous

CONNEXIONS:

GND de esp32 à GND du capteur LDR

3V3 0f esp32 au Vcc de la LDR

VP d'esp32 à l'A0 de la LDR

Étape 9: compiler et télécharger

Compiler et télécharger
Compiler et télécharger

compilez et téléchargez le code dans l'esp32, puis lisez les lectures du moniteur série. Cela montrerait un résultat quelque chose comme ça

Étape 10: Moniteur série

Moniteur série
Moniteur série

Les valeurs sont obtenues sur le moniteur série puis envoyées à la plateforme THINGSAI IOT Cloud.

Étape 11: Lectures

Lectures
Lectures

Cela montre les valeurs obtenues à partir de la carte esp32.

Étape 12: Représentation graphique

Représentation graphique
Représentation graphique

Il s'agit de la représentation graphique des valeurs obtenues. C'est la fin du tutoriel. J'espère que vous avez compris. Merci

Conseillé: