Isi kandungan:
- Langkah 1: KOMPONEN:
- Langkah 2: PERWAKILAN DIAGRAM BLOK Esp32
- Langkah 3: KOD:
- Langkah 4: KELUARAN:
- Langkah 5: KUMPULAN:
- Langkah 6:
Video: Pengukuran Suhu Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Dalam tutorial ini saya akan menerangkan tentang mengukur suhu di sekitarnya dengan menggunakan sensor suhu dalaman yang terdapat di papan pengembangan esp32. esp32 mempunyai banyak sensor dalaman seperti sensor ruang yang digunakan sebagai sensor jarak, sensor sentuh, sensor suhu. Dalam tutorial ini kita akan membincangkan mengenai sensor suhu.
Langkah 1: KOMPONEN:
Perkakasan:
1. papan pengembanganesp32
Perisian:
1. Arduino IDE
2. Thingsio.ai
Langkah 2: PERWAKILAN DIAGRAM BLOK Esp32
Langkah 3: KOD:
#sertakan
#sertakan
#sertakan
#sertakan
#sertakan
#ifdef _cplusplus
luaran "C" {
#endif
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#endif
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
//////////////////////////////////////// SEMUA PENGAKUAN
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 menukar cap waktu
const int httpPort = 80;
const int httpsPort = 443;
const char * pelayan =
"api.thingsai.io"; // URL pelayan
cap masa char [10];
WiFiMulti WiFiMulti;
// Gunakan kelas WiFiClient untuk membuat sambungan TCP
Pelanggan WiFiClient;
/////////////////////////////////////// TIMESTAMP
Fungsi PENGHITUNGAN ///////////////////////////////////////
int GiveMeTimestamp ()
{
tidak bertanda panjang
tamat masa = milis ();
// Pelanggan WiFiClient;
sementara
(pelanggan. tersedia () == 0)
{
jika (milis () -
tamat masa> 50000)
{
pelanggan.stop ();
pulangan 0;
}
}
sementara (klien. tersedia ())
{
Garisan tali =
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);
tzset ();
// Kami bermula dengan
menyambung ke rangkaian WiFiWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
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);
}
uint8_t temp_farenheit;
terapung temp_celsius;
char strftime_buf [64];
time_t now = 0;
struct tm timeinfo;
char buf [256];
gelung kosong ()
{
// int analogValue =
analogRead (outputpin);
{
/////////////////////////////////////// HANTAR PERTANYAAN DAN
TERIMA RESPON ///////////////////////
//
t1 = (analogValue / 1024.0) * 5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1 / 10);
//
Serial.print ("celc:");
//
Bersiri.println (t2);
/
/ t3 = ((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Bersiri.println (t3); // rehat;localtime_r (& sekarang, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "% c", & timeinfo);sprintf (buf, "scan awal% 02d:% 02d:% 02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Cetakan bersiri
(buf);
temp_farenheit =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Cetakan bersiri ("° F");Serial.print (temp_celsius);Serial.println ("° C");
kelewatan (1000);
sekarang ++;
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");
sekiranya
(! client.connect (time_server, {
kembali;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / cap waktu HTTP / 1.1"); // Apa bahagian ini lakukan, saya tidak fahamclient.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 / ": 61121695920, \" slave_id / ": 2";
Nilai Pos =
PostValue + ", \" dts / ":" + cap waktu;
Nilai Pos =
PostValue + ", \" data / ": {" TEMP / ":" + temp_farenheit + "}" + "}";Serial.println (Nilai Nilai);
/ * buat contoh WiFiClientSecure * /
Pelanggan WiFiClientSecure;Serial.println ("Sambungkan ke pelayan melalui port 443");
sekiranya
(! client.connect (pelayan, 443)) {Serial.println ("Sambungan gagal!");
} lain {Serial.println ("Bersambung ke pelayan!");
/ * buat
permintaan * /client.println ("POST / devices / deviceData HTTP / 1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Jenis Kandungan: aplikasi / json");client.println ("cache-control: no-cache");client.println ("Keizinan: Pembawa eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkX_9mF99F9MF9MF9MFNMXFXMBFXBFF1MfFXBF3Bf3f3client.print ("Panjang Kandungan:");client.println (PostValue.length ());pelanggan.println ();pelanggan.println (PostValue);
//////////////////////////////// POSTING data ke
cloud selesai dan sekarang dapatkan borang respons pelayan cloud //////////////////
Serial.print ( Menunggu
untuk tindak balas );
sementara
(! client.available ()) {
kelewatan (50);
//Cetakan bersiri (".");
}
/ * jika data
tersedia kemudian terima dan cetak ke Terminal * /
sementara
(pelanggan. tersedia ()) {
char c =
pelanggan.baca ();Serial.write (c);
}
/ * jika
pelayan terputus, hentikan pelanggan * /
sekiranya
(! client.connected ()) {Bersiri.println ();Serial.println ("Pelayan terputus");
pelanggan.stop ();
}
}
Serial.println ( ////////////////////// AKHIRNYA
///////////////////// );
kelewatan (3000);
}
}
Langkah 4: KELUARAN:
Berikut adalah output nilai suhu yang dibaca dari sensor.
Langkah 5: KUMPULAN:
Perwakilan grafik dari nilai yang dibaca dari sensor suhu di atas kapal.
Disyorkan:
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 adalah sensor kelembapan dan suhu dengan output digital. Sensor ini memberikan tahap ketepatan ± 4% RH. Dengan kestabilan jangka panjang yang terkemuka di industri, I2C digital yang diberi pampasan suhu sebenar, kebolehpercayaan terkemuka di industri, kecekapan tenaga
Pengukuran Suhu dan Kelembapan Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembapan Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembapan digital dengan sensor suhu bersepadu yang memberikan ketepatan pengukuran yang sangat baik pada daya yang sangat rendah. Peranti mengukur kelembapan berdasarkan sensor kapasitif baru. Sensor kelembapan dan suhu adalah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini termasuk elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui siri digital
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini termasuk elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui siri digital
Pengukuran Kandungan Kelembapan Tanah Menggunakan Platform Esp32 dan Thingsio.ai: 6 Langkah
Pengukuran Kandungan Kelembapan Tanah Menggunakan Platform Esp32 dan Thingsio.ai: Dalam tutorial ini saya akan menerangkan mengenai pembacaan kandungan kelembapan di dalam tanah dengan menggunakan esp32 dan kemudian mengirimkan nilai ke platform cloud thingsio.ai IoT