Isi kandungan:

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, Julai
Anonim
LDR Menggunakan Thingsai Cloud
LDR Menggunakan Thingsai Cloud

HEY….. hari ini kita akan belajar tentang mengukur intensiti cahaya dan memasukkan nilai ke dalam platform awan THINGSAI IOT dengan menggunakan ESP32.

Keperluan untuk melakukan projek ini adalah

1. Lembaga Pembangunan ESP32 (Saya telah menggunakan ESP32 DEVKIT V1)

2. Sensor LDR

3. Wayar Pelompat

4. Akaun di THINGSAI IOT PLATFORM

Langkah 1: Membuat dan Log masuk ke Platform THINGSIO

Membuat dan Log masuk ke Platform THINGSIO
Membuat dan Log masuk ke Platform THINGSIO

Log masuk ke akaun THINGS AI. Sekiranya anda baru, daftarlah ke akaun dengan menekan butang daftar dan isi semua kelayakan. Akaun anda akan dibuat dan mulai dari itu anda akan dapat bekerja di platform cloud dan membuat projek tersuai anda

Langkah 2: Membuat Projek Baru

Membuat Projek Baru
Membuat Projek Baru

Setelah log masuk ke akaun, untuk membuat projek klik pada projek baru dan kemudian beri nama projek.

Langkah 3: Membuat Peranti Baru

Membuat Peranti Baru
Membuat Peranti Baru

setelah membuat projek, perkara seterusnya yang perlu anda lakukan ialah membuat peranti baru. Beri nama peranti dan masukkan ID peranti sama ada secara manual atau sistem yang dihasilkan.

Langkah 4: Menentukan Parameter Peranti

Mendefinisikan Parameter Peranti
Mendefinisikan Parameter Peranti

Berikan parameter peranti dan kemudian pilih jenis parameter

Langkah 5: Mengemas kini Peranti

Mengemas kini Peranti
Mengemas kini Peranti

Pilih parameter dan kemudian kemas kini peranti

Langkah 6: Pengekodan

Pengekodan
Pengekodan

Dari contoh kod pilih kod esp32 salin dan kemudian tampalkan di arduino IDE dan buat perubahan yang diperlukan mengikut keperluan. Saya telah memberikan kod di bawah

#sertakan #sertakan

#sertakan

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

int t; int outputpin = A0; // ds18b20

nilai sensor int;

//////////////////////////////////////// SEMUA PENGAKUAN untuk CLOUD ////// ////////////////////////

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

hos = 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 * server = "api.thingsai.io"; // URL pelayan

cap masa char [10];

WiFiMulti WiFiMulti;

// Gunakan kelas WiFiClient untuk membuat sambungan TCP

Pelanggan WiFiClient;

/////////////////////////////////////// TIMESTAMP CALCULATION fungsi //////// /////////////////////////////// int GiveMeTimestamp () {jangka masa tidak ditandatangani = milis (); // Pelanggan WiFiClient;

sementara (client.available () == 0)

{

jika (milis () - tamat masa> 50000)

{

pelanggan.stop (); pulangan 0;

}

}

sementara (klien. tersedia ())

{

Garisan rentetan = 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);

kelewatan (10);

// Kita mulakan dengan menyambung ke rangkaian WiFi

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

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 ("Alamat IP:"); Serial.println (WiFi.localIP ());

kelewatan (500);

}

gelung kosong ()

{

int analogValue = analogRead (outputpin);

{/////////////////////////////////////// HANTAR PERTANYAAN DAN TERIMA TANGGUNGJAWAB /// ////////////////////

sensorvalue = analogRead (A0); // baca pin input analog 0

sensorvalue = sensorvalue / 100;

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

Serial.print ("\ n"); // mencetak ruang antara nombor

kelewatan (1000); // tunggu 100ms untuk bacaan seterusnya

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

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

client.println ("GET / api / cap waktu HTTP / 1.1"); // Apa yang dilakukan bahagian ini, saya tidak mendapat client.println ("Host: baas.thethingscloud.com");

client.println ("Cache-Control: no-cache");

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

pelanggan.println ();

BerikanMeTimestamp (); // ia akan memanggil fungsi yang akan mendapat sambutan cap waktu dari pelayan Serial.println ("cap waktu diterima");

Serial.println (cap waktu);

Serial.println ("di dalam ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + cap waktu;

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

Serial.println (Nilai Nilai);

/ * buat contoh klien WiFiClientSecure * / WiFiClientSecure;

Serial.println ("Sambungkan ke pelayan melalui port 443");

jika (! client.connect (pelayan, 443))

{

Serial.println ("Sambungan gagal!");

}

yang lain

{Serial.println ("Bersambung ke pelayan!"); / * buat permintaan HTTP * /

client.println ("POST / devices / deviceData HTTP / 1.1");

client.println ("Host: api.thingsai.io"); //client.println("Connection: close "); kl

ient.println ("Jenis Kandungan: aplikasi / json");

client.println ("cache-control: no-cache");

client.println ("Keizinan: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkX_9mf_9MF9MF9MF9MFNMXFXXFXXFXXBFF1Bf3Mf3ff3 client.print ("Panjang Kandungan:");

client.println (PostValue.length ());

pelanggan.println ();

pelanggan.println (PostValue); ////////////////////////////////// POSTING data ke cloud sudah selesai dan sekarang dapatkan form form cloud pelayan //////////////////

Serial.print ("Menunggu tindak balas");

sementara (! client.available ()) {

kelewatan (50); //

Cetakan bersiri (".");

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

sementara (klien. tersedia ())

{

char c = client.read ();

Serial.write (c);

}

/ * jika pelayan terputus, hentikan pelanggan * /

jika (! client.connected ())

{

Bersiri.println ();

Serial.println ("Pelayan terputus");

pelanggan.stop ();

}

} Serial.println ("////////////////////// AKHIRNYA //////////////////// / ");

kelewatan (3000); }}

Langkah 7: Pemilihan Board dan Com Port

Pemilihan Lembaga dan Pelabuhan Com
Pemilihan Lembaga dan Pelabuhan Com

Dari alat pilih papan dan kemudian pilih port com

Langkah 8: Sambungan Litar

Sambungan Litar
Sambungan Litar
Sambungan Litar
Sambungan Litar
Sambungan Litar
Sambungan Litar

Pengekodan dilakukan kemudian buat sambungan berikut seperti yang disebutkan di bawah

Sambungan:

GND esp32 hingga GND sensor LDR

3V3 0f esp32 ke Vcc LDR

VP esp32 ke A0 LDR

Langkah 9: Susun dan Muat Naik

Susun dan Muat Naik
Susun dan Muat Naik

menyusun dan memuat naik kod ke dalam esp32 dan kemudian membaca bacaan dari monitor bersiri. Itu akan menunjukkan hasil seperti ini

Langkah 10: Monitor Bersiri

Monitor Bersiri
Monitor Bersiri

Nilai diperoleh pada monitor bersiri dan kemudian dihantar ke platform THINGSAI IOT Cloud.

Langkah 11: Bacaan

Bacaan
Bacaan

Ini menunjukkan nilai yang diperoleh dari papan esp32.

Langkah 12: Perwakilan Grafik

Perwakilan Grafik
Perwakilan Grafik

Ini adalah gambaran grafik dari nilai yang diperoleh. Itulah akhir tutorial. Harap anda sudah faham. Terima kasih

Disyorkan: