Talaan ng mga Nilalaman:
- Hakbang 1: Mga KOMPONENTO:
- Hakbang 2: BLOCK DIAGRAM REPRESENTATION NG Esp32
- Hakbang 3: CODING:
- Hakbang 4: OUTPUT:
- Hakbang 5: GRAPHS:
- Hakbang 6:
Video: Pagsukat ng Temperatura Gamit ang Esp32 at Thingsio.ai Platform: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa tutorial na ito ipapaliwanag ko ang tungkol sa pagsukat ng temperatura sa paligid sa pamamagitan ng paggamit ng inbuilt na sensor ng temperatura na naroroon sa esp32 development board. Ang esp32 ay maraming mga built-in na sensor tulad ng sensor ng hall na ginamit bilang proximity sensor, touch sensor, temperatura sensor. Sa tutorial na ito tatalakayin namin ang tungkol sa sensor ng temperatura.
Hakbang 1: Mga KOMPONENTO:
Hardware:
1.esp32 development board
Software:
1. Arduino IDE
2. Thingsio.ai
Hakbang 2: BLOCK DIAGRAM REPRESENTATION NG Esp32
Hakbang 3: CODING:
# isama
# isama
# isama
# isama
# isama
#ifdef _cplusplus
extern "C" {
#tapusin kung
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#tapusin kung
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
// ///
para sa CLOUD // ///.
const char * host = "api.thingsai.io"; // O host =
devapi2.thethingscloud.com
const char * post_url = "/ aparato / aparatoData"; //
O / api / v2 / bagaycloud2 / _tapat / data_ac
const char * time_server =
"baas.thethingscloud.com"; // ito ay upang i-convert ang timestamp
const int httpPort = 80;
const int httpsPort = 443;
const char * server =
"api.thingsai.io"; // Server URL
timestamp ng char [10];
WiFiMulti WiFiMulti;
// Gumamit ng klase ng WiFiClient upang lumikha ng mga koneksyon sa TCP
Client ng WiFiClient;
// ///
Pag-andar ng CALCULATION // ///.
int GiveMeTimestamp ()
{
matagal na hindi pinirmahan
timeout = millis ();
// client ng WiFiClient;
habang
(client.available () == 0)
{
kung (millis () -
timeout> 50000)
{
client.stop ();
ibalik ang 0;
}
}
habang (client.available ())
{
String line =
client.readStringUntil ('\ r'); // indexOf () ay isang funtion upang maghanap para sa smthng, nagbabalik ito ng -1 kung hindi nahanap
int pos =
line.indexOf ("\" timestamp / ""); // search for "\" timestamp / "" mula sa simula ng pagtanggap nakuha at kopyahin ang lahat ng data pagkatapos nito, ito ang magiging timestamp mo
kung (pos> =
0)
{
int j = 0;para sa (j = 0; j <10; j ++)
{timestamp [j] = linya [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
walang bisa ang pag-setup ()
{Serial.begin (115200);
antala (10);
tzset ();
// Nagsisimula kami sa pamamagitan ng
kumokonekta sa isang WiFi networkWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();Serial.print ("Maghintay para sa WiFi …");habang (WiFiMulti.run ()! = WL_CONNected) {Serial.print (".");
pagkaantala (500);
}Serial.println ("");Serial.println ("Konektado sa WiFi");Serial.println ("IP address:");Serial.println (WiFi.localIP ());
pagkaantala (500);
}
uint8_t temp_farenheit;
lumutang temp_celsius;
char strftime_buf [64];
time_t ngayon = 0;
istraktura ng timeinfo;
char buf [256];
walang bisa loop ()
{
// int analogValue =
analogRead (outputpin);
{
// ///
TANGGAPIN ANG RESPONSE // ///.
//
t1 = (analogValue / 1024.0) * 5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1 / 10);
//
Serial.print ("celc:");
//
Serial.println (t2);
/
/ t3 = (((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Serial.println (t3); //pahinga;localtime_r (& now, & 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 =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("° F");Serial.print (temp_celsius);Serial.println ("° C");
pagkaantala (1000);
ngayon ++;
Serial.print ( kumokonekta
sa );Serial.println (host); // tinukoy nang paitaas: - host = devapi2.thethingscloud.com o 139.59.26.117
// ///.
/////////////////////////
Serial.println ("sa loob makakuha ng timestamp / n");
kung
(! client.connect (time_server, {
bumalik;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1"); // Ano ang ginagawa ng bahaging ito, hindi ko nakuhaclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // tatawagin nito ang
pagpapaandar na makakakuha ng tugon ng timestamp mula sa server
Serial.println ("natanggap ang timestamp");
Serial.println (timestamp);Serial.println ("sa loob ng ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695920, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + timestamp;
PostValue =
PostValue + ", \" data / ": {" TEMP / ":" + temp_farenheit + "}" + "}";Serial.println (PostValue);
/ * Lumikha ng isang halimbawa ng WiFiClientSecure * /
Client ng WiFiClientSecure;Serial.println ("Kumonekta sa server sa pamamagitan ng port 443");
kung
(! client.connect (server, 443)) {Serial.println ("Nabigo ang koneksyon!");
} iba pa {Serial.println ("Nakakonekta sa server!");
/ * lumikha ng
hiling */client.println ("POST / aparato / aparatoData HTTP / 1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Uri ng Nilalaman: application / json");client.println ("cache-control: no-cache");client.println ("Awtorisasyon: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT6X79f9)client.print ("Haba ng Nilalaman:");client.println (PostValue.length ());client.println ();client.println (PostValue);
// ///
tapos na ang ulap at makuha ngayon ang form ng pagtugon cloud server // ///.
Serial.print ( Naghihintay
para sa tugon );
habang
(! client.available ()) {
antala (50);
//Serial.print (".");
}
/ * kung ang data ay
magagamit pagkatapos ay tumanggap at mag-print sa Terminal * /
habang
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * kung ang
naka-disconnect ang server, itigil ang client * /
kung
(! client.connected ()) {Serial.println ();Serial.println ("Nakakonekta ang server");
client.stop ();
}
}
Serial.println ( // ///. / / / / / // THE END
///////////////////// );
pagkaantala (3000);
}
}
Hakbang 4: OUTPUT:
Narito ang output ng mga halaga ng temperatura na nabasa mula sa sensor.
Hakbang 5: GRAPHS:
Ang grapikong representasyon ng mga halagang binasa mula sa onboard temperatura sensor.
Inirerekumendang:
Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: 8 Hakbang
Pagsukat ng Temperatura Gamit ang XinaBox at isang Thermistor: Sukatin ang temperatura ng isang likido gamit ang isang analogue input xChip mula sa XinaBox at isang probe ng thermistor
Pagsukat ng Temperatura Gamit ang AD7416ARZ at Raspberry Pi: 4 na Hakbang
Pagsukat ng Temperatura Gamit ang AD7416ARZ at Raspberry Pi: AD7416ARZ ay 10-Bit na sensor ng temperatura na may apat na solong channel na analog sa mga digital converter, at isang sensor ng temperatura ng board na isinama dito. Ang sensor ng temperatura sa mga bahagi ay maaaring ma-access sa pamamagitan ng mga multiplexer channel. Ang temp na may katumpakan na ito
Pagsubaybay sa Temperatura at Humidity ng DHT Gamit ang ESP8266 at ang AskSensors IoT Platform: 8 Hakbang
Pagsubaybay sa Temperatura at Humidity ng DHT Gamit ang ESP8266 at ang AskSensors IoT Platform: Sa isang nakaraang itinuro, nagpakita ako ng isang sunud-sunod na gabay upang makapagsimula sa ESP8266 nodeMCU at ang AskSensors IoT platform. Sa tutorial na ito, kumokonekta ako sa isang sensor ng DHT11 sa node MCU. Ang DHT11 ay isang karaniwang ginagamit na Temperatura at humidi
Simple at Murang Temperatura ng Pagsukat ng Temperatura Gamit ang Thermistor: 5 Mga Hakbang
Simple at Murang Temperatura ng Pagsukat ng Temperatura Gamit ang Thermistor: ang simple at murang sensor ng temperatura na gumagamit ng NTC thermistor thermistor ay binabago ang paglaban nito sa pagbabago ng oras gamit ang pag-aari na ito na nagtatayo kami ng sensor ng temperatura upang malaman ang tungkol sa thermistor https://en.wikipedia.org/wiki/ Thermistor
Pagsukat ng Nilalaman ng Moisture ng Lupa Gamit ang Esp32 at Thingsio.ai Platform: 6 na Hakbang
Pagsukat ng Nilalaman ng Kahalumigmigan ng Lupa Gamit ang Esp32 at Thingsio.ai Platform: Sa tutorial na ito ipapaliwanag ko ang tungkol sa pagbabasa ng nilalaman ng kahalumigmigan sa lupa sa pamamagitan ng paggamit ng esp32 at pagkatapos ay pagpapadala ng mga halaga sa bagay na cloud.ai IoT cloud platform