Агуулгын хүснэгт:
- Алхам 1: Бүрэлдэхүүн хэсгүүд
- Алхам 2: ХОЛБОО
- Алхам 3: Кодлох:
- Алхам 4: ГАРАХ:
- Алхам 5: ГРАФИК
- Алхам 6:
Видео: Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү гарын авлагад би хөрсний чийгийг esp32 ашиглан уншиж, дараа нь утгыг thingsio.ai IoT үүл платформ руу илгээх талаар тайлбарлах болно.
Алхам 1: Бүрэлдэхүүн хэсгүүд
Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд:
1. esp32 хөгжүүлэх самбар
2. Хөрсний мэдрэгч
3. Jumper утас
Програм хангамж:
1. Arduino IDE
2. Thingsio.ai
Алхам 2: ХОЛБОО
Хөрсний чийгшил мэдрэгч ---------------------- esp32 Самбар
VCC -------------------------------------- 3V3
GND -------------------------------------- GND
A0 -------------------------------------- VP
Алхам 3: Кодлох:
#оруулах
#оруулах
#оруулах
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
int утга;
/////////////////////////////////////////// БҮХ МЭДЭГДЭЛ
CLOUD -ийн хувьд ////////////////////////////////
const char* хост = "api.thingsai.io"; // OR хост =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ЭСВЭЛ
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // энэ бол цагийн тэмдгийг хөрвүүлэх явдал юм
const int httpPort = 80;
const int httpsPort = 443;
const char* сервер =
"api.thingsai.io"; // Серверийн URL
цаг хугацааны тэмдэг [10];
WiFiMulti WiFiMulti;
// TCP холболт үүсгэхийн тулд WiFiClient класс ашиглана уу
WiFiClient үйлчлүүлэгч;
////////////////////////////////////////// TIMESTAMP
Тооцоолох функц ////////////////////////////////////////
int GiveMeTimestamp ()
{
гарын үсэг зураагүй урт
завсарлага = millis ();
// WiFiClient үйлчлүүлэгч;
байхад
(client.available () == 0)
{
хэрэв (миллис () -
завсарлага> 50000)
{
client.stop ();
буцаах 0;
}
}
while (client.available ())
{
Мөр мөр =
client.readStringUntil ('\ r'); // indexOf () нь smthng хайх функц бөгөөд олдохгүй бол -1 буцаана
int pos =
line.indexOf ("\" цагийн тэмдэг / ""); // хариултын эхэн үеэс эхлэн "\" timestamp / "" гэж хайгаад дараа нь бүх өгөгдлийг хуулж авбал энэ нь таны цаг хугацааны тэмдэг болно
хэрэв (pos> =
0)
{
int j = 0;(j = 0; j <10; j ++)
{цагийн тэмдэг [j] = мөр [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
хүчингүй тохиргоо ()
{Цуваа.begin (115200);Serial.println ("Мэдрэгчээс уншиж байна …");
саатал (2000);
// Бид эхэлж байна
WiFi сүлжээнд холбогдох
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("WiFi хүлээнэ үү …");байхад (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
саатал (500);
}Serial.println ("");Serial.println ("WiFi холбогдсон");
Serial.println ( IP
хаяг: );Serial.println (WiFi.localIP ());
саатал (500);
}
хоосон давталт ()
{
{
////////////////////////////////////////// Асуулгыг илгээх ба
Хариултыг хүлээн авна уу ///////////////////////
утга =
analogRead (sensor_pin);
// утга =
газрын зураг (утга, 550, 0, 0, 100);Serial.print ("Mositure:");Цуваа.хэвлэх (утга);Serial.println ("%");саатал (1000);Serial.print ("руу холбогдох");Serial.println (хост); // дээшээ тодорхойлсон:- хост = devapi2.thethingscloud.com эсвэл 139.59.26.117
//////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("дотор цаг хугацааны тэмдэг авах / n");
хэрэв
(! client.connect (time_server, {
буцах;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Энэ хэсэг юу хийж байна, би ойлгосонгүйclient.println ("Хөтлөгч: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Шууданч-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp ();
// энэ нь серверээс цагийн тэмдгийн хариуг авах функцийг дуудах болно
Serial.println ("цагийн тэмдэг хүлээн авсан");
Serial.println (цагийн тэмдэг);Serial.println ("ThingsCloudPost дотор");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + цагийн тэмдэг;
PostValue =
PostValue +", \" data / ": {" MOIST / ":" +утга +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure -ийн жишээ үүсгэх */
WiFiClientSecure үйлчлүүлэгч;Serial.println ("443 портоор сервер рүү холбогдох");
хэрэв
(! client.connect (сервер, 443)) {Serial.println ("Холболт амжилтгүй боллоо!");
} өөр {Serial.println ("Сервертэй холбогдсон!");
/* HTTP үүсгэх
хүсэлт */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("Хөтлөгч: api.thingsai.io");//client.println("Холболт: хаах ");client.println ("Агуулгын төрөл: application/json");
client.println ( кэш-хяналт:
кэшгүй ");client.println ("Зөвшөөрөл: эзэмшигч eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT"client.print ("Агуулга-Урт:");
client.println (PostValue.length ());client.println ();client.println (PostValue);
////////////////////////////////////// Өгөгдлийг байршуулах
үүл дууссан бөгөөд одоо үүл серверийн хариултын маягтыг авна уу /////////////////
Serial.print ( Хариу хүлээж байна
);
байхад
(! client.available ()) {
саатал (50);
//Serial.print (".");
}
/* өгөгдөл байгаа бол
бэлэн болсны дараа хүлээн авч Терминал руу хэвлэх боломжтой */
байхад
(client.available ()) {
char c = client.read ();Цуваа бичих (c);
}
/* хэрэв
сервер салгагдсан, үйлчлүүлэгчийг зогсоо */
хэрэв
(! client.connected ()) {Serial.println ();Serial.println ("Сервер салгагдсан");
client.stop ();
}
}
Serial.println ( ////////////////////// ТӨГСГӨЛ
///////////////////// );
саатал (3000);
}
}
Алхам 4: ГАРАХ:
Кодын гаралтыг харуулав.
Алхам 5: ГРАФИК
Энэ бол мэдрэгчээс уншиж буй утгуудын график дүрслэл юм.
Алхам 6:
Төслийн бүрэн видеог энд оруулав. Баярлалаа.
Зөвлөмж болгож буй:
Хөрсний чийгийн санал хүсэлтийг хянадаг интернетэд холбогдсон дуслын усжуулалтын систем (ESP32 ба Blynk): 5 алхам
Хөрсний чийгийн талаархи санал хүсэлтийг хянадаг интернетэд холбогдсон дуслын усжуулалтын систем (ESP32 ба Blynk): Урт амралтаар явахдаа цэцэрлэг эсвэл ургамлынхаа талаар санаа зовох, эсвэл өдөр бүр ургамлаа услахаа мартуузай. Энд шийдэл байна.Энэ нь хөрсний чийгийн хяналттай, дэлхий даяар холбогдсон дуслын усалгааны систем бөгөөд програм хангамжийн урд талд ESP32 -ээр хянагддаг
NodeMCU ашиглан IoT дээр суурилсан хөрсний чийгийн хяналт, хяналтын систем: 6 алхам
NodeMCU ашиглан IoT дээр суурилсан хөрсний чийгийн хяналт, хяналтын систем: Энэхүү гарын авлагад бид ESP8266 WiFi модуль, өөрөөр хэлбэл NodeMCU ашиглан IoT дээр суурилсан хөрсний чийгийн хяналт, хяналтын системийг хэрэгжүүлэх гэж байна. Энэхүү төсөлд шаардлагатай бүрэлдэхүүн хэсгүүд: ESP8266 WiFi модуль- Амазон (334/- INR) Реле модуль- Амазон (130/- INR
Утасгүй чийгийн хяналт (ESP8266 + Чийгийн мэдрэгч): 5 алхам
Утасгүй чийгийн хяналт (ESP8266 + Чийгийн мэдрэгч): Би яншуйг саванд худалдаж авдаг бөгөөд ихэнх өдөр хөрс хуурай байсан. Тиймээс би яншуйтай саванд байгаа хөрсний чийгийг мэдэрч, хөрсөө усаар асгах шаардлагатай байгаа эсэхийг шалгахаар энэхүү төслийг хийхээр шийдлээ
Esp32 болон Thingsio.ai платформ ашиглан температур хэмжилт: 6 алхам
Esp32 ба Thingsio.ai платформыг ашиглан температур хэмжих: Энэ хичээлд би esp32 хөгжлийн самбар дээр суурилуулсан температур мэдрэгчийг ашиглан хүрээлэн буй орчны температурыг хэмжих талаар тайлбарлах болно. esp32 нь ойр дотны мэдрэгч, мэдрэгч болгон ашигладаг танхимын мэдрэгч гэх мэт олон суурилуулсан мэдрэгчтэй
Arduino болон Nokia 5110 дэлгэцтэй DIY хөрсний чийгийн хяналт: 6 алхам (зурагтай)
Arduino болон Nokia 5110 дэлгэцтэй DIY хөрсний чийгийн хяналт: Энэхүү зааварчилгаанд бид Arduino ашиглан том Nokia 5110 LCD дэлгэц бүхий маш ашигтай хөрсний чийгийн мониторыг хэрхэн бүтээх талаар үзэх болно. Arduino -оосоо ургамлын хөрсний чийгийн түвшинг хялбархан хэмжиж, сонирхолтой төхөөрөмжүүдийг бүтээгээрэй