Sisukord:
- 1. samm: KOMPONENDID
- 2. samm: ÜHENDUSED
- 3. samm: KOODIMINE:
- 4. samm: VÄLJUND:
- 5. samm: GRAFIK
- 6. samm:
Video: Mulla niiskusesisalduse mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selles õpetuses selgitan mullas oleva niiskusesisalduse lugemist esp32 abil ja seejärel väärtuste saatmist asjade Interneti pilvplatvormile.
1. samm: KOMPONENDID
Riistvara komponendid:
1. esp32 arendusplaat
2. Mullaandur
3. Jumper juhtmed
Tarkvara:
1. Arduino IDE
2. Thingsio.ai
2. samm: ÜHENDUSED
Mulla niiskusandur ---------------------- esp32 Board
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
3. samm: KOODIMINE:
#kaasake
#kaasake
#kaasake
int arv = 0, i, m, j, k;
int t;
int sensor_pin = A0;
int väärtus;
//////////////////////////////////////////////////////// KÕIK DEKLARATSIOONID
PILVE jaoks //////////////////////////////
const char* host = "api.thingsai.io"; // VÕI host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VÕI
/api/v2/thingscloud2/_table/data_ac
const char* ajaserver =
"baas.thethingscloud.com"; // see on ajatempli teisendamiseks
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Serveri URL
sümboli ajatempel [10];
WiFiMulti WiFiMulti;
// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks
WiFiClient klient;
/////////////////////////////////////////////////////// TIMESTAMP
Funktsioon ARVUTAMINE ///////////////////////////////////////
int GiveMeTimestamp ()
{
allkirjata pikk
timeout = millis ();
// WiFiClient klient;
samas
(client.available () == 0)
{
kui (millis () -
ajalõpp> 50000)
{
client.stop ();
tagasitulek 0;
}
}
samas (client.available ())
{
Stringirida =
client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita
int pos =
line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel
kui (pos> =
0)
{
int j = 0;jaoks (j = 0; j <10; j ++)
{ajatempel [j] = rida [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
tühine seadistus ()
{Seriaalne algus (115200);Serial.println ("Andurilt lugemine …");
viivitus (2000);
// Alustame
WiFi -võrguga ühenduse loomine
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("Oota WiFi …");samas (WiFiMulti.run ()! = WL_CONNECTED) {Seeria.print (".");
viivitus (500);
}Serial.println ("");Serial.println ("WiFi ühendatud");
Serial.println ( IP
aadress: );Serial.println (WiFi.localIP ());
viivitus (500);
}
tühine tsükkel ()
{
{
///////////////////////////////////////////////////////////////////////////////////////-
VASTA VASTUS ///////////////////////
väärtus =
analogRead (sensor_pin);
// väärtus =
kaart (väärtus, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (väärtus);Serial.println ("%");viivitus (1000);Serial.print ("ühenduse loomine");Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117
/////////////////////////////////////////////////-
/////////////////////////
Serial.println ("inside get timestamp / n");
kui
(! client.connect (time_server, {
tagasipöördumine;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud aruclient.println ("Host: baas.thethingscloud.com");client.println ("Vahemälu kontroll: vahemälu puudub");client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp ();
// see kutsub funktsiooni, mis saab serverilt ajatempli vastuse
Serial.println ("ajatempel saadud");
Serial.println (ajatempel);Serial.println ("sees ThingsCloudPost");
String PostValue =
"{" seadme_id / ": 61121695918, \" orja_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + ajatempel;
PostValue =
PostValue +", \" andmed / ": {" MOIST / ":" +väärtus +"}" +"}";Serial.println (PostValue);
/ * looge WiFiClientSecure'i eksemplar */
WiFiClientSecure klient;Serial.println ("Ühenda serveriga pordi 443 kaudu");
kui
(! client.connect (server, 443)) {Serial.println ("Ühendus ebaõnnestus!");
} muud {Serial.println ("Ühendatud serveriga!");
/* luua
taotlus */client.println ("POST/seadmed/seadmeandmed HTTP/1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Sisu tüüp: rakendus/json");
client.println ( cache-control:
vahemälu puudub ");client.println ("Autoriseerimine: kandja eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2k2kvkclient.print ("Sisu-pikkus:");
klient.println (PostValue.length ());klient.println ();klient.println (PostValue);
//////////////////////////////////////////////// ning andmete postitamine
pilv on tehtud ja hankige nüüd vastusvorm pilveserver //////////////////
Serial.print ( Ootan vastust
);
samas
(! client.available ()) {
viivitus (50);
//Seeria.print (".");
}
/* kui andmed on
saadaval, seejärel võtke vastu ja printige terminali */
samas
(client.available ()) {
char c = klient.lugemine ();Serial.write (c);
}
/* kui
server on lahti ühendatud, peatage klient */
kui
(! client.connected ()) {Serial.println ();Serial.println ("Server on lahti ühendatud");
client.stop ();
}
}
Serial.println ( ////////////////////// LÕPP
///////////////////// );
viivitus (3000);
}
}
4. samm: VÄLJUND:
Kuvatakse koodi väljund.
5. samm: GRAFIK
See on andurilt loetud väärtuste graafiline esitus.
6. samm:
Siin on projekti täielik video. Aitäh.
Soovitan:
Mulla niiskuse mõõtmine Raspberry Pi abil 4: 4 sammu
Mulla niiskuse mõõtmine Raspberry Pi 4 abil: Kas teate, kui tihti taimi kastetakse? Või puistasid taimed välja ja kaotasid need. Selle lahendamiseks arvasin, et oleks olulisem, kui saaksime mulla sees oleva veesisalduse väärtuse, et teha otsus taimede kastmise kohta
DHT temperatuuri ja niiskuse jälgimine ESP8266 ja AskSensors IoT platvormi abil: 8 sammu
DHT temperatuuri ja niiskuse jälgimine ESP8266 ja AskSensors IoT platvormi abil: Eelmises juhendis esitasin samm -sammult juhendi ESP8266 nodeMCU ja AskSensors IoT platvormiga alustamiseks. Selles õpetuses ühendan DHT11 anduri sõlmele MCU. DHT11 on tavaliselt kasutatav temperatuur ja niiskus
Mulla niiskuse mõõtmine Arduino abil: 6 sammu
Pinnase niiskuse mõõtmine Arduino abil: selles lühikeses õpetuses näitan teile, kuidas arduino abil mullaniiskuse andurit lugeda ja Arduino jadamonitoris mulla niiskustaset printida. Selle lingi alt leiate Sinhala originaali postituse, mille olen kirjutanud
Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu
Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: selles õpetuses selgitan ümbruskonna temperatuuri mõõtmist, kasutades esp32 arendusplaadil olevat sisseehitatud temperatuuriandurit. esp32 -l on palju sisseehitatud andureid, näiteks lähedusandurina kasutatav halliandur, puudutage
Mulla niiskuse mõõtmine helivõimsusega: 6 sammu (piltidega)
Mulla niiskuse mõõtmine helivõimendustega: selles õpetuses selgitame, kuidas valmistada seade, mis mõõdab heli amplituudiga mulla niiskust