Daftar Isi:
- Langkah 1: KOMPONEN
- Langkah 2: KONEKSI
- Langkah 3: KODE:
- Langkah 4: KELUARAN:
- Langkah 5: GRAFIK
- Langkah 6:
Video: Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam tutorial ini saya akan menjelaskan tentang pembacaan kadar air dalam tanah dengan menggunakan esp32 dan kemudian mengirimkan nilainya ke platform cloud thingsio.ai IoT.
Langkah 1: KOMPONEN
Komponen Perangkat Keras:
1. papan pengembangan esp32
2. Sensor tanah
3. Kabel Jumper
Perangkat lunak:
1. Arduino IDE
2. Thingsio.ai
Langkah 2: KONEKSI
Sensor Kelembaban Tanah ----------- Papan esp32
VCC----------------------------------------3V3
GND-------------------------------------- GND
A0----------------------------------------- VP
Langkah 3: KODE:
#termasuk
#termasuk
#termasuk
int hitung=0, i, m, j, k;
int t;
int sensor_pin = A0;
nilai int;
////////////////////////////////////// SEMUA DEKLARASI
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 mengonversi stempel waktu
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // URL server
stempel waktu karakter[10];
WiFiMulti WiFiMulti;
// Gunakan kelas WiFiClient untuk membuat koneksi TCP
Klien WiFiClient;
///////////////////////////////////// TIMESTAMP
Fungsi PERHITUNGAN //////////////////////////////////////////////////
int BeriSayaTimestamp()
{
panjang tanpa tanda
batas waktu = mili();
// klien WiFiClient;
ketika
(klien.tersedia() == 0)
{
jika (milis() -
batas waktu > 50000)
{
klien.berhenti();
kembali 0;
}
}
sementara (client.available())
{
Garis senar =
client.readStringUntil('\r'); //indexOf() adalah fungsi untuk mencari smthng, ia mengembalikan -1 jika tidak ditemukan
int pos =
line.indexOf("\"timestamp\""); //cari "\"timestamp\"" dari awal respons yang didapat dan salin semua data setelah itu, itu akan menjadi stempel waktu Anda
jika (pos >=
0)
{
int j = 0;untuk(j=0;j<10;j++)
{timestamp[j] = baris[pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
batalkan pengaturan()
{Serial.begin(115200);Serial.println("Membaca Dari Sensor …");
penundaan(2000);
// Kita mulai dengan
menghubungkan ke jaringan WiFi
WiFiMulti.addAP("Nama_Wifi", "Pasword Wifi");
Serial.println();
Serial.println();Serial.print("Tunggu WiFi… ");while(WiFiMulti.run() != WL_CONNECTED) {Serial.print(".");
penundaan (500);
}Serial.println("");Serial.println("WiFi terhubung");
Serial.println( IP
alamat: );Serial.println(WiFi.localIP());
penundaan (500);
}
lingkaran kosong()
{
{
////////////////////////////////////// KIRIM QUERY DAN
MENERIMA TANGGAPAN ///////////////////////
nilai =
analogRead(sensor_pin);
// nilai =
peta(nilai, 550, 0, 0, 100);Serial.print("Suhu: ");Serial.print(nilai);Serial.println("%");penundaan (1000);Serial.print("menghubungkan ke ");Serial.println(host); //didefinisikan terbalik:- host = devapi2.thethingscloud.com atau 139.59.26.117
//////////////////////////////////// SNIPPET KODE TIMESTAMP
/////////////////////////
Serial.println("di dalam dapatkan stempel waktu\n");
jika
(!client.connect(time_server, {
kembali;
//*-*-*-*-*-*-*-*-*-*
}client.println("DAPATKAN /api/timestamp HTTP/1.1"); // Apa yang dilakukan bagian ini, aku tidak mengerticlient.println("Host: baas.thethingscloud.com");client.println("Kontrol Cache: tanpa cache");client.println("Token Tukang Pos: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klien.println();
BeriSayaTimestamp();
// itu akan memanggil fungsi yang akan mendapatkan respons stempel waktu dari server
Serial.println("stempel waktu diterima");
Serial.println(stempel waktu);Serial.println("di dalam ThingsCloudPost");
String Nilai Pos =
"{"device_id\": 61121695918, \"slave_id\": 2";
Nilai Pasca =
PostValue + ", \"dts\":" +timestamp;
Nilai Pasca =
PostValue +", \"data\":{"MOIST\":" + nilai +"}"+"}";Serial.println(Nilai Pos);
/* membuat instance WiFiClientSecure */
Klien WiFiClientSecure;Serial.println("Hubungkan ke server melalui port 443");
jika
(!klien.koneksi(server, 443)){Serial.println("Koneksi gagal!");
} lain {Serial.println("Tersambung ke server!");
/* buat
meminta */client.println("POST /devices/deviceData HTTP/1.1");client.println("Host: api.thingsai.io");//client.println("Koneksi: tutup");client.println("Tipe Konten: aplikasi/json");
client.println( kontrol cache:
tanpa cache");client.println("Otorisasi: Pembawa eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKylYlWNqC2PNTkXs9PKylclient.print("Panjang Konten: ");
client.println(PostValue.length());klien.println();klien.println(Nilai Pos);
/////////////////////////////////POSTING data ke
cloud selesai dan sekarang dapatkan respons dari server cloud //////////////////
Serial.print( Menunggu jawaban
);
ketika
(!klien.tersedia()){
penundaan (50);
//Serial.print(".");
}
/* jika datanya
tersedia kemudian terima dan cetak ke Terminal */
ketika
(klien.tersedia()) {
char c = klien.baca();Serial.tulis(c);
}
/* jika
server terputus, hentikan klien */
jika
(!klien.terhubung()) {Serial.println();Serial.println("Server terputus");
klien.berhenti();
}
}
Serial.println( ////////////////////// AKHIRNYA
///////////////////// );
penundaan(3000);
}
}
Langkah 4: KELUARAN:
Output dari kode ditampilkan.
Langkah 5: GRAFIK
Ini adalah representasi grafis dari nilai yang dibaca dari sensor.
Langkah 6:
Berikut adalah video lengkap dari proyek tersebut. Terima kasih.
Direkomendasikan:
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 merupakan sensor kelembaban dan suhu dengan output digital. Sensor ini memberikan tingkat akurasi ±4% RH. Dengan stabilitas jangka panjang terdepan di industri, I2C digital dengan kompensasi suhu sejati, keandalan terdepan di industri, Efisiensi energi
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembaban digital dengan sensor suhu terintegrasi yang memberikan akurasi pengukuran yang sangat baik pada daya yang sangat rendah. Perangkat mengukur kelembaban berdasarkan sensor kapasitif baru. Sensor kelembaban dan suhu adalah fak
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital
Probe Pengukuran Ketinggian Air Tanah untuk Pengaturan Sumber Daya Rendah: 4 Langkah (dengan Gambar)
Probe Pengukuran Ketinggian Air Tanah untuk Pengaturan Sumber Daya Rendah: Pengantar Kami menerima permintaan dari Oxfam untuk mengembangkan cara sederhana yang dapat digunakan anak-anak sekolah di Afghanistan untuk memantau ketinggian air tanah di sumur terdekat. Halaman ini telah diterjemahkan ke dalam bahasa Dari oleh Dr. Amir Haidari dan terjemahannya dapat
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: Dalam tutorial ini saya akan menjelaskan tentang mengukur suhu di sekitar dengan menggunakan sensor suhu bawaan yang ada di papan pengembangan esp32. esp32 memiliki banyak sensor bawaan seperti sensor hall yang digunakan sebagai sensor jarak