Daftar Isi:

Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah

Video: Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah

Video: Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Video: Monitoring Kelembaban Tanah dengan ESP32, LCD 16x2, dan Blynk IoT 2024, November
Anonim
Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai
Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai

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
KOMPONEN
KOMPONEN
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

KONEKSI
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:

KELUARAN
KELUARAN

Output dari kode ditampilkan.

Langkah 5: GRAFIK

GRAFIK
GRAFIK

Ini adalah representasi grafis dari nilai yang dibaca dari sensor.

Langkah 6:

Berikut adalah video lengkap dari proyek tersebut. Terima kasih.

Direkomendasikan: