Daftar Isi:
- Langkah 1: KOMPONEN:
- Langkah 2: REPRESENTASI DIAGRAM BLOK dari Esp32
- Langkah 3: KODE:
- Langkah 4: KELUARAN:
- Langkah 5: GRAFIK:
- Langkah 6:
Video: Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam tutorial ini saya akan menjelaskan tentang mengukur suhu di sekitar dengan menggunakan sensor suhu bawaan yang ada di papan pengembangan esp32. esp32 memiliki banyak sensor bawaan seperti sensor hall yang digunakan sebagai sensor jarak, sensor sentuh, sensor suhu. Dalam tutorial ini kita akan membahas tentang sensor suhu.
Langkah 1: KOMPONEN:
Perangkat keras:
1.esp32 papan pengembangan
Perangkat lunak:
1. Arduino IDE
2. Thingsio.ai
Langkah 2: REPRESENTASI DIAGRAM BLOK dari Esp32
Langkah 3: KODE:
#termasuk
#termasuk
#termasuk
#termasuk
#termasuk
#ifdef _cplusplus
eksternal "C" {
#berakhir jika
uint8_t temprature_sens_read();
//uint8_t g_phyFuns;
#ifdef _cplusplus
}
#berakhir jika
int hitung=0, i, m, j, k;
int t, t1, t2, t3;
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);
tzset();
// Kita mulai dengan
menghubungkan ke jaringan WiFiWiFiMulti.addAP("dlink_DWR-113", "madhukar66");
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);
}
uint8_t temp_farenheit;
mengapung temp_celsius;
char strftime_buf[64];
waktu_t sekarang = 0;
struct tm info waktu;
char buf[256];
lingkaran kosong()
{
// int analogValue =
analogRead(pin keluaran);
{
////////////////////////////////////// KIRIM QUERY DAN
MENERIMA TANGGAPAN ///////////////////////
//
t1=(analogValue/1024.0) *5000;
//
Serial.print("suhu: ");
// Serial.println(t1);
/
/ t2=(t1/10);
//
Serial.print("celc: ");
//
Serial.println(t2);
/
/ t3=((t2 *
9)/5 + 32);
//
Serial.print("fhrn: ");
//
Serial.println(t3); //merusak;localtime_r(&sekarang, &timeinfo);strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);sprintf(buf, "scan start %02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Serial.print
(buf);
temp_farenheit=
suhu_sens_read();
suhu_celsius = (temp_farenheit - 32) / 1,8;Serial.print("Temperatur pada Papan ");Serial.print(temp_farenheit);Serial.print("°F");Serial.print(temp_celsius);Serial.println("°C");
penundaan (1000);
sekarang++;
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 cap waktu dari server
Serial.println("stempel waktu diterima");
Serial.println(stempel waktu);Serial.println("di dalam ThingsCloudPost");
String Nilai Pos =
"{"device_id\": 61121695920, \"slave_id\": 2";
Nilai Pasca =
PostValue + ", \"dts\":" +timestamp;
Nilai Pasca =
PostValue +", \"data\":{"TEMP\":" + temp_farenheit +"}"+"}";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
untuk tanggapan );
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: KELUARAN:
Berikut output dari nilai suhu yang terbaca dari sensor.
Langkah 5: GRAFIK:
Representasi grafis dari nilai yang dibaca dari sensor suhu onboard.
Direkomendasikan:
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 merupakan sensor kelembaban dan suhu dengan output digital. Sensor ini memberikan tingkat akurasi ±4% RH. Dengan stabilitas jangka panjang terdepan di industri, I2C digital dengan kompensasi suhu sejati, keandalan terdepan di industri, Efisiensi energi
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembaban digital dengan sensor suhu terintegrasi yang memberikan akurasi pengukuran yang sangat baik pada daya yang sangat rendah. Perangkat mengukur kelembaban berdasarkan sensor kapasitif baru. Sensor kelembaban dan suhu adalah fak
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Raspberry Pi: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital
Pengukuran Kadar Air Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
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