Taula de continguts:
- Pas 1: COMPONENTS
- Pas 2: CONNEXIONS:
- Pas 3: CODIFICACIÓ:
- Pas 4: RESULTAT:
- Pas 5: completar el tutorial:
Vídeo: Mesura de proximitat: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest tutorial explicaré la mesura de la proximitat d’un dispositiu i la publicació dels valors a la plataforma de núvol Thingsai, io mitjançant el sensor hall i la placa de desenvolupament esp32.
Un sensor d’efecte Hall és un dispositiu que s’utilitza per mesurar la magnitud d’un camp magnètic. La seva tensió de sortida és directament proporcional a la intensitat del camp magnètic a través d’ell. Els sensors d’efecte Hall s’utilitzen per a aplicacions de detecció de proximitat, posicionament, detecció de velocitat i detecció de corrent.
Pas 1: COMPONENTS
Components de maquinari:
1. Sensor Hall
2. placa de desenvolupament esp32
3. Cables de pont
Components del programari:
1. ID Arduino
2. CosesIO. AI
Pas 2: CONNEXIONS:
Sensor de sala ---------------------- esp32
Fora ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
Pas 3: CODIFICACIÓ:
#incloure
#incloure
#incloure
int count = 0, i, m, j, k;
mesurament int;
int outputpin = A0; // ds18b20
////////////////////////////////////////// TOTES LES DECLARACIONS
per CLOUD ////////////////////////////////
const char * host = "api.thingsai.io"; // O amfitrió =
devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData"; // OR
/ api / v2 / thingscloud2 / _table / data_ac
const char * servidor_horari =
"baas.thethingscloud.com"; // es tracta de convertir la marca de temps
const int httpPort = 80;
const int httpsPort = 443;
const char * servidor =
"api.thingsai.io"; // URL del servidor
marca de temps char [10];
WiFiMulti WiFiMulti;
// Utilitzeu la classe WiFiClient per crear connexions TCP
Client WiFiClient;
///////////////////////////////////////// TIMESTAMP
Funció CÀLCUL ///////////////////////////////////////////
int GiveMeTimestamp ()
{
sense signar llarg
timeout = millis ();
// Client WiFiClient;
mentre
(client.available () == 0)
{
if (millis () -
temps d'espera> 50000)
{
client.stop ();
retorn 0;
}
}
while (client.available ())
{
Línia de cadena =
client.readStringUntil ('\ r'); // indexOf () és una funció per buscar smthng, torna -1 si no es troba
int pos =
line.indexOf ("\" marca de temps / ""); // cerqueu "\" marca de temps / "" des del començament de la resposta i copieu totes les dades després, serà la vostra marca de temps
si (pos> =
0)
{
int j = 0;per a (j = 0; j <10; j ++)
{marca de temps [j] = línia [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
configuració nul·la ()
{Serial.begin (115200);
retard (10);
// Comencem per
connectar-se a una xarxa WiFi
WiFiMulti.addAP ("nom_wifi", "contrasenya wifi");
Serial.println ();
Serial.println ();Serial.print ("Espereu WiFi …");while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
retard (500);
}Serial.println ("");Serial.println ("WiFi connectat");Serial.println ("adreça IP:");
Serial.println (WiFi.localIP ());
retard (500);
}
bucle buit ()
{
int Valor Analògic =
analogRead (sortida de sortida);
{
///////////////////////////////////////// ENVIAR LA CONSULTA I
REBREU LA RESPOSTA /////////////////////////
mesura int
= 0;
mesura =
hallRead ();Serial.print ("Mesura del sensor Hall:");Serial.println (mesura);
retard (1000);Serial.print ("connectar-se a");Serial.println (amfitrió); // definit al revés: - host = devapi2.thethingscloud.com o 139.59.26.117
/////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("inside get timestamp / n");
si
(! client.connect (time_server, {
tornar;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1"); // Què fa aquesta part, no ho he entèsclient.println ("Amfitrió: baas.thethingscloud.com");client.println ("Control de memòria cau: sense memòria cau");client.println ("Token Postman: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // cridarà la funció
que obtindrà la resposta de marca de temps del servidor
Serial.println ("marca de temps rebuda");
Serial.println (marca de temps);Serial.println ("dins de ThingsCloudPost");
Valor de la cadena =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + marca de temps;
PostValue =
PostValue + ", \" data / ": {" proximitat / ":" + mesura + "}" + "}";Serial.println (PostValue);
/ * creeu una instància de WiFiClientSecure * /
Client WiFiClientSecure;Serial.println ("Connectar-se al servidor mitjançant el port 443");
si
(! client.connect (servidor, 443)) {Serial.println ("La connexió ha fallat!");
} més {Serial.println ("Connectat al servidor!");
/ * crear
sol·licitud * /
client.println ( POST
/ devices / deviceData HTTP / 1.1 ");client.println ("Amfitrió: api.thingsai.io");//client.println("Connection: close ");client.println ("Tipus de contingut: aplicació / json");client.println ("control de memòria cau: sense memòria cau");
client.println ( Autorització:
Portador eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9td;client.print ("Longitud del contingut:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
//////////////////////////////////// PUBLICACIÓ de les dades al
el núvol està fet i ara obtingueu el formulari de resposta del servidor en núvol //////////////////
Serial.print ( S'està esperant la resposta
);
mentre
(! client.available ()) {
retard (50);
//Serial.print (".");
}
/ * si les dades són
disponible i després rebreu i imprimiu a Terminal * /
mentre
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * si el servidor es desconnecta, atureu el client * /
si
(! client.connected ()) {Serial.println ();Serial.println ("Servidor desconnectat");client.stop ();
}
}
Serial.println ( //////////////////////// EL FINAL
///////////////////// );
retard (3000);
}}
Pas 4: RESULTAT:
Els valors que es llegeixen des del sensor s’envien amb èxit al núvol IOT i el gràfic es crea com a proximitat vs temps. Amb això, s'analitza el funcionament del sensor i s'utilitza segons les àrees d'aplicació requerides.
Pas 5: completar el tutorial:
Aquest és el projecte complet per mesurar la proximitat d’un dispositiu mitjançant l’ús del sensor de sala esp32 i la plataforma cloud Cloud Thingsai.io. Gràcies
Recomanat:
Raspberry Pi - Tutorial de Java del detector de proximitat digital d'infrarojos TMD26721: 4 passos
Raspberry Pi - TMD26721 Detector de proximitat digital d'infrarojos Tutorial de Java: TMD26721 és un detector de proximitat digital d'infrarojos que proporciona un sistema complet de detecció de proximitat i una lògica d'interfície digital en un mòdul de muntatge superficial de 8 pins. precisió. Un professional
Visuino Com utilitzar el sensor de proximitat inductiu: 7 passos
Visuino Com utilitzar el sensor de proximitat inductiu: en aquest tutorial utilitzarem un sensor de proximitat inductiu i un LED connectat a Arduino UNO i Visuino per detectar la proximitat del metall. Vegeu un vídeo de demostració
Feu un sensor de proximitat amb Magicbit [Magicblocks]: 6 passos
Feu un sensor de proximitat amb Magicbit [Magicblocks]: aquest tutorial us ensenyarà a utilitzar un sensor de proximitat amb Magicbit mitjançant Magicblocks. Estem utilitzant Magicbit com a tauler de desenvolupament d’aquest projecte basat en ESP32. Per tant, qualsevol placa de desenvolupament ESP32 es pot utilitzar en aquest projecte
Mesura de proximitat de distància amb sensor de gest APDS9960: 6 passos
Mesura de proximitat de distància amb sensor de gest APDS9960: en aquest tutorial aprendrem a mesurar la distància mitjançant un sensor de gest APDS9960, arduino i Visuino. Mireu el vídeo
Air Piano amb sensor de proximitat IR, altaveu i Arduino Uno (actualitzat / part-2): 6 passos
Air Piano amb sensor de proximitat IR, altaveu i Arduino Uno (Actualitzat / part-2): és una versió actualitzada del projecte anterior de piano aire ?. Aquí estic fent servir un altaveu JBL com a sortida. També he inclòs un botó sensible al tacte per canviar de mode segons els requisits. Per exemple: mode de greus durs, mode normal, alt