সুচিপত্র:
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
এই টিউটোরিয়ালে আমি esp32 ব্যবহার করে মাটির আর্দ্রতা পড়ার বিষয়ে ব্যাখ্যা করতে যাচ্ছি এবং তারপর thingsio.ai IoT ক্লাউড প্ল্যাটফর্মে মান পাঠাচ্ছি।
ধাপ 1: উপাদান
হার্ডওয়্যার উপাদান:
1. esp32 উন্নয়ন বোর্ড
2. মাটির সেন্সর
3. জাম্পার তারের
সফটওয়্যার:
1. Arduino IDE
2. Thingsio.ai
ধাপ 2: সংযোগ
মৃত্তিকা আর্দ্রতা সেন্সর ---------------------- esp32 বোর্ড
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- ভিপি
ধাপ 3: কোডিং:
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
int count = 0, i, m, j, k;
int টি;
int sensor_pin = A0;
int মান;
/////////////////////////////////////////// সকল ঘোষণা
ক্লাউডের জন্য ////////////////////////////////
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);Serial.println ("সেন্সর থেকে পড়া …");
বিলম্ব (2000);
// আমরা শুরু করি
একটি ওয়াইফাই নেটওয়ার্কে সংযোগ করা হচ্ছে
WiFiMulti.addAP ("Wifi_name", "ওয়াইফাই_প্যাসওয়ার্ড");
Serial.println ();
Serial.println ();সিরিয়াল.প্রিন্ট ("ওয়াইফাইয়ের জন্য অপেক্ষা করুন …");যখন (WiFiMulti.run ()! = WL_CONNECTED) {সিরিয়াল.প্রিন্ট ("।");
বিলম্ব (500);
}Serial.println ("");Serial.println ("ওয়াইফাই সংযুক্ত");
Serial.println ( IP
ঠিকানা: );Serial.println (WiFi.localIP ());
বিলম্ব (500);
}
অকার্যকর লুপ ()
{
{
///////////////////////////////////////// প্রশ্ন পাঠান এবং
প্রতিক্রিয়া গ্রহণ করুন /////////////////////////
মান =
analogRead (sensor_pin);
// মান =
মানচিত্র (মান, 550, 0, 0, 100);সিরিয়াল.প্রিন্ট ("মসজিদ:");সিরিয়াল.প্রিন্ট (মান);Serial.println ("%");বিলম্ব (1000);সিরিয়াল.প্রিন্ট ("সাথে সংযুক্ত");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 / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + "," dts / ":" + টাইমস্ট্যাম্প;
PostValue =
PostValue +"," data / ": {" MOIST / ":" +value +"}" +"}";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 ( ক্যাশে-নিয়ন্ত্রণ:
নো-ক্যাশে ");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: গ্রাফ
এটি সেন্সর থেকে পড়া মানগুলির গ্রাফিকাল উপস্থাপনা।
ধাপ 6:
এখানে প্রকল্পের সম্পূর্ণ ভিডিও। ধন্যবাদ.
প্রস্তাবিত:
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, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HTS221 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ
HTS221 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়ালের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে
Esp32 এবং Thingsio.ai প্ল্যাটফর্ম ব্যবহার করে তাপমাত্রা পরিমাপ: 6 টি ধাপ
Esp32 এবং Thingsio.ai প্ল্যাটফর্ম ব্যবহার করে তাপমাত্রা পরিমাপ: এই টিউটোরিয়ালে আমি esp32 ডেভেলপমেন্ট বোর্ডে উপস্থিত অন্তর্নির্মিত তাপমাত্রা সেন্সর ব্যবহার করে আশেপাশের তাপমাত্রা পরিমাপ সম্পর্কে ব্যাখ্যা করতে যাচ্ছি। esp32 এর অনেকগুলি অন্তর্নির্মিত সেন্সর রয়েছে যেমন হল সেন্সরটি প্রক্সিমিটি সেন্সর হিসাবে ব্যবহৃত হয়, স্পর্শ করুন