תוכן עניינים:
וִידֵאוֹ: מדידת טמפרטורה באמצעות Esp32 ופלטפורמת Thingsio.ai: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
במדריך זה אני הולך להסביר על מדידת הטמפרטורה בסביבה באמצעות חיישן טמפרטורה מובנה הקיים בלוח הפיתוח של esp32. ל- esp32 יש חיישנים מובנים רבים כמו חיישן האולם המשמש כחיישן הקרבה, חיישן מגע, חיישן טמפרטורה. במדריך זה אנו הולכים לדון על חיישן הטמפרטורה.
שלב 1: רכיבים:
חומרה:
1. לוח פיתוח ESP32
תוֹכנָה:
1. Arduino IDE
2. Thingsio.ai
שלב 2: ייצוג דיאגרם בלוק של Esp32
שלב 3: קידוד:
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#ifdef _cplusplus
חיצוני "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
/////////////////////////////////
עבור CLOUD //////////////////////////////////
const char* host = "api.thingsai.io"; // או מארח =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
OR/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // זה כדי להמיר את חותמת הזמן
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // כתובת URL של השרת
חותמת זמן של צ'ארה [10];
WiFiMulti WiFiMulti;
// השתמש בכיתה WiFiClient ליצירת חיבורי TCP
לקוח WiFiClient;
//////////////////////////////////////////
פונקציית חישוב ////////////////////////////
int GiveMeTimestamp ()
{
ארוך ללא סימן
פסק זמן = מיליס ();
// לקוח WiFiClient;
בזמן
(client.available () == 0)
{
אם (מיליס () -
פסק זמן> 50000)
{
client.stop ();
החזר 0;
}
}
בעוד (client.available ())
{
קו מחרוזת =
client.readStringUntil ('\ r'); // indexOf () הוא פונקציה לחיפוש smthng, הוא מחזיר -1 אם לא נמצא
int pos =
line.indexOf ("\" חותמת זמן / ""); // חפש "\" חותמת זמן / "" מתחילת התגובה שקיבלת והעתק את כל הנתונים לאחר מכן, זה יהיה חותמת הזמן שלך
אם (pos> =
0)
{
int j = 0;עבור (j = 0; j <10; j ++)
{חותמת זמן [j] = שורה [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
הגדרת חלל ()
{Serial.begin (115200);
עיכוב (10);
tzset ();
// נתחיל ב
חיבור לרשת WiFiWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();Serial.print ("המתן ל- WiFi …");בעוד (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
עיכוב (500);
}Serial.println ("");Serial.println ("WiFi מחובר");Serial.println ("כתובת IP:");Serial.println (WiFi.localIP ());
עיכוב (500);
}
uint8_t temp_farenheit;
צף temp_celsius;
char strftime_buf [64];
time_t עכשיו = 0;
struct tm timeinfo;
צ'אר בוף [256];
לולאת חלל ()
{
// int analogValue =
analogRead (outputpin);
{
/////////////////////////////////
קבל את התגובה /////////////////////
//
t1 = (analogValue/1024.0) *5000;
//
Serial.print ("טמפ ':");
// Serial.println (t1);
/
/ t2 = (t1/ 10);
//
Serial.print ("celc:");
//
Serial.println (t2);
/
/ t3 = ((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Serial.println (t3); //לשבור;localtime_r (& עכשיו, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "%c", & timeinfo);sprintf (buf, "התחל סריקה%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
הדפסה סידורי
(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");
עיכוב (1000);
עכשיו ++;
Serial.print ( מתחבר
ל );Serial.println (מארח); // מוגדר כלפי מעלה:- host = devapi2.thethingscloud.com או 139.59.26.117
////////////////////////////////////////// SNIPPET
/////////////////////////
Serial.println ("בפנים חותמת זמן / n");
אם
(! client.connect (שרת הזמן, {
לַחֲזוֹר;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // מה החלק הזה עושה, לא הבנתיclient.println ("מארח: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("אגרת דוור: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // זה יקרא ל
פונקציה שתקבל את תגובת חותמת הזמן מהשרת
Serial.println ("חותמת זמן התקבלה");
Serial.println (חותמת זמן);Serial.println ("בתוך ThingsCloudPost");
מחרוזת PostValue =
"{" device_id / ": 61121695920, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + חותמת זמן;
PostValue =
PostValue +", \" data / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);
/ * צור מופע של WiFiClientSecure */
לקוח WiFiClientSecure;Serial.println ("התחבר לשרת דרך יציאה 443");
אם
(! client.connect (שרת, 443)) {Serial.println ("החיבור נכשל!");
} אחר {Serial.println ("מחובר לשרת!");
/* צור
בקשה */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("מארח: api.thingsai.io");//client.println("חיבור: קרוב ");client.println ("סוג תוכן: יישום/json");client.println ("cache-control: no-cache");client.println ("הרשאה: נושאת eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNYs9k9y7y9y9s9y9k9y9c9y9c9y9c9y9c9p6y9c9y9c9y9c9y9c9p6y9c5j9J9JyJ9JyN9C9pK9y9YYYYYYN9CYPWzQy9J9yYyYNJC9pJ6y9JyJJJJJJJJ9JyJJ9JyJJJjJJJJJJJgclient.print ("אורך התוכן:");client.println (PostValue.length ());client.println ();client.println (PostValue);
////////////////////////////////////// לפרסם את הנתונים ב
ענן נעשה ועכשיו קבל את טופס התגובה שרת ענן ////////////////////
Serial.print ( מחכה
לתגובה );
בזמן
(! client.available ()) {
עיכוב (50);
//Serial.print (".");
}
/* אם הנתונים
זמין ואז קבל והדפס לטרמינל */
בזמן
(client.available ()) {
char c =
client.read ();Serial.write (ג);
}
/* אם
השרת נותק, עצור את הלקוח */
אם
(! client.connected ()) {Serial.println ();Serial.println ("השרת נותק");
client.stop ();
}
}
Serial.println ( //////////////////////// END
///////////////////// );
עיכוב (3000);
}
}
שלב 4: פלט:
להלן הפלט של ערכי הטמפרטורה הנקראים מהחיישן.
שלב 5: גרפים:
הייצוג הגרפי של הערכים הנקראים מחיישן הטמפרטורה המשולב.
מוּמלָץ:
מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: 8 שלבים
מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: מדידת הטמפרטורה של נוזל באמצעות כניסת אנלוגי xChip מ- XinaBox ובדיקת תרמיסטור
מדידת טמפרטורה באמצעות AD7416ARZ ו- Raspberry Pi: 4 שלבים
מדידת טמפרטורה באמצעות AD7416ARZ ו- Raspberry Pi: AD7416ARZ הוא חיישן טמפרטורה 10 ביט עם ארבעה ממירים אנלוגיים לדיגיטליים וחיישן טמפרטורה על הלוח המשולב בו. ניתן לגשת לחיישן הטמפרטורה בחלקים באמצעות ערוצי מרבב. הטמפ 'המדויקת הזו
מדידת טמפרטורה באמצעות STS21 וארדואינו ננו: 4 שלבים
מדידת טמפרטורה באמצעות STS21 ו Arduino Nano: חיישן טמפרטורה דיגיטלי STS21 מציע ביצועים מעולים וטביעת רגל. הוא מספק אותות מכויל, לינארית בפורמט דיגיטלי, I2C. ייצור חיישן זה מבוסס על טכנולוגיית CMOSens, המייחסת למעולים
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: 8 שלבים
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: בהנחיה קודמת הצגתי מדריך צעד אחר צעד להתחלת ה- nodeMCU ESP8266 ופלטפורמת IoT AskSensors. במדריך זה אני מחבר חיישן DHT11. לצומת MCU של הצומת. DHT11 הוא טמפרטורה נפוצה ולחות
מדידת תכולת לחות הקרקע באמצעות פלטפורמת Esp32 ו- Thingsio.ai: 6 שלבים
מדידת תכולת לחות הקרקע באמצעות פלטפורמת Esp32 ו- Thingsio.ai: במדריך זה אני הולך להסביר על קריאת תכולת הלחות באדמה על ידי שימוש ב- esp32 ולאחר מכן שליחת הערכים לפלטפורמת הענן של דבריםio.ai IoT