Table des matières:
- Étape 1: Composants
- Étape 2: CONNEXIONS
- Étape 3: CODAGE
- Étape 4: SORTIE
- Étape 5: Graphique
- Étape 6: Voici une vidéo d'explication brève
Vidéo: Détecteur de mouvement utilisant Thingsai.io Iot Cloud Platform : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Dans ce tutoriel, je vais expliquer la détection de mouvement en utilisant un capteur PIR et Esp32 avec une plate-forme cloud IOT Thingai.io
Étape 1: Composants
COMPOSANTS MATÉRIELS;
Carte de développement 1.esp32
2. Capteur PIR
3. Fils de cavalier
LOGICIEL:
1. IDE Arduino
2. Compte Thingsai.io
Étape 2: CONNEXIONS
Les connexions sont assez simples.
BROCHES PIR ------------ BROCHES ESP32
VCC------------------3V3 sur esp32
GND ------------------ GND sur esp32
SORTIE --------------------D22 sur esp32
Étape 3: CODAGE
Collez ce code dans votre IDE Arduino avec quelques mises à jour, votre capteur de mouvement donnera la sortie parfaitement.
#comprendre
#comprendre
#comprendre
nombre int=0, i, m, j, k;
entier t, t1, t2, t3;
broche int = 22;
///////////////////////////////////// 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 WiFi;
///////////////////////////////////// Fonction CALCUL TIMESTAMP ///////// //////////////////////////////
int GiveMeTimestamp()
{
délai d'attente long 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);
pinMode(pin, INPUT);
// On commence par se connecter à un réseau WiFi
WiFiMulti.addAP("nom_wifi", "mot_passe_Wifi");
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//// ///////////////////
{
bool isDetected = digitalRead(pin);
si (est détecté){
Serial.println("Présence détectée");
}
retard (500);
}
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 compris
client.println("Hôte: 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("horodatage reçu");
Serial.println(horodatage);
Serial.println("à l'intérieur de ThingsCloudPost");
String PostValue = "{"device_id\": 61121695839, \"slave_id\": 2";
PostValue = PostValue + ", \"dts\":" +timestamp;
PostValue = PostValue +", \"data\":{"PIR\":" + pin +"}"+"}";
Serial.println(PostValue);
/* créer une instance de WiFiClientSecure */
Client WiFiClientSecure;
Serial.println("Connectez-vous au serveur via le port 443");
if (!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");
client.println("Type de contenu: application/json");
client.println("cache-control: no-cache");
client.println( Autorisation: Porteur eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTyfV6);
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 */
while (client.available()) {
char c = client.read();
Serial.write(c);
}
/* si le serveur s'est déconnecté, arrête le client */
if (!client.connected()) {
Serial.println();
Serial.println("Serveur déconnecté");javascript:;
client.stop();
}
}
Serial.println("///////////////////// LA FIN //////////////////// ");
retard(3000);
}
}
Étape 4: SORTIE
Il s'agit de la représentation graphique à barres des valeurs lues par le capteur dans la plate-forme cloud Thingsai, io,
Étape 5: Graphique
Il s'agit de la représentation graphique des valeurs du capteur. À partir du graphique ci-dessus, nous pouvons analyser l'application du capteur. Merci
Conseillé:
Détecteur de mouvement utilisant NodeMCU : 5 étapes
Détecteur de mouvement utilisant NodeMCU : Dans ce projet, en utilisant simplement un capteur de mouvement, vous pouvez détecter la présence de tout être humain ou animal. Et par la plate-forme appelée Thingsio, vous pouvez surveiller la date et l'heure à laquelle la présence a été détectée
Lumière de vanité activée par détecteur de mouvement : 6 étapes
Lumière de vanité activée par détecteur de mouvement : J'ai acheté un détecteur de mouvement infrarouge sur eBay pour 1,50 $ et j'ai décidé de l'utiliser à bon escient. J'aurais pu fabriquer ma propre carte de détecteur de mouvement, mais à 1,50 $ (qui comprend 2 potentiomètres pour régler la sensibilité et la minuterie d'arrêt), cela ne fonctionnerait pas
Fabriquez une lampe à détecteur de mouvement simple ! (PIR): 13 étapes (avec photos)
Fabriquez un simple détecteur de mouvement ! (PIR) : faites un petit & Lumière de détection de mouvement simple avec moins de tracas et moins de composants. Un débutant pourrait également le faire
Détecteur de fumée IOT : mettre à jour le détecteur de fumée existant avec IOT : 6 étapes (avec photos)
Détecteur de fumée IOT : Mettre à jour le détecteur de fumée existant avec IOT : Liste des contributeurs, Inventeur : Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Superviseur : Dr Chia Kim Seng Département de génie mécatronique et robotique, Faculté de génie électrique et électronique, Universiti Tun Hussein Onn Malaisie.Distribuer
Sortie à contrôle de mouvement - À partir d'une lumière à détection de mouvement : 6 étapes
Sortie à contrôle de mouvement - À partir d'une lampe à détection de mouvement : Imaginez que vous êtes un trick-or-treater allant à la maison la plus effrayante du bloc. Après avoir dépassé toutes les goules, fantômes et cimetières, vous arrivez enfin au dernier chemin. Vous pouvez voir les bonbons dans un bol devant vous ! Mais soudain, un gho