Мазмұны:
Бейне: Esp32 және Thingsio.ai платформасы арқылы топырақ ылғалдылығын өлшеу: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл оқулықта мен esp32 көмегімен топырақтағы ылғалдылықты оқу, содан кейін мәндерді thingsio.ai IoT бұлтты платформасына жіберу туралы түсіндіремін.
1 -қадам: ҚҰРАМДАР
Аппараттық компоненттер:
1. esp32 дамыту тақтасы
2. Топырақ сенсоры
3. Jumper Wires
Бағдарламалық қамтамасыз ету:
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* host = «api.thingsai.io»; // НЕМЕСЕ хост =
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 («\» уақыт белгісі / «»); // жауаптың басынан бастап «\» уақыт белгісін / «» іздеңіз және содан кейін барлық деректерді көшіріңіз, бұл сіздің уақыт белгісі болады
егер (pos> =
0)
{
int j = 0;үшін (j = 0; j <10; j ++)
{уақыт белгісі [j] = жол [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
жарамсыз орнату ()
{Serial.begin (115200);Serial.println («Сенсордан оқу…»);
кешіктіру (2000);
// Біз бастаймыз
WiFi желісіне қосылу
WiFiMulti.addAP («Wifi_name», «Wifi_Password»);
Serial.println ();
Serial.println ();Serial.print («WiFi күтіңіз …»);while (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.print (мән);Serial.println («%»);кешіктіру (1000);Serial.print («қосылуда»);Serial.println (хост); // жоғарыдан анықталған:- хост = devapi2.thethingscloud.com немесе 139.59.26.117
///////////////////////////////////////////////////// УАҚЫТТЫҢ КОДЫН СНИППЕТ
/////////////////////////
Serial.println («ішінде уақыт белгісін алу / n»);
егер
(! client.connect (time_server, {
қайтару;
//*-*-*-*-*-*-*-*-*-*
}client.println («GET/api/уақыт белгісі HTTP/1.1»); // Бұл бөлім не істейді, мен түсінбедімclient.println («Хост: baas.thethingscloud.com»);client.println («Кэшті басқару: кэшсіз»);client.println («Пошташы-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8»);
client.println ();
GiveMeTimestamp ();
// ол серверден уақыт белгісін алатын функцияны шақырады
Serial.println («уақыт белгісі алынды»);
Serial.println (уақыт белгісі);Serial.println («ThingsCloudPost ішінде»);
Жолдың мәні =
«{» 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 («Content-Type: application/json»);
client.println («кэшті басқару:
кэш жоқ »);client.println («Авторизация: жеткізуші eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT»)client.print («Content-Length:»);
client.println (PostValue.length ());client.println ();client.println (PostValue);
Деректерді орналастыру //
бұлт жасалды, енді бұлт серверінің жауап формасын алыңыз /////////////////
Serial.print («Жауап күтілуде
);
кезінде
(! client.available ()) {
кешіктіру (50);
//Serial.print («.»);
}
/* егер деректер болса
қол жетімді, содан кейін алыңыз және Терминалға басып шығарыңыз */
кезінде
(client.available ()) {
char c = client.read ();Serial.write (c);
}
/* егер
сервер ажыратылды, клиентті тоқтату */
егер
(! client.connected ()) {Serial.println ();Serial.println («Сервер ажыратылды»);
client.stop ();
}
}
Serial.println («////////////////////// СОҢЫ
///////////////////// );
кешіктіру (3000);
}
}
4 -қадам: ШЫҒУ:
Кодтың шығысы көрсетіледі.
5 -қадам: ГРАФИКА
Бұл сенсордан оқылатын мәндердің графикалық көрінісі.
6 -қадам:
Міне, жобаның толық бейнесі. Рақмет сізге.
Ұсынылған:
Raspberry Pi 4: 4 қадамымен топырақ ылғалдылығын өлшеу
Raspberry Pi 4 көмегімен топырақ ылғалдылығын өлшеу: Сіз өсімдіктерді қаншалықты жиі суару керектігін білесіз бе? Немесе өсімдіктерді ағызып, оларды жоғалтады. Бұл мәселені шешу үшін, егер өсімдіктерді лайықты түрде суару туралы шешім қабылдау үшін топырақтың құрамындағы судың мәнін білсек, бұл маңызды болар еді деп ойладым
Arduino топырақ ылғалдылығын бақылау таяқшасы - өсімдіктерді суаруды ешқашан ұмытпаңыз: 4 қадам (суреттермен)
Arduino топырағындағы ылғалдылықты бақылау таяқшасы - өсімдіктеріңізді суаруды ешқашан ұмытпаңыз: Сіз жиі жабық өсімдіктерді суаруды ұмытасыз ба? Немесе сіз оларға тым көп көңіл бөліп, оларды суарып тастаған шығарсыз? Егер солай болса, онда сіз батареямен жұмыс істейтін топырақтың ылғалдылығын бақылауға арналған таяқша жасауыңыз керек. Бұл мониторда сыйымдылықты топырақ ылғалдылығы қолданылады
Топырақ ылғалдылығын Arduino көмегімен өлшеу: 6 қадам
Топырақ ылғалдылығын Arduino көмегімен өлшеу: Мен сізге осы жылдам оқулықта топырақтың ылғалдылық датчигін arduino көмегімен қалай оқу керектігін және топырақтың ылғалдылық деңгейін Arduino сериялық мониторында басып шығаруды көрсетемін. Сіз менің жазбамның түпнұсқасын Сингаладан таба аласыз, бұл сілтемеден
Esp32 және Thingsio.ai платформасы арқылы температураны өлшеу: 6 қадам
Esp32 және Thingsio.ai платформасын қолдана отырып температураны өлшеу: Бұл оқулықта мен esp32 әзірлеу тақтасында орнатылған кіріктірілген температура сенсоры арқылы қоршаған ортаның температурасын өлшеуді түсіндіремін. esp32 -де көптеген сенсорлар бар, олар сенсор ретінде жақындық сенсоры ретінде пайдаланылады
Топырақ ылғалдылығын дыбыс амплитудасы арқылы өлшеу: 6 қадам (суреттермен)
Топырақ ылғалдылығын дыбыс амплитудасы арқылы өлшеңіз: Бұл оқулықта біз топырақ ылғалдылығын дыбыс амплитудасы арқылы өлшейтін құрылғы жасауды түсіндіреміз