Innehållsförteckning:
Video: Mätning av jordfuktighet med hjälp av plattformen Esp32 och Thingsio.ai: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
I den här självstudien kommer jag att förklara hur man läser av fuktinnehållet i jorden genom att använda esp32 och sedan skicka värdena till Thingsio.ai IoT -molnplattformen.
Steg 1: KOMPONENTER
Hårdvarukomponenter:
1. esp32 utvecklingskort
2. Jordgivare
3. bygel trådar
Programvara:
1. Arduino IDE
2. Thingsio.ai
Steg 2: ANSLUTNINGAR
Jordfuktighetssensor ---------------------- esp32 Board
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
Steg 3: KODNING:
#omfatta
#omfatta
#omfatta
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
int värde;
///////////////////////////////////////////////////////////////////////////////
för CLOUD ////////////////////////////////////
const char* host = "api.thingsai.io"; // ELLER värd =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ELLER
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // detta är att konvertera tidsstämpel
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server -URL
rödstämpel [10];
WiFiMulti WiFiMulti;
// Använd WiFiClient -klass för att skapa TCP -anslutningar
WiFiClient -klient;
/////////////////////////////////////// TIDSSTÄMPEL
BERÄKNING funktion ////////////////////////////////////////
int GiveMeTimestamp ()
{
osignerad lång
timeout = millis ();
// WiFiClient -klient;
medan
(client.available () == 0)
{
om (millis () -
timeout> 50000)
{
client.stop ();
returnera 0;
}
}
medan (client.available ())
{
Stränglinje =
client.readStringUntil ('\ r'); // indexOf () är en funktion för att söka efter smthng, den returnerar -1 om den inte hittas
int pos =
line.indexOf ("\" tidsstämpel / ""); // sök efter "\" tidsstämpel / "" från början av svaret och kopiera all data efter det, det blir din tidsstämpel
om (pos> =
0)
{
int j = 0;för (j = 0; j <10; j ++)
{tidsstämpel [j] = rad [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.begin (115200);Serial.println ("Läsa från sensorn …");
fördröjning (2000);
// Vi börjar med
ansluta till ett WiFi -nätverk
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("Vänta på WiFi …");medan (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
fördröjning (500);
}Serial.println ("");Serial.println ("WiFi ansluten");
Serial.println ( IP
adress: );Serial.println (WiFi.localIP ());
fördröjning (500);
}
void loop ()
{
{
//////////////////////////////////////////// SKICKA FRÅGAN OCH
MOTTA SVARET /////////////////////////
värde =
analogRead (sensor_pin);
// värde =
karta (värde, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (värde);Serial.println ("%");fördröjning (1000);Serial.print ("ansluta till");Serial.println (värd); // definierad uppåt:- host = devapi2.thethingscloud.com eller 139.59.26.117
//////////////////////////////
/////////////////////////
Serial.println ("inside get timestamp / n");
om
(! client.connect (time_server, {
lämna tillbaka;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/tidsstämpel HTTP/1.1"); // Vad gör den här delen, jag förstod inteclient.println ("Värd: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp ();
// den kommer att ringa till funktionen som kommer att få tidsstämpelns svar från servern
Serial.println ("tidsstämpel mottagen");
Serial.println (tidsstämpel);Serial.println ("inside ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + tidsstämpel;
PostValue =
PostValue +", \" data / ": {" MOIST / ":" +värde +"}" +"}";Serial.println (PostValue);
/ * skapa en instans av WiFiClientSecure */
WiFiClientSecure -klient;Serial.println ("Anslut till servern via port 443");
om
(! client.connect (server, 443)) {Serial.println ("Anslutningen misslyckades!");
} annat {Serial.println ("Ansluten till server!");
/* skapa
begär */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("Värd: api.thingsai.io");//client.println("Connection: close ");client.println ("Innehållstyp: applikation/json");
client.println ( cache-control:
ingen cache ");client.println ("Auktorisation: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC9PN5s9x59y7j9y7s9y7j9j7j9j5j9j5jjjj9JyJjjj9JjjJjJjJjJjJjjjJjJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJclient.print ("Content-Length:");
client.println (PostValue.length ());client.println ();client.println (PostValue);
///////////////////////////////////////
molnet är klart och få nu svarsformuläret molnserver ////////////////////
Serial.print ( Väntar på svar
);
medan
(! client.available ()) {
fördröjning (50);
//Serial.print (".");
}
/* om data är
tillgänglig, ta sedan emot och skriv ut till Terminal */
medan
(client.available ()) {
char c = client.read ();Serial.write (c);
}
/* om
servern frånkopplad, stoppa klienten */
om
(! client.connected ()) {Serial.println ();Serial.println ("Server bortkopplad");
client.stop ();
}
}
Serial.println ( ////////////////////////// ENDEN
///////////////////// );
fördröjning (3000);
}
}
Steg 4: UTGÅNG:
Kodens utmatning visas.
Steg 5: GRAF
Detta är den grafiska representationen av de värden som läses från sensorn.
Steg 6:
Här är hela videon av projektet. Tack.
Rekommenderad:
Mätning av jordfuktighet med hallon Pi 4: 4 -steg
Mätning av jordfuktighet med Raspberry Pi 4: Vet du hur ofta du ska vattna växter? Eller utgjutna växter och tappat dem. För att lösa detta trodde jag att det skulle vara mer omständligt om vi kan få värdet av vatteninnehåll i marken för att kunna fatta ett beslut om att vattna plantorna på lämpligt sätt
IoT -baserat övervaknings- och kontrollsystem för jordfuktighet med hjälp av NodeMCU: 6 steg
IoT-baserat jordfuktighetsövervakning och kontrollsystem med hjälp av NodeMCU: I denna handledning kommer vi att implementera ett IoT-baserat jordfuktighetsövervaknings- och styrsystem med ESP8266 WiFi-modul, dvs NodeMCU.Komponenter som krävs för detta projekt: ESP8266 WiFi-modul- Amazon (334/- INR) Relämodul- Amazon (130/- INR
Mätning av luftfuktighet och temperatur med hjälp av HIH6130 och partikelfoton: 4 steg
Mätning av luftfuktighet och temperatur med HIH6130 och Particle Photon: HIH6130 är en fukt- och temperatursensor med digital utgång. Dessa sensorer ger en noggrannhetsnivå på ± 4% RF. Med branschledande långsiktig stabilitet, sann temperaturkompenserad digital I2C, branschledande tillförlitlighet, energieffektivitet
Mätning av jordfuktighet med Arduino: 6 steg
Mätning av jordfuktighet med Arduino: I denna snabba handledning ska jag visa dig hur du läser en jordfuktighetssensor med arduino och skriver ut jordfuktighetsnivån i Arduino Serial Monitor. Du kan hitta det ursprungliga inlägget skrivet av mig på singalesiska från denna länk
Temperaturmätning med Esp32 och Thingsio.ai -plattformen: 6 steg
Temperaturmätning med hjälp av Esp32 och Thingsio.ai -plattformen: I denna handledning ska jag förklara hur man mäter temperaturen i omgivningen med hjälp av inbyggd temperatursensor som finns i esp32 -utvecklingskortet. esp32 har många inbyggda sensorer som hallsensorn som används som närhetssensor, touch