विषयसूची:
- चरण 1: घटक:
- चरण 2: Esp32. का ब्लॉक आरेख प्रतिनिधित्व
- चरण 3: कोडिंग:
- चरण 4: आउटपुट:
- चरण 5: ग्राफ:
- चरण 6:
वीडियो: Esp32 और Thingsio.ai प्लेटफॉर्म का उपयोग करके तापमान मापन: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
इस ट्यूटोरियल में मैं esp32 डेवलपमेंट बोर्ड में मौजूद इनबिल्ट टेम्परेचर सेंसर का उपयोग करके परिवेश में तापमान को मापने के बारे में समझाने जा रहा हूँ। esp32 में कई इनबिल्ट सेंसर हैं जैसे हॉल सेंसर का इस्तेमाल प्रॉक्सिमिटी सेंसर, टच सेंसर, टेम्परेचर सेंसर के रूप में किया जाता है। इस ट्यूटोरियल में हम तापमान सेंसर के बारे में चर्चा करने जा रहे हैं।
चरण 1: घटक:
हार्डवेयर:
1.esp32 विकास बोर्ड
सॉफ्टवेयर:
1. Arduino IDE
2. Thingsio.ai
चरण 2: Esp32. का ब्लॉक आरेख प्रतिनिधित्व
चरण 3: कोडिंग:
#शामिल
#शामिल
#शामिल
#शामिल
#शामिल
#ifdef _cplusplus
बाहरी "सी" {
#अगर अंत
uint8_t temprature_sens_read ();
//uint8_t g_phyFuns;
#ifdef _cplusplus
}
#अगर अंत
इंट काउंट = 0, आई, एम, जे, के;
इंट टी, टी1, टी2, टी3;
इंट आउटपुटपिन = A0;//ds18b20
///////////////////////////////////// सभी घोषणाएं
बादल के लिए /////////////////////////////
कास्ट चार* होस्ट = "एपीआई.थिंग्ससाई.आईओ"; // या होस्ट =
devapi2.thethingscloud.com
const char* post_url = "/ डिवाइस/डिवाइसडेटा"; //
या /api/v2/thingscloud2/_table/data_ac
कास्ट चार* टाइम_सर्वर =
"baas.thethingscloud.com"; // यह टाइमस्टैम्प कन्वर्ट करने के लिए है
कॉन्स्ट इंट httpPort = 80;
कॉन्स्ट इंट httpsPort = ४४३;
कास्ट चार * सर्वर =
"api.thingsai.io"; // सर्वर यूआरएल
चार टाइमस्टैम्प [10];
वाईफाईमल्टी वाईफाईमल्टी;
// टीसीपी कनेक्शन बनाने के लिए वाईफाई क्लाइंट क्लास का उपयोग करें
वाईफाई क्लाइंट क्लाइंट;
//////////////////////////////////// टाइमस्टैम्प
गणना समारोह //////////////////////////////////////
इंट गिवमीटाइमस्टैम्प ()
{
अहस्ताक्षरित लंबा
टाइमआउट = मिली ();
// वाईफाई क्लाइंट क्लाइंट;
जबकि
(ग्राहक उपलब्ध () == 0)
{
अगर (मिली () -
समयबाह्य > ५००००)
{
क्लाइंट.स्टॉप ();
वापसी 0;
}
}
जबकि (क्लाइंट.उपलब्ध ())
{
स्ट्रिंग लाइन =
client.readStringUntil('\r'); //indexOf() smthng की खोज करने के लिए एक मज़ेदार है, अगर नहीं मिला तो यह -1 लौटाता है
इंट पॉज़ =
line.indexOf("\"टाइमस्टैम्प\""); // प्रतिक्रिया की शुरुआत से "\"टाइमस्टैम्प \"" खोजें और उसके बाद सभी डेटा कॉपी करें, यह आपका टाइमस्टैम्प होगा
अगर (स्थिति>=
0)
{
इंट जे = 0;के लिए (जे = 0; जे <10; जे ++)
{टाइमस्टैम्प [जे] = लाइन [पॉज़ + 12 + जे];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
व्यर्थ व्यवस्था()
{सीरियल.बेगिन (115200);
देरी(10);
टज़सेट ();
// हम शुरू करते हैं
वाईफाई नेटवर्क से कनेक्ट करनाWiFiMulti.addAP ("dlink_DWR-113", "मधुकर 66");
सीरियल.प्रिंट्लन ();
सीरियल.प्रिंट्लन ();Serial.print ("वाईफाई की प्रतीक्षा करें …");जबकि (WiFiMulti.run() != WL_CONNECTED) {सीरियल.प्रिंट ("।");
देरी (500);
}सीरियल.प्रिंट्लन ("");Serial.println ("वाईफाई कनेक्टेड");Serial.println ("आईपी पता:");Serial.println (वाईफाई.लोकलआईपी ());
देरी (500);
}
uint8_t temp_farenheit;
फ्लोट अस्थायी_सेल्सियस;
चार strftime_buf [६४];
टाइम_टी अब = 0;
स्ट्रक्चर टीएम टाइमइन्फो;
चार बफ [256];
शून्य लूप ()
{
// इंट एनालॉगवैल्यू =
एनालॉग रीड (आउटपुटपिन);
{
//////////////////////////////////// क्वेरी भेजें और
प्रतिक्रिया प्राप्त करें ///////////////////////
//
t1=(analogValue/1024.0) *5000;
//
सीरियल.प्रिंट ("अस्थायी:");
// सीरियल.प्रिंट्लन (टी 1);
/
/ t2=(t1/10);
//
सीरियल.प्रिंट ("सेल्क:");
//
Serial.println(t2);
/
/ t3=((t2 *
9)/5 + 32);
//
सीरियल.प्रिंट ("fhrn:");
//
Serial.println(t3); //टूटना;localtime_r (और अब, और समय सूचना);strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);sprintf (buf, "स्कैन प्रारंभ% 02d:% 02d:% 02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
सीरियल.प्रिंट
(बफ);
temp_farenheit=
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("टेम्प ऑनबोर्ड");सीरियल.प्रिंट (temp_farenheit);सीरियल.प्रिंट ("डिग्री फ़ारेनहाइट");सीरियल.प्रिंट (temp_celsius);Serial.println ("डिग्री सेल्सियस");
देरी (1000);
अब ++;
सीरियल.प्रिंट ( कनेक्टिंग
प्रति );सीरियल.प्रिंट्लन (होस्ट); // परिभाषित उल्टा:- होस्ट = devapi2.thethingscloud.com या 139.59.26.117
//////////////////////////////////// टाइमस्टैम्प कोड स्निपेट
/////////////////////////
Serial.println ("अंदर टाइमस्टैम्प प्राप्त करें / n");
अगर
(! client.connect(time_server, {
वापसी;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET /api/timestamp HTTP/1.1"); // यह हिस्सा क्या कर रहा है, मुझे नहीं मिलाclient.println ("होस्ट: baas.thethingscloud.com");client.println ("कैश-कंट्रोल: नो-कैश");client.println ("डाकिया-टोकन: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
क्लाइंट.प्रिंट्लन ();
गिवमीटाइमस्टैम्प (); // यह कॉल करेगा
फ़ंक्शन जो सर्वर से टाइमस्टैम्प प्रतिक्रिया प्राप्त करेगा
Serial.println ("टाइमस्टैम्प प्राप्त हुआ");
Serial.println (टाइमस्टैम्प);Serial.println ("थिंग्सक्लाउडपोस्ट के अंदर");
स्ट्रिंग पोस्टवैल्यू =
"{"device_id\": 61121695920, \"slave_id\": 2";
पोस्टवैल्यू =
पोस्टवैल्यू + ", \"डीटीएस\":" +टाइमस्टैम्प;
पोस्टवैल्यू =
पोस्टवैल्यू +", \"डेटा\":{"TEMP\":" + temp_farenheit +"}"+"}";Serial.println (पोस्टवैल्यू);
/* WiFiClientSecure का एक उदाहरण बनाएं */
WiFiClientSecure क्लाइंट;Serial.println ("पोर्ट 443 के माध्यम से सर्वर से कनेक्ट करें");
अगर
(! क्लाइंट। कनेक्ट (सर्वर, 443)) {Serial.println ("कनेक्शन विफल!");
} अन्यथा {Serial.println ("सर्वर से जुड़ा!");
/* HTTP बनाएं
प्रार्थना */client.println ("पोस्ट / डिवाइस / डिवाइसडेटा HTTP / 1.1");client.println ("होस्ट: api.thingsai.io");//client.println ("कनेक्शन: बंद करें");client.println ("सामग्री-प्रकार: एप्लिकेशन/जेसन");client.println ("कैश-कंट्रोल: नो-कैश");client.println ("प्राधिकरण: वाहक eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs");क्लाइंट.प्रिंट ("सामग्री-लंबाई:");client.println (PostValue.length ());क्लाइंट.प्रिंट्लन ();क्लाइंट.प्रिंट्लन (पोस्टवैल्यू);
//////////////////////////////// पर डेटा पोस्ट करना
क्लाउड हो गया है और अब प्रतिक्रिया फॉर्म प्राप्त करें क्लाउड सर्वर //////////////////
सीरियल.प्रिंट ("प्रतीक्षा कर रहा है"
प्रतिक्रिया के लिए );
जबकि
(! ग्राहक। उपलब्ध ()) {
देरी (50);
//सीरियल.प्रिंट ("।");
}
/* यदि डेटा है
उपलब्ध है तो प्राप्त करें और टर्मिनल पर प्रिंट करें */
जबकि
(ग्राहक उपलब्ध ()) {
चार सी =
क्लाइंट.रीड ();सीरियल.राइट (सी);
}
/* अगर
सर्वर डिस्कनेक्ट हो गया है, क्लाइंट को रोकें */
अगर
(! क्लाइंट। कनेक्टेड ()) {सीरियल.प्रिंट्लन ();Serial.println ("सर्वर डिस्कनेक्ट हो गया");
क्लाइंट.स्टॉप ();
}
}
Serial.println ( ////////////////////// अंत
///////////////////// );
देरी (3000);
}
}
चरण 4: आउटपुट:
यहाँ सेंसर से पढ़े गए तापमान के मानों का आउटपुट दिया गया है।
चरण 5: ग्राफ:
ऑनबोर्ड तापमान सेंसर से पढ़े गए मानों का चित्रमय प्रतिनिधित्व।
सिफारिश की:
XinaBox और एक थर्मिस्टर का उपयोग करके तापमान मापन: 8 कदम
XinaBox और एक थर्मिस्टर का उपयोग करके तापमान मापन: XinaBox से एक एनालॉग इनपुट xChip और एक थर्मिस्टर जांच का उपयोग करके तरल के तापमान को मापें
AD7416ARZ और रास्पबेरी पाई का उपयोग करके तापमान का मापन: 4 कदम
AD7416ARZ और रास्पबेरी पाई का उपयोग करके तापमान का मापन: AD7416ARZ 10-बिट तापमान सेंसर है जिसमें डिजिटल कन्वर्टर्स के चार सिंगल चैनल एनालॉग और इसमें एक ऑन बोर्ड तापमान सेंसर शामिल है। भागों पर तापमान संवेदक को मल्टीप्लेक्स चैनलों के माध्यम से पहुँचा जा सकता है। यह उच्च-सटीकता अस्थायी
ESP8266 और AskSensors IoT प्लेटफॉर्म का उपयोग करके DHT तापमान और आर्द्रता की निगरानी: 8 कदम
ESP8266 और AskSensors IoT प्लेटफ़ॉर्म का उपयोग करके DHT तापमान और आर्द्रता की निगरानी: पिछले निर्देश में, मैंने ESP8266 नोडएमसीयू और AskSensors IoT प्लेटफ़ॉर्म के साथ आरंभ करने के लिए एक चरण-दर-चरण मार्गदर्शिका प्रस्तुत की। इस ट्यूटोरियल में, मैं एक DHT11 सेंसर कनेक्ट कर रहा हूँ नोड एमसीयू के लिए। DHT11 आमतौर पर इस्तेमाल किया जाने वाला तापमान और आर्द्रता
MCP9803 और कण फोटॉन का उपयोग करके तापमान मापन: 4 कदम
MCP9803 और कण फोटॉन का उपयोग कर तापमान मापन: MCP9803 एक 2-तार उच्च सटीकता तापमान सेंसर है। वे उपयोगकर्ता-प्रोग्राम करने योग्य रजिस्टरों के साथ सन्निहित हैं जो तापमान संवेदन अनुप्रयोगों की सुविधा प्रदान करते हैं। यह सेंसर अत्यधिक परिष्कृत बहु-क्षेत्र तापमान निगरानी प्रणाली के लिए उपयुक्त है।
Esp32 और Thingsio.ai प्लेटफॉर्म का उपयोग करके मिट्टी की नमी की मात्रा का मापन: 6 कदम
Esp32 और Thingsio.ai प्लेटफॉर्म का उपयोग करके मिट्टी की नमी की मात्रा का मापन: इस ट्यूटोरियल में मैं esp32 का उपयोग करके मिट्टी में नमी की मात्रा को पढ़ने के बारे में समझाने जा रहा हूं और फिर मानों को thethingio.ai IoT क्लाउड प्लेटफॉर्म में भेज रहा हूं।