Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Dalam tutorial ini saya akan menjelaskan tentang mengukur kedekatan perangkat dan mempublikasikan nilainya ke platform Thingsai, io cloud dengan menggunakan sensor hall dan papan pengembangan esp32.
Sensor efek Hall adalah perangkat yang digunakan untuk mengukur besarnya medan magnet. Tegangan keluarannya berbanding lurus dengan kekuatan medan magnet yang melaluinya. Sensor efek hall digunakan untuk penginderaan jarak, penentuan posisi, deteksi kecepatan, dan aplikasi penginderaan saat ini.
Langkah 1: KOMPONEN
Komponen Perangkat Keras:
1. Sensor Aula
2. papan pengembangan esp32
3. Kabel jumper
Komponen Perangkat Lunak:
1. Arduino IDE
2. ThingsIO. AI
Langkah 2: KONEKSI:
Sensor aula ----------------------- esp32
Keluar ------------------------------ vp
Gnd----------------------------- Gnd
Vcc------------------------------3V3
Langkah 3: KODE:
#termasuk
#termasuk
#termasuk
int hitung=0, i, m, j, k;
pengukuran int;
int outputpin= A0;//ds18b20
////////////////////////////////////// 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);
penundaan (10);
// 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("Alamat IP: ");
Serial.println(WiFi.localIP());
penundaan (500);
}
lingkaran kosong()
{
int analogValue =
analogRead(pin keluaran);
{
////////////////////////////////////// KIRIM QUERY DAN
MENERIMA TANGGAPAN ///////////////////////
pengukuran int
= 0;
pengukuran =
aulaBaca();Serial.print("Pengukuran sensor ruangan: ");Serial.println(pengukuran);
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\": 61121696007, \"slave_id\": 2";
Nilai Pasca =
PostValue + ", \"dts\":" +timestamp;
Nilai Pasca =
PostValue +", \"data\":{"proximity\":" + pengukuran +"}"+"}";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( POSTING
/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.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7);client.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()) {
karakter 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: HASIL:
Nilai yang dibaca dari sensor berhasil dikirim ke cloud IOT dan grafik dibuat sebagai kedekatan vs waktu. Dengan ini kerja sensor dianalisis dan digunakan sesuai dengan area aplikasi yang diperlukan.
Langkah 5: Tutorial Lengkap:
Ini adalah proyek lengkap untuk mengukur kedekatan perangkat dengan menggunakan sensor hall esp32 dan platform cloud thingsai.io. Terima kasih