Përmbajtje:
Video: Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Në këtë tutorial do të shpjegoj në lidhje me leximin e përmbajtjes së lagështisë në tokë duke përdorur esp32 dhe më pas dërgimin e vlerave në platformën cloud thingso.ai IoT.
Hapi 1: PMPRBRSIT
Komponentët e harduerit:
1. bordi i zhvillimit esp32
2. Sensori i tokës
3. Telat Jumper
Softuer:
1. Arduino IDE
2. Thingsio.ai
Hapi 2: LIDHJET
Sensori i Lagështisë së Tokës ---------------------- Bordi esp32
KQV ------------------------------------------ 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
Hapi 3: KODIMI:
#përfshi
#përfshi
#përfshi
int numërimi = 0, i, m, j, k;
int t;
int sensor_pin = A0;
vlera int;
//////////////////////////////////////// GJITHA DEKLARATAT
për CLOUD ///////////////////////////////
const char* host = "api.thingsai.io"; // OSE host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OSE
/api/v2/thingscloud2/_table/data_ac
const char* serveri i kohës =
"baas.thethingscloud.com"; // kjo është për të konvertuar vulën kohore
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // URL e serverit
vula e kohës char [10];
WiFiMulti WiFiMulti;
// Përdorni klasën WiFiClient për të krijuar lidhje TCP
Klienti WiFiClient;
//////////////////////////////////////// TIMESTAMP
Funksioni i llogaritjes ////////////////////////////////////////
int GiveMeTimestamp ()
{
pa firmosur gjatë
timeout = millis ();
// klienti WiFiClient;
derisa
(klienti i disponueshëm () == 0)
{
nëse (milis () -
timeout> 50000)
{
client.stop ();
kthimi 0;
}
}
ndërsa (klienti i disponueshëm ())
{
Linja e vargut =
client.readStringUntil ('\ r'); // indexOf () është një funksion për të kërkuar smthng, ai kthen -1 nëse nuk gjendet
int pos =
line.indexOf ("\" afati kohor / ""); // kërko për "\" timestamp / "" që nga fillimi i përgjigjes mori dhe kopjo të gjitha të dhënat pas kësaj, do të jetë vula juaj kohore
nëse (pos> =
0)
{
int j = 0;për (j = 0; j <10; j ++)
{vula kohore [j] = rreshti [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.fillo (115200);Serial.println ("Leximi nga Sensori …");
vonesa (2000);
// Fillojmë nga
lidhja me një rrjet WiFi
WiFiMulti.addAP ("Emri Wifi", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("Prisni për WiFi …");ndërsa (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
vonesë (500);
}Serial.println ("");Serial.println ("WiFi i lidhur");
Serial.println ( IP
adresë: );Serial.println (WiFi.localIP ());
vonesë (500);
}
lak void ()
{
{
//////////////////////////////////////// DENDRGUAR PYETJEN DHE
MERRNI PESRGJIGJEN ///////////////////////
vlera =
analogRead (sensor_pin);
// vlera =
hartë (vlera, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (vlera);Serial.println ("%");vonesa (1000);Serial.print ("lidh me");Serial.println (host); // e përcaktuar me kokë:- host = devapi2.thethingscloud.com ose 139.59.26.117
/////////////////////////////////////// TIMESTAMP KODI SNIPPET
/////////////////////////
Serial.println ("brenda merrni vulën kohore / n");
nëse
(! client.connect (server_ kohor, {
kthim;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Çfarë bën kjo pjesë, nuk e kuptovaclient.println ("Pritësi: baas.thethingscloud.com");client.println ("Cache-Control: pa-cache");client.println ("Postier-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp ();
// do të thërrasë funksionin i cili do të marrë përgjigjen e afatit kohor nga serveri
Serial.println ("vula kohore e marrë");
Serial.println (vula kohore);Serial.println ("brenda ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
Vlera Postare =
PostValue + ", \" dts / ":" + vula kohore;
Vlera Postare =
PostValue +", \" data / ": {" MOIST / ":" +vlera +"}" +"}";Serial.println (PostValue);
/ * krijoni një shembull të WiFiClientSecure */
Klient WiFiClientSecure;Serial.println ("Lidhu me serverin përmes portit 443");
nëse
(! client.connect (server, 443)) {Serial.println ("Lidhja dështoi!");
} tjetër {Serial.println ("I lidhur me serverin!");
/* krijoni
kërkesë */client.println ("POST/pajisje/pajisjeData HTTP/1.1");client.println ("Pritësi: api.thingsai.io");//client.println("Lidhja: mbyll ");client.println ("Lloji i përmbajtjes: aplikacion/json");
client.println ( cache-control:
pa cache ");client.println ("autorizimit Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY");client.print ("Përmbajtja-Gjatësia:");
client.println (PostValue.length ());klient.println ();client.println (PostValue);
/////////////////////////////////// POSTIMI i të dhënave në
cloud është përfunduar dhe tani merrni përgjigjen nga serveri cloud //////////////////
Serial.print ( Në pritje të përgjigjes
);
derisa
(! client.available ()) {
vonesë (50);
//Serial.print (".");
}
/* nëse të dhënat janë
e disponueshme pastaj merrni dhe printoni në Terminal */
derisa
(client.available ()) {
char c = client.read ();Serial.shkruani (c);
}
/* nëse
serveri u shkëput, ndaloni klientin */
nëse
(! client.connected ()) {Serial.println ();Serial.println ("Serveri u shkëput");
client.stop ();
}
}
Serial.println ( ////////////////////// FUNDI
///////////////////// );
vonesë (3000);
}
}
Hapi 4: dalje:
Tregohet dalja e kodit.
Hapi 5: Grafiku
Ky është paraqitja grafike e vlerave të cilat lexohen nga sensori.
Hapi 6:
Këtu keni videon e plotë të projektit. Faleminderit.
Recommended:
Monitorimi i temperaturës dhe lagështisë DHT duke përdorur ESP8266 dhe Platformën IoT AskSensors: 8 hapa
Monitorimi i temperaturës dhe lagështisë DHT duke përdorur ESP8266 dhe Platformën IoT AskSensors: Në një udhëzues të mëparshëm, unë paraqita një udhëzues hap pas hapi për të filluar me ESP8266 nodeMCU dhe platformën IoT AskSensors. Në këtë tutorial, unë jam duke lidhur një sensor DHT11 te nyja MCU. DHT11 është një temperaturë dhe lagështi e përdorur zakonisht
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Arduino Nano: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Arduino Nano: HIH6130 është një sensor lagështie dhe temperature me dalje dixhitale. Këta sensorë ofrojnë një nivel saktësie ± 4% RH. Me stabilitet afatgjatë udhëheqës të industrisë, I2C të vërtetë dixhitale të kompensuar nga temperatura, besueshmëri udhëheqëse në industri, efikasitet energjetik
Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa
Matja e Temperaturës dhe Lagështisë duke Përdorur HDC1000 dhe Arduino Nano: HDC1000 është një sensor dixhital i lagështisë me sensor të integruar të temperaturës që siguron saktësi të shkëlqyeshme të matjes me fuqi shumë të ulët. Pajisja mat lagështinë bazuar në një sensor të ri kapacitiv. Sensorët e lagështisë dhe temperaturës janë të dukshme
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Arduino Nano: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Arduino Nano: HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijues dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes serialit dixhital
Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa
Matja e temperaturës duke përdorur platformën Esp32 dhe Thingsio.ai: Në këtë tutorial do të shpjegoj matjen e temperaturës në rrethinë duke përdorur sensorin e integruar të temperaturës të pranishëm në tabelën e zhvillimit esp32. esp32 ka shumë sensorë të integruar si sensori i sallës i përdorur si sensori i afërsisë, prekni