Table des matières:
- Étape 1: COMPOSANTS
- Étape 2: CONNEXIONS:
- Étape 3: CODAGE:
- Étape 4: RÉSULTAT:
- Étape 5: Compléter le didacticiel:
Vidéo: Mesure de proximité : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Dans ce didacticiel, je vais expliquer la mesure de la proximité d'un appareil et la publication des valeurs dans la plate-forme cloud Thingsai, io à l'aide d'un capteur à effet hall et d'une carte de développement esp32.
Un capteur à effet Hall est un appareil utilisé pour mesurer l'amplitude d'un champ magnétique. Sa tension de sortie est directement proportionnelle à la force du champ magnétique qui la traverse. Les capteurs à effet Hall sont utilisés pour les applications de détection de proximité, de positionnement, de détection de vitesse et de détection de courant.
Étape 1: COMPOSANTS
Composants matériels:
1. Capteur à effet Hall
2. carte de développement esp32
3. Cavaliers
Composants logiciels:
1. IDE Arduino
2. Les chosesIO. AI
Étape 2: CONNEXIONS:
Capteur à effet Hall ---------------------- esp32
Aout --------------------vp
Gnd ----------------------------- Gnd
Vcc------------------------------3V3
Étape 3: CODAGE:
#comprendre
#comprendre
#comprendre
nombre int=0, i, m, j, k;
mesure int;
broche de sortie int = A0; //ds18b20
///////////////////////////////////// TOUTES LES DECLARATIONS
pour NUAGE /////////////////////////////
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* serveur_heure =
"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;
//////////////////////////////////// HORAIRE
Fonction CALCUL /////////////////////////////////////
int GiveMeTimestamp()
{
long non signé
délai d'attente = millis();
// Client WiFiClient;
tandis que
(client.disponible() == 0)
{
si (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é
position int =
line.indexOf("\"horodatage\""); //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
connexion à un réseau Wi-Fi
WiFiMulti.addAP("nom_wifi", "Mot de 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 valeuranalogique =
analogRead(outputpin);
{
//////////////////////////////////// ENVOYER LA REQUÊTE ET
RECEVOIR LA RÉPONSE//////////////////////
mesure int
= 0;
mesure =
hallLire();Serial.print("Mesure du capteur à effet Hall: ");Serial.println(mesure);
retard(1000);Serial.print("connexion à ");Serial.println(hôte); // à l'envers défini: - hôte = devapi2.thethingscloud.com ou 139.59.26.117
/////////////////////////////////// extrait de code d'horodatage
/////////////////////////
Serial.println("à l'intérieur obtenir l'horodatage\n");
si
(!client.connect(time_server, {
revenir;
//*-*-*-*-*-*-*-*-*-*
}client.println("GET /api/timestamp HTTP/1.1"); //Qu'est-ce que cette partie fait, je n'ai pas comprisclient.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");
Chaîne PostValue =
"{"device_id\": 61121696007, \"slave_id\": 2";
PostValue =
PostValue + ", \"dts\":" +timestamp;
PostValue =
PostValue +", \"data\":{"proximity\":" + mesure +"}"+"}";Serial.println(PostValue);
/* créer 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
demander */
client.println( POST
/devices/deviceData HTTP/1.1");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.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m7tdww);client.print("Contenu-Longueur: ");client.println(PostValue.length());
client.println();client.println(PostValue);
////////////////////////////////PUBLICATION des données sur le
cloud est terminé et obtenez maintenant le formulaire de réponse serveur cloud /////////////////
Serial.print( En attente de réponse
);
tandis que
(!client.available()){
retard (50);
//Serial.print(".");
}
/* si les données sont
disponible puis recevoir et imprimer au Terminal */
tandis que
(client.disponible()) {
caractère 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 4: RÉSULTAT:
Les valeurs lues par le capteur sont envoyées avec succès au cloud IOT et le graphique est créé en tant que proximité en fonction du temps. Ainsi, le fonctionnement du capteur est analysé et utilisé en fonction des domaines d'application requis.
Étape 5: Compléter le didacticiel:
Il s'agit du projet complet pour mesurer la proximité d'un appareil à l'aide du capteur à effet Hall esp32 et de la plateforme cloud Thingsai.io. Merci
Conseillé:
Raspberry Pi - Tutoriel Java du détecteur de proximité numérique infrarouge TMD26721 : 4 étapes
Raspberry Pi - Détecteur de proximité numérique infrarouge TMD26721 Tutoriel Java : Le TMD26721 est un détecteur de proximité numérique infrarouge qui fournit un système de détection de proximité complet et une logique d'interface numérique dans un seul module de montage en surface à 8 broches. La détection de proximité comprend un rapport signal/bruit amélioré et précision. Un pro
Visuino Comment utiliser le capteur de proximité inductif : 7 étapes
Visuino Comment utiliser le capteur de proximité inductif : Dans ce didacticiel, nous utiliserons un capteur de proximité inductif et une LED connectée à Arduino UNO et Visuino pour détecter la proximité du métal.Regardez une vidéo de démonstration
Fabriquer un capteur de proximité avec Magicbit [Magicblocks] : 6 étapes
Faire un capteur de proximité avec Magicbit [Magicblocks] : Ce tutoriel vous apprendra à utiliser un capteur de proximité avec un Magicbit en utilisant Magicblocks. Nous utilisons magicbit comme carte de développement dans ce projet basé sur ESP32. Par conséquent, n'importe quelle carte de développement ESP32 peut être utilisée dans ce projet
Mesure de proximité à distance avec capteur de geste APDS9960 : 6 étapes
Mesure de proximité à distance avec capteur de geste APDS9960 : Dans ce tutoriel, nous allons apprendre à mesurer la distance à l'aide d'un capteur de geste APDS9960, arduino et Visuino.Regardez la vidéo
Air Piano utilisant un capteur de proximité IR, un haut-parleur et un Arduino Uno (mise à niveau/partie 2) : 6 étapes
Air Piano utilisant un capteur de proximité IR, un haut-parleur et Arduino Uno (Mise à niveau/partie 2) : il s'agit d'une version améliorée du projet précédent de Air Piano ?. Ici, j'utilise un haut-parleur JBL comme sortie. J'ai également inclus un bouton tactile pour changer de mode en fonction des besoins. Par exemple : mode Hard Bass, mode Normal, High fr