Mündəricat:
Video: Esp32 və Thingsio.ai Platformasından istifadə edərək Torpaq Nəmliyinin Ölçülməsi: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu dərslikdə esp32 istifadə edərək torpaqdakı nəm miqdarının oxunmasını və sonra dəyərlərin thingsio.ai IoT bulud platformasına göndərilməsini izah edəcəyəm.
Addım 1: BİLEŞENLER
Avadanlıq Komponentləri:
1. esp32 inkişaf lövhəsi
2. Torpaq sensoru
3. Jumper telləri
Proqram təminatı:
1. Arduino IDE
2. Thingsio.ai
Addım 2: BAĞLANTILAR
Torpaq Nəm Sensoru ---------------------- esp32 lövhəsi
VCC -------------------------------------- 3V3
GND -------------------------------------- GND
A0 -------------------------------------- VP
Addım 3: KODLAMA:
#daxil edin
#daxil edin
#daxil edin
int sayı = 0, i, m, j, k;
int t;
int sensor_pin = A0;
int dəyəri;
///////////////////////////////////////// BÜTÜN Bəyannamələr
CLOUD üçün ///////////////////////////////
const char* host = "api.thingsai.io"; // OR ana =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OR
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // bu zaman damgasını çevirməkdir
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server URL
simvol işarəsi [10];
WiFiMulti WiFiMulti;
// TCP əlaqələri yaratmaq üçün WiFiClient sinifindən istifadə edin
WiFi müştəri;
////////////////////////////////////////// TIMESTAMP
HESAB VERMƏ funksiyası //////////////////////////////////////////////////////////////////////////
int GiveMeTimestamp ()
{
imzasız uzun
zaman aşımı = millis ();
// WiFiClient müştəri;
isə
(müştəri.available () == 0)
{
əgər (millis () -
vaxt aşımı> 50000)
{
client.stop ();
qaytarma 0;
}
}
while (client.available ())
{
String xətti =
client.readStringUntil ('\ r'); // indexOf () smthng axtaran bir funksiyadır, tapılmazsa -1 qaytarır
int pos =
line.indexOf ("\" zaman damgası / ""); // "\" zaman damgası / "" nı axtarın və sonra bütün məlumatları kopyalayın, bu sizin zaman damganız olacaq
əgər (pos> =
0)
{
int j = 0;üçün (j = 0; j <10; j ++)
{vaxt damgası [j] = sətir [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
boş quraşdırma ()
{Serial.begin (115200);Serial.println ("Sensordan Oxunur …");
gecikmə (2000);
// Başlayırıq
WiFi şəbəkəsinə qoşulma
WiFiMulti.addAP ("Wifi_adı", "Wifi_Password");
Serial.println ();
Serial.println ();Serial.print ("WiFi gözləyin …");isə (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
gecikmə (500);
}Serial.println ("");Serial.println ("WiFi bağlıdır");
Serial.println ( IP
ünvan: );Serial.println (WiFi.localIP ());
gecikmə (500);
}
boşluq döngəsi ()
{
{
////////////////////////////////////////////////////////// SORĞU GÖNDƏRİN VƏ
CAVAB ALIN ///////////////////////
dəyər =
analogRead (sensor_pin);
// dəyər =
xəritə (dəyər, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (dəyər);Serial.println ("%");gecikmə (1000);Serial.print ("qoşulur");Serial.println (ev sahibi); // tərs olaraq təyin olunur:- host = devapi2.thethingscloud.com və ya 139.59.26.117
////////////////////////////////////////////////////////////////// TIMESTAMP KODU SNIPPET
/////////////////////////
Serial.println ("daxilində zaman damgası alın / n");
əgər
(! client.connect (time_server, {
qayıtmaq;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/zaman damgası HTTP/1.1"); // Bu hissə nə edir, başa düşmədimclient.println ("Host: baas.thethingscloud.com");client.println ("Önbelleğe Nəzarət: önbelleği yoxdur");client.println ("Poçtalyon-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
müştəri.println ();
GiveMeTimestamp ();
// serverdən zaman damgası cavabını alacaq funksiyanı çağıracaq
Serial.println ("vaxt damgası alındı");
Serial.println (vaxt damgası);Serial.println ("ThingsCloudPost daxilində");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + zaman damgası;
PostValue =
PostValue +", \" data / ": {" MOIST / ":" +dəyər +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure nümunəsi yaradın */
WiFiClientSecure müştəri;Serial.println ("Serverə 443 portu ilə qoşulun");
əgər
(! client.connect (server, 443)) {Serial.println ("Bağlantı uğursuz oldu!");
} başqa {Serial.println ("Serverə qoşuldu!");
/* HTTP yaradın
tələb */client.println ("POST/cihazlar/cihazData HTTP/1.1");client.println ("Host: api.thingsai.io");//client.println("Bağlantı: yaxın ");client.println ("Məzmun Növü: application/json");
client.println ( önbelleğe nəzarət:
önbellek yoxdur ");client.println ("Yetkilendirme: daşıyıcı eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT"client.print ("Məzmun-Uzunluq:");
müştəri.println (PostValue.length ());müştəri.println ();client.println (PostValue);
////////////////////////////////////////////////// Məlumatların yerləşdirilməsi
bulud tamamlandı və indi bulud serverinin cavab formasını əldə edin /////////////////
Serial.print ( Cavab gözləyirik
);
isə
(! müştəri.available ()) {
gecikmə (50);
//Serial.print (".");
}
/* məlumatlar varsa
mövcuddur, sonra alın və Terminalda çap edin */
isə
(müştəri.available ()) {
char c = client.read ();Serial.write (c);
}
/* əgər
server kəsildi, müştərini dayandırın */
əgər
(! client.connected ()) {Serial.println ();Serial.println ("Server bağlantısı kəsildi");
client.stop ();
}
}
Serial.println ( ////////////////////// SON
///////////////////// );
gecikmə (3000);
}
}
Addım 4: Çıxış:
Kodun Çıxışı göstərilir.
Addım 5: GRAPH
Bu sensordan oxunan dəyərlərin qrafik təsviridir.
Addım 6:
Layihənin tam videosunu təqdim edirik. Çox sağ ol.
Tövsiyə:
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Rütubətin İzlənməsi: 8 Addım
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Nəmlik Monitorinqi: Əvvəlki təlimatda, ESP8266 nodeMCU və AskSensors IoT platformasına başlamaq üçün addım -addım təlimat təqdim etdim. MCU düyünə. DHT11, tez -tez istifadə olunan bir temperatur və nəmdir
Arduino istifadə edərək Torpaq Nəm Sensorundan necə istifadə olunur: 4 addım
Torpaq Nəm Sensorunu Arduino istifadə edərək necə istifadə etmək olar: Torpaq Nəm sensoru, torpağın nəmini ölçmək üçün istifadə edilə bilən bir sensordur. Ağıllı əkinçilik layihələrinin, Suvarma nəzarətçiləri layihələrinin və ya IoT Kənd Təsərrüfatı layihələrinin prototiplərini hazırlamaq üçün uyğundur. Bu sensorun 2 probu var. Mənə öyrəşmiş
Evive-Arduino Gömülü Platformasından istifadə edərək Sayı Sayma Çemberləri olan Ağıllı Basketbol Arcade Oyunu: 13 Addım
Evive-Arduino Gömülü Platformasından istifadə edərək Sayı Sayma Çemberləri olan Ağıllı Basketbol Arcade Oyunu: Oradakı bütün oyunların içərisində ən əyləncəli oyun oyunlarıdır. Beləliklə, düşündük ki, niyə evdə özümüz etməyək! Budur, indiyə qədər oynadığınız ən əyləncəli DIY oyunu - DIY Arcade Basketbol Oyunu! Yalnız bu deyil
Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım
Thingsai.io Iot Bulud Platformasından İstifadə Hərəkət Dedektoru: Bu dərslikdə, IOT bulud platforması Thingai.io ilə birlikdə PIR sensoru və Esp32 istifadə edərək hərəkətin aşkarlanmasını izah edəcəyəm
Esp32 və Thingsio.ai Platformasından İstifadə Ölçmə: 6 Addım
Esp32 və Thingsio.ai Platformasından İstifadə Ölçmə: Bu dərslikdə esp32 inkişaf lövhəsində olan daxili temperatur sensoru istifadə edərək ətrafdakı temperaturun ölçülməsi ilə bağlı izah edəcəyəm. esp32 yaxınlıq sensoru kimi istifadə olunan salon sensoru kimi bir çox daxili sensorlara malikdir