Daftar Isi:

LDR Menggunakan Thingsai Cloud: 13 Langkah
LDR Menggunakan Thingsai Cloud: 13 Langkah

Video: LDR Menggunakan Thingsai Cloud: 13 Langkah

Video: LDR Menggunakan Thingsai Cloud: 13 Langkah
Video: Menyalakan dan mematikan lampu otomatis menggunakan sensor Cahaya (LDR) dengan platform Wokwi 2024, Juli
Anonim
LDR Menggunakan Thingsai Cloud
LDR Menggunakan Thingsai Cloud

HEY…..hari ini kita akan belajar tentang mengukur intensitas cahaya dan memposting nilainya ke platform cloud THINGSAI IOT dengan menggunakan ESP32.

Persyaratan untuk melakukan proyek ini adalah

1. Papan Pengembangan ESP32 (Saya telah menggunakan ESP32 DEVKIT V1)

2. sensor LDR

3. Kabel Jumper

4. Akun di PLATFORM THINGSAI IOT

Langkah 1: Membuat dan Masuk ke Platform THINGSIO

Membuat dan Masuk ke Platform THINGSIO
Membuat dan Masuk ke Platform THINGSIO

Masuk ke akun THINGS AI. Jika Anda baru, daftar ke akun dengan menekan tombol daftar dan isi semua kredensial. Akun Anda akan dibuat dan sejak saat itu Anda akan dapat bekerja di platform cloud dan membuat proyek khusus Anda

Langkah 2: Membuat Proyek Baru

Membuat Proyek Baru
Membuat Proyek Baru

Setelah masuk ke akun, untuk membuat proyek cukup klik proyek baru lalu beri nama proyek.

Langkah 3: Membuat Perangkat Baru

Membuat Perangkat Baru
Membuat Perangkat Baru

setelah membuat proyek hal berikutnya yang harus Anda lakukan adalah membuat perangkat baru. Beri nama perangkat dan masukkan ID perangkat baik secara manual atau sistem yang dihasilkan.

Langkah 4: Menentukan Parameter Perangkat

Menentukan Parameter Perangkat
Menentukan Parameter Perangkat

Berikan parameter perangkat dan kemudian pilih jenis parameter

Langkah 5: Memperbarui Perangkat

Memperbarui Perangkat
Memperbarui Perangkat

Pilih parameter dan kemudian perbarui perangkat

Langkah 6: Pengkodean

Pengkodean
Pengkodean

Dari kode sampel pilih kode esp32 salin dan tempel di arduino IDE dan buat perubahan yang diperlukan sesuai dengan kebutuhan. Saya telah memberikan kode di bawah ini

#sertakan #sertakan

#termasuk

int hitung=0, i, m, j, k;

int t; int outputpin= A0;//ds18b20

int nilai sensor;

////////////////////////////////////// SEMUA DEKLARASI untuk CLOUD ////// ////////////////////////////////////

const char* host = "api.thingsai.io"; // ATAU

host = 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 PERHITUNGAN fungsi ///////// ////////////////////////////// int GiveMeTimestamp() { unsigned long timeout = milis(); // klien WiFiClient;

sementara (client.available() == 0)

{

if (milis() - batas waktu > 50.000)

{

klien.berhenti(); kembali 0;

}

}

sementara (client.available())

{

String baris = 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);

penundaan (10);

// Kita mulai dengan menghubungkan ke jaringan WiFi

WiFiMulti.addAP("wifi", "pswrd");

Serial.println();

Serial.println();

Serial.print("Tunggu WiFi… ");

sementara(WiFiMulti.run() != WL_CONNECTED)

{

Serial.print(".");

penundaan (500);

}

Serial.println("");

Serial.println("WiFi terhubung");

Serial.println("Alamat IP: "); Serial.println(WiFi.localIP());

penundaan (500);

}

lingkaran kosong()

{

int analogValue = analogRead(pin keluaran);

{ ///////////////////////////////////// KIRIM PERTANYAAN DAN TERIMA RESPONS/// //////////////////////////

nilai sensor = analogRead(A0); // membaca pin input analog 0

nilai sensor=nilai sensor/100;

Serial.print(nilai sensor, DEC); // mencetak nilai read

Serial.print("\n"); // mencetak spasi di antara angka-angka

penundaan (1000); // tunggu 100 ms untuk bacaan selanjutnya

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");

if (!client.connect(time_server, { kembali; //*-*-*-*-*-*-*-*-*-* }

client.println("DAPATKAN /api/timestamp HTTP/1.1"); //Apa yang dilakukan bagian ini, saya tidak mendapatkan client.println("Host: baas.thethingscloud.com");

client.println("Kontrol Cache: tanpa cache");

client.println("Token Tukang Pos: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klien.println();

BeriSayaTimestamp(); //ini akan memanggil fungsi yang akan mendapatkan respon timestamp dari server Serial.println("timestamp receieved");

Serial.println(stempel waktu);

Serial.println("di dalam ThingsCloudPost");

String PostValue = "{"device_id\": 61121695844, \"slave_id\": 2";

PostValue = PostValue + ", \"dts\":" +timestamp;

PostValue = PostValue +", \"data\":{"INTENSITY\":" + \sensorvalue +"}"+"}";

Serial.println(Nilai Pos);

/* membuat instance dari 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!"); /* membuat permintaan HTTP */

client.println( POST /devices/deviceData

client.println("Host: api.thingsai.io"); //client.println("Koneksi: tutup"); cl

ient.println("Tipe Konten: aplikasi/json");

client.println("kontrol cache: tanpa cache");

client.println("Otorisasi: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6"); client.print("Panjang Konten: ");

client.println(PostValue.length());

klien.println();

klien.println(Nilai Pos); /////////////////////////////////POSTING data ke cloud selesai dan sekarang dapatkan respons formulir cloud server//////////////////

Serial.print("Menunggu jawaban");

while (!klien.available()){

penundaan (50); //

Serial.print(".");

} /* jika data tersedia maka terima dan cetak ke Terminal */

sementara (client.available())

{

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("///////////////////// AKHIR /////////////////// /");

penundaan(3000); } }

Langkah 7: Pemilihan Papan dan Port Com

Pemilihan Board dan Com Port
Pemilihan Board dan Com Port

Dari alat pilih papan lalu pilih port com

Langkah 8: Koneksi Sirkuit

Koneksi Sirkuit
Koneksi Sirkuit
Koneksi Sirkuit
Koneksi Sirkuit
Koneksi Sirkuit
Koneksi Sirkuit

Coding selesai kemudian buat koneksi berikut seperti yang disebutkan di bawah ini

KONEKSI:

GND dari esp32 ke GND dari sensor LDR

3V3 0f esp32 ke Vcc dari LDR

VP esp32 ke A0 dari LDR

Langkah 9: Kompilasi dan Unggah

Kompilasi dan Unggah
Kompilasi dan Unggah

kompilasi dan unggah kode ke dalam esp32 dan kemudian baca bacaan dari monitor serial. Itu akan menunjukkan hasil seperti ini

Langkah 10: Monitor Serial

Pemantau Berseri
Pemantau Berseri

Nilai diperoleh pada monitor serial dan kemudian dikirim ke platform THINGSAI IOT Cloud.

Langkah 11: Bacaan

Bacaan
Bacaan

Ini menunjukkan nilai yang diperoleh dari papan esp32.

Langkah 12: Representasi Grafis

Representasi grafis
Representasi grafis

Ini adalah representasi grafis dari nilai yang diperoleh. Itu adalah akhir dari tutorial. Harap Anda sudah mengerti. Terima kasih

Direkomendasikan: