সুচিপত্র:
- ধাপ 1: উপাদান:
- ধাপ 2: Esp32 এর ব্লক ডায়াগ্রাম রিপ্রেসেন্টেশন
- ধাপ 3: কোডিং:
- ধাপ 4: আউটপুট:
- ধাপ 5: গ্রাফ
- ধাপ 6:
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
এই টিউটোরিয়ালে আমি esp32 ডেভেলপমেন্ট বোর্ডে উপস্থিত ইনবিল্ট টেম্পারেচার সেন্সর ব্যবহার করে চারপাশের তাপমাত্রা পরিমাপ সম্পর্কে ব্যাখ্যা করতে যাচ্ছি। esp32 এর অনেক ইনবিল্ট সেন্সর রয়েছে যেমন হল সেন্সর যেমন প্রক্সিমিটি সেন্সর, টাচ সেন্সর, টেম্পারেচার সেন্সর হিসেবে ব্যবহৃত হয়। এই টিউটোরিয়ালে আমরা তাপমাত্রা সেন্সর সম্পর্কে আলোচনা করতে যাচ্ছি।
ধাপ 1: উপাদান:
হার্ডওয়্যার:
1.esp32 উন্নয়ন বোর্ড
সফটওয়্যার:
1. আরডুইনো আইডিই
2. থিংসিও.এই
ধাপ 2: Esp32 এর ব্লক ডায়াগ্রাম রিপ্রেসেন্টেশন
ধাপ 3: কোডিং:
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#ifdef _cplusplus
বাহ্যিক "C" {
#যদি শেষ
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#যদি শেষ
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
/////////////////////////////////////////// সকল ঘোষণা
ক্লাউডের জন্য ////////////////////////////////
const char* host = "api.thingsai.io"; // অথবা হোস্ট =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
অথবা/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"; // সার্ভার ইউআরএল
চার টাইমস্ট্যাম্প [10];
WiFiMulti WiFiMulti;
// টিসিপি সংযোগ তৈরি করতে ওয়াইফাই ক্লায়েন্ট ক্লাস ব্যবহার করুন
ওয়াইফাই ক্লায়েন্ট ক্লায়েন্ট;
///////////////////////////////////////// টাইমস্ট্যাম্প
গণনা ফাংশন //////////////////////////////////////////
int GiveMeTimestamp ()
{
স্বাক্ষরবিহীন দীর্ঘ
সময়সীমা = মিলিস ();
// ওয়াইফাই ক্লায়েন্ট ক্লায়েন্ট;
যখন
(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 ++)
{টাইমস্ট্যাম্প [জে] = লাইন [পোজ + 12 + জে];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
অকার্যকর সেটআপ()
{Serial.begin (115200);
বিলম্ব (10);
tzset ();
// আমরা শুরু করি
একটি ওয়াইফাই নেটওয়ার্কে সংযোগ করা হচ্ছেWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();সিরিয়াল.প্রিন্ট ("ওয়াইফাইয়ের জন্য অপেক্ষা করুন …");যখন (WiFiMulti.run ()! = WL_CONNECTED) {সিরিয়াল.প্রিন্ট ("।");
বিলম্ব (500);
}Serial.println ("");Serial.println ("ওয়াইফাই সংযুক্ত");Serial.println ("IP ঠিকানা:");Serial.println (WiFi.localIP ());
বিলম্ব (500);
}
uint8_t temp_farenheit;
ভাসা temp_celsius;
char strftime_buf [64];
time_t now = 0;
struct tm timeinfo;
char buf [256];
অকার্যকর লুপ ()
{
// int analogValue =
analogRead (আউটপুটপিন);
{
///////////////////////////////////////// প্রশ্ন পাঠান এবং
প্রতিক্রিয়া গ্রহণ করুন /////////////////////////
//
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);
//
সিরিয়াল.প্রিন্ট ("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);
সিরিয়াল.প্রিন্ট
(বুফ);
temp_farenheit =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");সিরিয়াল.প্রিন্ট (temp_farenheit);সিরিয়াল.প্রিন্ট ("° F");সিরিয়াল.প্রিন্ট (temp_celsius);Serial.println ("° C");
বিলম্ব (1000);
এখন ++;
Serial.print ( সংযোগ করা হচ্ছে
প্রতি );Serial.println (হোস্ট); // উল্টোভাবে সংজ্ঞায়িত:- হোস্ট = 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 ("Cache-Control: no-cache");client.println ("পোস্টম্যান-টোকেন: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // এটি কল করবে
ফাংশন যা সার্ভার থেকে টাইমস্ট্যাম্প সাড়া পাবে
Serial.println ("টাইমস্ট্যাম্প প্রাপ্ত");
Serial.println (টাইমস্ট্যাম্প);Serial.println ("ThingsCloudPost এর ভিতরে");
স্ট্রিং পোস্টভ্যালু =
"{" 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 ("সার্ভারে সংযুক্ত!");
/* HTTP তৈরি করুন
অনুরোধ */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।client.print ("বিষয়বস্তু-দৈর্ঘ্য:");client.println (PostValue.length ());client.println ();client.println (PostValue);
///////////////////////////////////// এ তথ্য পোস্ট করা হচ্ছে
ক্লাউড হয়ে গেছে এবং এখন ক্লাউড সার্ভারের প্রতিক্রিয়া ফর্ম পান //////////////////
Serial.print ( অপেক্ষা করা হচ্ছে
প্রতিক্রিয়ার জন্য );
যখন
(! client.available ()) {
বিলম্ব (50);
//সিরিয়াল.প্রিন্ট ("।");
}
/* যদি ডেটা হয়
উপলব্ধ তারপর টার্মিনালে */ রিসিভ করুন এবং মুদ্রণ করুন
যখন
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/* যদি
সার্ভার বিচ্ছিন্ন, ক্লায়েন্ট বন্ধ করুন */
যদি
(! client.connected ()) {Serial.println ();Serial.println ("সার্ভার বিচ্ছিন্ন");
client.stop ();
}
}
Serial.println ( /////////////////////// শেষ
///////////////////// );
বিলম্ব (3000);
}
}
ধাপ 4: আউটপুট:
এখানে সেন্সর থেকে পড়া তাপমাত্রার মানগুলির আউটপুট।
ধাপ 5: গ্রাফ
অনবোর্ড তাপমাত্রা সেন্সর থেকে পড়া মানগুলির গ্রাফিক্যাল উপস্থাপনা।
প্রস্তাবিত:
ESP8266 এবং AskSensors IoT প্ল্যাটফর্ম ব্যবহার করে DHT তাপমাত্রা এবং আর্দ্রতা নিরীক্ষণ: 8 টি ধাপ
ESP8266 এবং AskSensors IoT প্ল্যাটফর্ম ব্যবহার করে DHT তাপমাত্রা এবং আর্দ্রতা নিরীক্ষণ: পূর্ববর্তী নির্দেশনায়, আমি ESP8266 nodeMCU এবং AskSensors IoT প্ল্যাটফর্ম দিয়ে শুরু করার জন্য ধাপে ধাপে নির্দেশিকা উপস্থাপন করেছি। এই টিউটোরিয়ালে, আমি একটি DHT11 সেন্সর সংযুক্ত করছি নোড এমসিইউতে। DHT11 একটি সাধারণভাবে ব্যবহৃত তাপমাত্রা এবং আর্দ্রতা
DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: 4 টি ধাপ
DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: এই Arduino টিউটোরিয়ালে আমরা শিখব কিভাবে Arduino বোর্ডের সাথে তাপমাত্রা এবং আর্দ্রতা পরিমাপের জন্য DHT11 বা DHT22 সেন্সর ব্যবহার করতে হয়
আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং Arduino Nano ব্যবহার করে: 4 টি ধাপ
HIH6130 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ
HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা ও আর্দ্রতার পরিমাপ: HDC1000 হল একটি ডিজিটাল আর্দ্রতা সেন্সর যার সমন্বিত তাপমাত্রা সেন্সর যা খুব কম শক্তিতে চমৎকার পরিমাপ নির্ভুলতা প্রদান করে। ডিভাইসটি একটি নতুন ক্যাপাসিটিভ সেন্সরের উপর ভিত্তি করে আর্দ্রতা পরিমাপ করে। আর্দ্রতা এবং তাপমাত্রা সেন্সর মুখ
Esp32 এবং Thingsio.ai প্ল্যাটফর্ম ব্যবহার করে মাটির আর্দ্রতা সামগ্রী পরিমাপ: 6 টি ধাপ
Esp32 এবং Thingsio.ai প্ল্যাটফর্ম ব্যবহার করে মৃত্তিকা আর্দ্রতা সামগ্রী পরিমাপ: এই টিউটোরিয়ালে আমি esp32 ব্যবহার করে মাটির আর্দ্রতা পড়ার বিষয়ে ব্যাখ্যা করতে যাচ্ছি এবং তারপর thingsio.ai IoT ক্লাউড প্ল্যাটফর্মে মান পাঠাচ্ছি