Talaan ng mga Nilalaman:
- Hakbang 1: Mga KOMPONente
- Hakbang 2: Mga koneksyon
- Hakbang 3: CODING:
- Hakbang 4: OUTPUT:
- Hakbang 5: GRAPH
- Hakbang 6:
Video: Pagsukat ng Nilalaman ng Moisture ng Lupa Gamit ang Esp32 at Thingsio.ai Platform: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa tutorial na ito ay ipapaliwanag ko ang tungkol sa pagbabasa ng nilalaman ng kahalumigmigan sa lupa sa pamamagitan ng paggamit ng esp32 at pagkatapos ay pagpapadala ng mga halaga sa platform ng cloud ng cloud na myio.
Hakbang 1: Mga KOMPONente
Mga Bahagi ng Hardware:
1. esp32 development board
2. Sensor ng soil
3. Jumper Wires
Software:
1. Arduino IDE
2. Thingsio.ai
Hakbang 2: Mga koneksyon
Soil Moisture Sensor ----------------- Esp32 Board
VCC ------------------------------------- 3V3
GND ------------------------------------- GND
A0 ----------------- VP
Hakbang 3: CODING:
# isama
# isama
# isama
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
int halaga;
// ///
para sa CLOUD // ///.
const char * host = "api.thingsai.io"; // O host =
devapi2.thethingscloud.com
const char * post_url = "/ aparato / aparatoData"; // O
/ api / v2 / bagaycloud2 / _table / data_ac
const char * time_server =
"baas.thethingscloud.com"; // ito ay upang i-convert ang timestamp
const int httpPort = 80;
const int httpsPort = 443;
const char * server =
"api.thingsai.io"; // Server URL
timestamp ng char [10];
WiFiMulti WiFiMulti;
// Gumamit ng klase ng WiFiClient upang lumikha ng mga koneksyon sa TCP
Client ng WiFiClient;
// ///
Pag-andar ng CALCULATION // ///.
int GiveMeTimestamp ()
{
matagal na hindi pinirmahan
timeout = millis ();
// client ng WiFiClient;
habang
(client.available () == 0)
{
kung (millis () -
timeout> 50000)
{
client.stop ();
ibalik ang 0;
}
}
habang (client.available ())
{
String line =
client.readStringUntil ('\ r'); // indexOf () ay isang funtion upang maghanap para sa smthng, nagbabalik ito ng -1 kung hindi nahanap
int pos =
line.indexOf ("\" timestamp / ""); // search for "\" timestamp / "" mula sa simula ng pagtanggap nakuha at kopyahin ang lahat ng data pagkatapos nito, ito ang magiging timestamp mo
kung (pos> =
0)
{
int j = 0;para sa (j = 0; j <10; j ++)
{timestamp [j] = linya [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
walang bisa ang pag-setup ()
{Serial.begin (115200);Serial.println ("Pagbasa Mula sa Sensor …");
pagkaantala (2000);
// Nagsisimula kami sa pamamagitan ng
kumokonekta sa isang WiFi network
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("Maghintay para sa WiFi …");habang (WiFiMulti.run ()! = WL_CONNected) {Serial.print (".");
pagkaantala (500);
}Serial.println ("");Serial.println ("Konektado sa WiFi");
Serial.println ( IP
address: );Serial.println (WiFi.localIP ());
pagkaantala (500);
}
walang bisa loop ()
{
{
// ///
TANGGAPIN ANG RESPONSE // ///.
halaga =
analogRead (sensor_pin);
// halaga =
mapa (halaga, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (halaga);Serial.println ("%");pagkaantala (1000);Serial.print ("pagkonekta sa");Serial.println (host); // tinukoy nang paitaas: - host = devapi2.thethingscloud.com o 139.59.26.117
// ///.
/////////////////////////
Serial.println ("sa loob makakuha ng timestamp / n");
kung
(! client.connect (time_server, {
bumalik;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1"); // Ano ang ginagawa ng bahaging ito, hindi ko nakuhaclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp ();
// tatawagan nito ang pagpapaandar na makakakuha ng tugon ng timestamp mula sa server
Serial.println ("natanggap ang timestamp");
Serial.println (timestamp);Serial.println ("sa loob ng ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + timestamp;
PostValue =
PostValue + ", \" data / ": {" MOIST / ":" + halaga + "}" + "}";Serial.println (PostValue);
/ * Lumikha ng isang halimbawa ng WiFiClientSecure * /
Client ng WiFiClientSecure;Serial.println ("Kumonekta sa server sa pamamagitan ng port 443");
kung
(! client.connect (server, 443)) {Serial.println ("Nabigo ang koneksyon!");
} iba pa {Serial.println ("Nakakonekta sa server!");
/ * lumikha ng
hiling */client.println ("POST / aparato / aparatoData HTTP / 1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Uri ng Nilalaman: application / json");
client.println ( cache-control:
walang-cache ");client.println ("Awtorisasyon: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT6X79f9)client.print ("Haba ng Nilalaman:");
client.println (PostValue.length ());client.println ();client.println (PostValue);
// ///
tapos na ang ulap at makuha ngayon ang form ng pagtugon cloud server // ///.
Serial.print ( Naghihintay para sa tugon
);
habang
(! client.available ()) {
antala (50);
//Serial.print (".");
}
/ * kung ang data ay
magagamit pagkatapos ay tumanggap at mag-print sa Terminal * /
habang
(client.available ()) {
char c = client.read ();Serial.write (c);
}
/ * kung ang
naka-disconnect ang server, itigil ang client * /
kung
(! client.connected ()) {Serial.println ();Serial.println ("Nakakonekta ang server");
client.stop ();
}
}
Serial.println ( // ///. / / / / / // THE END
///////////////////// );
pagkaantala (3000);
}
}
Hakbang 4: OUTPUT:
Ang Output ng code ay ipinapakita.
Hakbang 5: GRAPH
Ito ang grapikong representasyon ng mga halagang binabasa mula sa sensor.
Hakbang 6:
Narito ang kumpletong video ng proyekto. Salamat.
Inirerekumendang:
Pagsukat sa Lupa ng Dumi Sa Raspberry Pi 4: 4 Mga Hakbang
Pagsukat sa Soil Moisture Sa Raspberry Pi 4: Alam mo ba kung gaano kadalas ang tubig sa mga halaman? O nag-agos na mga halaman at nawala ang mga ito. Upang malutas ito, naisip kong magiging higit na pangyayari kung makukuha natin ang halaga ng nilalaman ng tubig sa loob ng lupa upang makapagpasya para sa pagtutubig ng mga halaman na naaangkop
Pagsala sa Nilalaman ng Internet Gamit ang DNS: 10 Mga Hakbang
Pag-filter ng Nilalaman sa Internet Gamit ang DNS: Nai-update noong ika-3 ng Pebrero, 2021 upang isama ang karagdagang impormasyon sa Hakbang 8 & 9. Malawak na kilala na mayroong maraming nilalaman sa internet na hindi eksaktong angkop para sa pagtingin ng mga bata. Ang hindi gaanong kilala ay ang katotohanan na
Pagsukat ng Temperatura Gamit ang Esp32 at Thingsio.ai Platform: 6 na Hakbang
Pagsukat ng Temperatura Gamit ang Esp32 at Thingsio.ai Platform: Sa tutorial na ito ipapaliwanag ko ang tungkol sa pagsukat ng temperatura sa paligid sa pamamagitan ng paggamit ng inbuilt na sensor ng temperatura na naroroon sa esp32 development board. Ang esp32 ay maraming mga built-in na sensor tulad ng sensor ng hall na ginamit bilang proximity sensor, pindutin ang
Isang Device ng Pagsukat sa UV-index na Pagsusukat, Gamit ang VEML6075 Sensor at ang Little Buddy Talker: 5 Hakbang
Isang Talking UV-index na Pagsukat sa Device, Gamit ang VEML6075 Sensor at ang Little Buddy Talker: Mga tag-init darating! Ang araw ay nagniningning! Alin ang mahusay. Ngunit habang lumalakas ang radiation ng ultraviolet (UV), ang mga taong katulad ko ay nagkakaroon ng mga pekas, maliit na kayumanggi na mga isla na lumalangoy sa isang dagat na pula, sunog, nangangati na balat. Ang pagkakaroon ng real-time na impormasyon
Sukatin ang Moisture ng Lupa Na May Mga Amplitude ng Tunog: 6 Mga Hakbang (na may Mga Larawan)
Sukatin ang Moisture ng Lupa Sa Mga Amplitude ng Tunog: Sa tutorial na ito, ipapaliwanag namin kung paano gumawa ng isang aparato na sumusukat sa kahalumigmigan ng lupa na may mga amplitude ng tunog