Daftar Isi:

Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah

Video: Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah

Video: Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Video: Sensor Suhu & Kelembaban | Internet of Things (IoT) | Wokwi Simulator | ESP32 | DHT22 | ThingsBoard 2024, Juli
Anonim
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai
Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai

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:

KOMPONEN
KOMPONEN

Perangkat keras:

1.esp32 papan pengembangan

Perangkat lunak:

1. Arduino IDE

2. Thingsio.ai

Langkah 2: REPRESENTASI DIAGRAM BLOK dari Esp32

REPRESENTASI DIAGRAM BLOK Esp32
REPRESENTASI DIAGRAM BLOK 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:

KELUARAN
KELUARAN

Berikut output dari nilai suhu yang terbaca dari sensor.

Langkah 5: GRAFIK:

GRAFIK
GRAFIK
GRAFIK
GRAFIK

Representasi grafis dari nilai yang dibaca dari sensor suhu onboard.

Direkomendasikan: