Taula de continguts:
Vídeo: Mesura del contingut de la humitat del sòl mitjançant la plataforma Esp32 i Thingsio.ai: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest tutorial explicaré sobre la lectura del contingut d'humitat del sòl mitjançant l'esp32 i, a continuació, enviar els valors a la plataforma de núvol IoT de Thingsio.ai.
Pas 1: COMPONENTS
Components de maquinari:
1. placa de desenvolupament esp32
2. Sensor de sòl
3. cables de pont
Programari:
1. ID Arduino
2. Thingsio.ai
Pas 2: CONNEXIONS
Sensor d’humitat del sòl ---------------------- Esp32 Junta
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
Pas 3: CODIFICACIÓ:
#incloure
#incloure
#incloure
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
valor int;
////////////////////////////////////////// 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);Serial.println ("Lectura des del sensor …");
endarreriment (2000);
// Comencem per
connectar-se a una xarxa WiFi
WiFiMulti.addAP ("Wifi_name", "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 ( IP
adreça: );Serial.println (WiFi.localIP ());
retard (500);
}
bucle buit ()
{
{
///////////////////////////////////////// ENVIAR LA CONSULTA I
REBREU LA RESPOSTA /////////////////////////
valor =
analogRead (sensor_pin);
// valor =
mapa (valor, 550, 0, 0, 100);Serial.print ("Posició:");Serial.print (valor);Serial.println ("%");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 / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + marca de temps;
PostValue =
PostValue + ", \" data / ": {" MOIST / ":" + valor + "}" + "}";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 / dispositius / dispositiuData 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.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 fitxer
servidor desconnectat, atureu el client * /
si
(! client.connected ()) {Serial.println ();Serial.println ("Servidor desconnectat");
client.stop ();
}
}
Serial.println ( //////////////////////// EL FINAL
///////////////////// );
retard (3000);
}
}
Pas 4: SORTIDA:
Es mostra la sortida del codi.
Pas 5: GRÀFIC
Aquesta és la representació gràfica dels valors que es llegeixen des del sensor.
Pas 6:
Aquí teniu el vídeo complet del projecte. Gràcies.
Recomanat:
Mesura de la humitat del sòl amb Raspberry Pi 4: 4 passos
Mesurament de la humitat del sòl amb Raspberry Pi 4: Sabeu amb quina freqüència regueu les plantes? O va vessar plantes i les va perdre. Per resoldre això, vaig pensar que seria més circumstancial si aconseguíssim el valor del contingut d’aigua dins del sòl per tal de prendre una decisió per regar les plantes adequadament
Automatitzar un hivernacle amb LoRa! (Part 1) -- Sensors (temperatura, humitat, humitat del sòl): 5 passos
Automatitzar un hivernacle amb LoRa! (Part 1) || Sensors (temperatura, humitat, humitat del sòl): en aquest projecte us mostraré com he automatitzat un hivernacle. Això vol dir que us mostraré com he construït l'hivernacle i com he connectat l'electrònica de potència i automatització. També us mostraré com programar una placa Arduino que utilitzi L
Mesura de la humitat mitjançant HYT939 i fotó de partícules: 4 passos
Mesura de la humitat mitjançant HYT939 i el fotó de partícules: HYT939 és un sensor digital d’humitat que funciona amb el protocol de comunicació I2C. La humitat és un paràmetre fonamental quan es tracta de sistemes mèdics i laboratoris, de manera que, per assolir aquests objectius, hem intentat relacionar HYT939 amb raspberry pi. Jo
Sistema de control i control de la humitat del sòl basat en IoT mitjançant NodeMCU: 6 passos
Sistema de control i control de la humitat del sòl basat en IoT que utilitza NodeMCU: en aquest tutorial implementarem un sistema de control i control de la humitat del sòl basat en IoT mitjançant un mòdul WiFi ESP8266 és a dir, NodeMCU. Components necessaris per a aquest projecte: mòdul WiFi ESP8266 - Amazon (334 / - Mòdul de retransmissió INR): Amazon (130 / - INR
Mesura de la temperatura mitjançant la plataforma Esp32 i Thingsio.ai: 6 passos
Mesura de la temperatura mitjançant la plataforma Esp32 i Thingsio.ai: En aquest tutorial explicaré com es mesura la temperatura de l’entorn mitjançant l’ús del sensor de temperatura incorporat a la placa de desenvolupament d’esp32. esp32 té molts sensors incorporats, com el sensor de sala que s'utilitza com a sensor de proximitat, tàctil