Daftar Isi:
- Langkah 1: Membuat dan Masuk ke Platform THINGSIO
- Langkah 2: Membuat Proyek Baru
- Langkah 3: Membuat Perangkat Baru
- Langkah 4: Menentukan Parameter Perangkat
- Langkah 5: Memperbarui Perangkat
- Langkah 6: Pengkodean
- Langkah 7: Pemilihan Papan dan Port Com
- Langkah 8: Koneksi Sirkuit
- Langkah 9: Kompilasi dan Unggah
- Langkah 10: Monitor Serial
- Langkah 11: Bacaan
- Langkah 12: Representasi Grafis
- Langkah 13:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
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
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
Setelah masuk ke akun, untuk membuat proyek cukup klik proyek baru lalu beri nama proyek.
Langkah 3: 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
Berikan parameter perangkat dan kemudian pilih jenis parameter
Langkah 5: Memperbarui Perangkat
Pilih parameter dan kemudian perbarui perangkat
Langkah 6: 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
Dari alat pilih papan lalu pilih port com
Langkah 8: 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 kode ke dalam esp32 dan kemudian baca bacaan dari monitor serial. Itu akan menunjukkan hasil seperti ini
Langkah 10: Monitor Serial
Nilai diperoleh pada monitor serial dan kemudian dikirim ke platform THINGSAI IOT Cloud.
Langkah 11: Bacaan
Ini menunjukkan nilai yang diperoleh dari papan esp32.
Langkah 12: Representasi Grafis
Ini adalah representasi grafis dari nilai yang diperoleh. Itu adalah akhir dari tutorial. Harap Anda sudah mengerti. Terima kasih