Isi kandungan:
- Langkah 1: KOMPONEN
- Langkah 2: SAMBUNGAN
- Langkah 3: KOD:
- Langkah 4: KELUARAN:
- Langkah 5: GRAF
- Langkah 6:
Video: Pengukuran Kandungan Kelembapan Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Dalam tutorial ini saya akan menerangkan mengenai pembacaan kandungan kelembapan di tanah dengan menggunakan esp32 dan kemudian mengirim nilai ke platform cloud thingsio.ai IoT.
Langkah 1: KOMPONEN
Komponen Perkakasan:
1. lembaga pengembangan esp32
2. Sensor tanah
3. Wayar Pelompat
Perisian:
1. Arduino IDE
2. Thingsio.ai
Langkah 2: SAMBUNGAN
Soil Moisture Sensor ---------------------- Papan esp32
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
Langkah 3: KOD:
#sertakan
#sertakan
#sertakan
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
nilai int;
//////////////////////////////////////// SEMUA PENGAKUAN
untuk CLOUD //////////////////////////////
const char * host = "api.thingsai.io"; // ATAU tuan rumah =
devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData"; // ATAU
/ api / v2 / thingscloud2 / _table / data_ac
const char * time_server =
"baas.thethingscloud.com"; // ini untuk menukar cap waktu
const int httpPort = 80;
const int httpsPort = 443;
const char * pelayan =
"api.thingsai.io"; // URL pelayan
cap masa char [10];
WiFiMulti WiFiMulti;
// Gunakan kelas WiFiClient untuk membuat sambungan TCP
Pelanggan WiFiClient;
/////////////////////////////////////// TIMESTAMP
Fungsi PENGHITUNGAN ///////////////////////////////////////
int GiveMeTimestamp ()
{
tidak bertanda panjang
tamat masa = milis ();
// Pelanggan WiFiClient;
sementara
(pelanggan. tersedia () == 0)
{
jika (milis () -
tamat masa> 50000)
{
pelanggan.stop ();
pulangan 0;
}
}
sementara (klien. tersedia ())
{
Garisan tali =
client.readStringUntil ('\ r'); // indexOf () adalah fungsi untuk mencari smthng, ia mengembalikan -1 jika tidak dijumpai
int pos =
line.indexOf ("\" cap waktu / ""); // cari "\" cap waktu / "" dari awal respons diterima dan salin semua data selepas itu, ini akan menjadi cap waktu anda
jika (pos> =
0)
{
int j = 0;untuk (j = 0; j <10; j ++)
{cap waktu [j] = garis [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
persediaan tidak sah ()
{Serial.begin (115200);Serial.println ("Membaca Dari Sensor …");
kelewatan (2000);
// Kami bermula dengan
menyambung ke rangkaian WiFi
WiFiMulti.addAP ("Wifi_name", "Wifi_Password");
Bersiri.println ();
Bersiri.println ();Serial.print ("Tunggu WiFi …");semasa (WiFiMulti.run ()! = WL_CONNECTED) {Cetakan bersiri (".");
kelewatan (500);
}Serial.println ("");Serial.println ("WiFi disambungkan");
Serial.println ( IP
alamat: );Serial.println (WiFi.localIP ());
kelewatan (500);
}
gelung kosong ()
{
{
/////////////////////////////////////// HANTAR PERTANYAAN DAN
TERIMA RESPON ///////////////////////
nilai =
analogRead (sensor_pin);
// nilai =
peta (nilai, 550, 0, 0, 100);Serial.print ("Mositure:");Cetakan bersiri (nilai);Serial.println ("%");kelewatan (1000);Serial.print ("menyambung ke");Serial.println (hos); // ditentukan terbalik: - host = devapi2.thethingscloud.com atau 139.59.26.117
//////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("masuk mendapat cap waktu / n");
sekiranya
(! client.connect (time_server, {
kembali;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / cap waktu HTTP / 1.1"); // Apa bahagian ini lakukan, saya tidak fahamclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
pelanggan.println ();
BerikanMeTimestamp ();
// akan memanggil fungsi yang akan mendapat respons cap waktu dari pelayan
Serial.println ("cap waktu diterima");
Serial.println (cap waktu);Serial.println ("di dalam ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695918, \" slave_id / ": 2";
Nilai Pos =
PostValue + ", \" dts / ":" + cap waktu;
Nilai Pos =
PostValue + ", \" data / ": {" MOIST / ":" + nilai + "}" + "}";Serial.println (Nilai Nilai);
/ * buat contoh WiFiClientSecure * /
Pelanggan WiFiClientSecure;Serial.println ("Sambungkan ke pelayan melalui port 443");
sekiranya
(! client.connect (pelayan, 443)) {Serial.println ("Sambungan gagal!");
} lain {Serial.println ("Bersambung ke pelayan!");
/ * buat
permintaan * /client.println ("POST / devices / deviceData HTTP / 1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Jenis Kandungan: aplikasi / json");
client.println ( cache-control:
tanpa cache ");client.println ("Keizinan: Pembawa eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkX_9mF99F9MF9MF9MFNMXFXMBFXBFF1MfFXBF3Bf3f3client.print ("Panjang Kandungan:");
client.println (PostValue.length ());pelanggan.println ();pelanggan.println (PostValue);
//////////////////////////////// POSTING data ke
cloud selesai dan sekarang dapatkan borang respons pelayan cloud //////////////////
Serial.print ( Menunggu tindak balas
);
sementara
(! client.available ()) {
kelewatan (50);
//Cetakan bersiri (".");
}
/ * jika data
tersedia kemudian terima dan cetak ke Terminal * /
sementara
(pelanggan. tersedia ()) {
char c = client.read ();Serial.write (c);
}
/ * jika
pelayan terputus, hentikan pelanggan * /
sekiranya
(! client.connected ()) {Bersiri.println ();Serial.println ("Pelayan terputus");
pelanggan.stop ();
}
}
Serial.println ( ////////////////////// AKHIRNYA
///////////////////// );
kelewatan (3000);
}
}
Langkah 4: KELUARAN:
Hasil kod ditunjukkan.
Langkah 5: GRAF
Ini adalah gambaran grafik dari nilai-nilai yang dibaca dari sensor.
Langkah 6:
Berikut adalah video projek yang lengkap. Terima kasih.
Disyorkan:
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 adalah sensor kelembapan dan suhu dengan output digital. Sensor ini memberikan tahap ketepatan ± 4% RH. Dengan kestabilan jangka panjang yang terkemuka di industri, I2C digital yang diberi pampasan suhu sebenar, kebolehpercayaan terkemuka di industri, kecekapan tenaga
Pengukuran Suhu dan Kelembapan Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembapan Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembapan digital dengan sensor suhu bersepadu yang memberikan ketepatan pengukuran yang sangat baik pada daya yang sangat rendah. Peranti mengukur kelembapan berdasarkan sensor kapasitif baru. Sensor kelembapan dan suhu adalah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini termasuk elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui siri digital
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini termasuk elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui siri digital
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: Dalam tutorial ini saya akan menerangkan tentang mengukur suhu di sekitarnya dengan menggunakan sensor suhu dalaman yang terdapat pada papan pengembangan esp32. esp32 mempunyai banyak sensor dalaman seperti sensor ruang yang digunakan sebagai sensor jarak, sentuhan