Satura rādītājs:
- 1. darbība: SASTĀVDAĻAS
- 2. darbība: SAVIENOJUMI
- 3. darbība: KODĒŠANA:
- 4. solis: IZEJA:
- 5. darbība: GRAFIKA
- 6. darbība:
Video: Augsnes mitruma satura mērīšana, izmantojot Esp32 un Thingsio.ai platformu: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šajā apmācībā es paskaidrošu, kā nolasīt mitruma saturu augsnē, izmantojot esp32, un pēc tam nosūtot vērtības Thingsio.ai IoT mākoņa platformai.
1. darbība: SASTĀVDAĻAS
Aparatūras komponenti:
1. esp32 attīstības padome
2. Augsnes sensors
3. Jumper vadi
Programmatūra:
1. Arduino IDE
2. Thingsio.ai
2. darbība: SAVIENOJUMI
Augsnes mitruma sensors ---------------------- esp32 Board
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
3. darbība: KODĒŠANA:
#iekļaut
#iekļaut
#iekļaut
int skaits = 0, i, m, j, k;
int t;
int sensors_tapa = A0;
int vērtība;
///////////////////////////////////////////////////////////////////// VISAS DEKLARĀCIJAS
CLOUD ///////////////////////////////
const char* saimnieks = "api.thingsai.io"; // VAI saimniekdators =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VAI
/api/v2/thingscloud2/_table/data_ac
const char* laika_serveris =
"baas.thethingscloud.com"; // tas ir laika zīmoga konvertēšana
const int httpPort = 80;
const int httpsPort = 443;
const char* serveris =
"api.thingsai.io"; // Servera URL
simbolu laika zīmogs [10];
WiFiMulti WiFiMulti;
// Izmantojiet WiFiClient klasi, lai izveidotu TCP savienojumus
WiFiClient klients;
/////////////////////////////////////////////////////// TIMESTAMP
APRĒĶINA funkcija ////////////////////////////////////////
int GiveMeTimestamp ()
{
neparakstīts ilgi
taimauts = milis ();
// WiFiClient klients;
kamēr
(client.available () == 0)
{
ja (milis () -
taimauts> 50000)
{
client.stop ();
atgriezties 0;
}
}
kamēr (client.available ())
{
Stīgu līnija =
client.readStringUntil ('\ r'); // indexOf () ir funkcija smthng meklēšanai, tā atgriež -1, ja tā netiek atrasta
int pos =
line.indexOf ("\" laika zīmogs / ""); // no atbildes sākuma meklējiet "\" timestamp / "" un pēc tam nokopējiet visus datus, tas būs jūsu laika zīmogs
ja (pos> =
0)
{
int j = 0;par (j = 0; j <10; j ++)
{laika zīmogs [j] = līnija [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
anulēts iestatījums ()
{Serial.begin (115200);Serial.println ("Nolasīšana no sensora …");
kavēšanās (2000);
// Mēs sākam ar
izveidojot savienojumu ar WiFi tīklu
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Sērijas.println ();
Sērijas.println ();Serial.print ("Pagaidiet WiFi …");kamēr (WiFiMulti.run ()! = WL_CONNECTED) {Sērijas nospiedums (".");
kavēšanās (500);
}Serial.println ("");Serial.println ("savienots WiFi");
Serial.println ( IP
adrese: );Serial.println (WiFi.localIP ());
kavēšanās (500);
}
tukša cilpa ()
{
{
//////////////////////////////////
SAŅEMT ATBILDI ///////////////////////
vērtība =
analogRead (sensor_pin);
// vērtība =
karte (vērtība, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (vērtība);Serial.println ("%");kavēšanās (1000);Serial.print ("savienojums ar");Serial.println (resursdators); // definēts otrādi:- resursdators = devapi2.thethingscloud.com vai 139.59.26.117
////////////////////////////////////////////////////////////////// LAIKAS ZĪMES KODA SNIPPETS
/////////////////////////
Serial.println ("iekšā iegūt laika zīmogu / n");
ja
(! client.connect (time_server, {
atgriešanās;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Ko dara šī daļa, es nesaņēmuclient.println ("Saimnieks: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Pastnieks-marķieris: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klients.println ();
GiveMeTimestamp ();
// tas izsauks funkciju, kas no servera saņems atbildi uz laika zīmogu
Serial.println ("saņemts laika zīmogs");
Serial.println (laika zīmogs);Serial.println ("iekšā ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + laika zīmogs;
PostValue =
PostValue +", \" dati / ": {" MOIST / ":" +vērtība +"}" +"}";Serial.println (PostValue);
/ * izveidot WiFiClientSecure gadījumu */
WiFiClientSecure klients;Serial.println ("Savienojuma izveide ar serveri, izmantojot portu 443");
ja
(! client.connect (serveris, 443)) {Serial.println ("Savienojums neizdevās!");
} vēl {Serial.println ("Savienojums ar serveri!");
/* izveidot
pieprasījums */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("Saimnieks: api.thingsai.io");//klients.println ("Savienojums: aizvērt ");client.println ("Satura tips: lietojumprogramma/json");
client.println ( cache-control:
bez kešatmiņas ");client.println ("Autorizācija: nesējs eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2kvkclient.print ("Content-Length:");
client.println (PostValue.length ());klients.println ();client.println (PostValue);
////////////////////////////////////////////////&Hl=lv lai datus publicētu
mākonis ir pabeigts un tagad iegūstiet atbildes veidlapu mākoņa serverī ///////////////////
Serial.print ( Gaida atbildi
);
kamēr
(! client.available ()) {
kavēšanās (50);
//Sērijas nospiedums (".");
}
/* ja dati ir
pieejams, tad saņemiet un izdrukājiet terminālī */
kamēr
(client.available ()) {
char c = klients.lasīt ();Serial.write (c);
}
/* ja
serveris ir atvienots, apturiet klientu */
ja
(! client.connected ()) {Sērijas.println ();Serial.println ("Serveris atvienots");
client.stop ();
}
}
Serial.println ( ////////////////////// THE END
///////////////////// );
kavēšanās (3000);
}
}
4. solis: IZEJA:
Tiek parādīta koda izvade.
5. darbība: GRAFIKA
Tas ir no sensora nolasīto vērtību grafiskais attēlojums.
6. darbība:
Šeit ir pilns projekta video. Paldies.
Ieteicams:
Augsnes mitruma mērīšana ar Raspberry Pi 4: 4 soļi
Augsnes mitruma mērīšana ar Raspberry Pi 4: Vai jūs zināt, cik bieži laistīt augus? Vai izlijuši augi un tos pazaudējuši. Lai to atrisinātu, es domāju, ka būtu daudz netiešāk, ja mēs varētu noteikt ūdens saturu augsnē, lai pieņemtu lēmumu par augu laistīšanu
Uz IoT balstīta augsnes mitruma uzraudzības un kontroles sistēma, izmantojot NodeMCU: 6 soļi
Uz IoT balstīta augsnes mitruma uzraudzības un kontroles sistēma, izmantojot NodeMCU: Šajā apmācībā mēs ieviesīsim uz IoT balstītu augsnes mitruma uzraudzības un kontroles sistēmu, izmantojot ESP8266 WiFi moduli, ti, NodeMCU. Šim projektam nepieciešamās sastāvdaļas: ESP8266 WiFi modulis- Amazon (334/- INR) releja modulis- Amazon (130/- INR
Kā izmantot augsnes mitruma sensoru, izmantojot Arduino: 4 soļi
Kā izmantot augsnes mitruma sensoru, izmantojot Arduino: Augsnes mitruma sensors ir sensors, ko var izmantot, lai izmērītu mitrumu augsnē. Piemērots viedo lauksaimniecības projektu, apūdeņošanas kontrolieru projektu vai IoT lauksaimniecības projektu prototipu izgatavošanai. Šim sensoram ir 2 zondes. Kas ir pieradis pie
Augsnes mitruma mērīšana ar Arduino: 6 soļi
Augsnes mitruma mērīšana ar Arduino: Šajā ātrajā apmācībā es jums parādīšu, kā lasīt augsnes mitruma sensoru, izmantojot arduino, un izdrukāt augsnes mitruma līmeni Arduino sērijas monitorā. Jūs varat atrast sākotnējo manis rakstīto ziņu Sinhala frim šajā saitē
Temperatūras mērīšana, izmantojot platformu Esp32 un Thingsio.ai: 6 soļi
Temperatūras mērīšana, izmantojot platformu Esp32 un Thingsio.ai: Šajā apmācībā es paskaidrošu par temperatūras mērīšanu apkārtnē, izmantojot iebūvētu temperatūras sensoru, kas atrodas esp32 izstrādes panelī. esp32 ir daudz iebūvētu sensoru, piemēram, zāles sensors, ko izmanto kā tuvuma sensoru, pieskarieties