সুচিপত্র:

ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ: 5 টি ধাপ
ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ: 5 টি ধাপ

ভিডিও: ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ: 5 টি ধাপ

ভিডিও: ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ: 5 টি ধাপ
ভিডিও: Подключение GY-BME-280 3.3v к ESP8266 NodeMcu V3, сравнение с классическим барометром 2024, নভেম্বর
Anonim
ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ
ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ
ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ
ESP8266 NodeMCU BME280 গেজ এবং চার্ট সহ

BME280 তাপমাত্রা, আর্দ্রতা এবং চাপ সেন্সর সহ আপনার ESP8266 NodeMCU ডেভেলপমেন্ট বোর্ডের জন্য ফ্যান্সি গেজ এবং চার্ট। থিংসস্পিক আপনার সমস্ত ডেটা ক্লাউডে পুনরুদ্ধারের জন্য বছরের পর বছর ধরে (আশা করি) সংরক্ষণ করবে। গেজ এবং চার্ট জিনিসপত্রগুলিতে সংরক্ষিত ডেটা থেকে তৈরি করা হয় এবং প্রতি 5 মিনিটে স্বয়ংক্রিয়ভাবে আপডেট হয়।

প্রয়োজনীয় আইটেম:

ESP8266 NodeMCU ডেভেলপমেন্ট বোর্ড (Banggood.com হংকং থেকে $ 3.79)

Bosch BME280 (Banggood.com হংকং থেকে $ 5.63)

ব্রেডবোর্ড জাম্পার (Banggood.com হংকং থেকে $ 3.09)

ব্রেডবোর্ড (Banggood.com হংকং থেকে $ 2.28)

পাওয়ার সাপ্লাই, বিনামূল্যে যদি আপনার একটি মাইক্রো ইউএসবি ফোন চার্জার থাকে

মাইক্রো ইউএসবি কেবল, যদি আপনার ইতিমধ্যে একটি থাকে তবে বিনামূল্যে

Arduino IDE, ফ্রি ডাউনলোড

. Ino এবং. HTML কোড ফাইলগুলি এখানে পান

ধাপ 1: আপনার থিংসপিক চ্যানেল তৈরি করুন এবং সেটআপ করুন

আপনার থিংসপিক চ্যানেল তৈরি করুন এবং সেটআপ করুন
আপনার থিংসপিক চ্যানেল তৈরি করুন এবং সেটআপ করুন

1. একটি বিনামূল্যে থিংসপিক অ্যাকাউন্ট এবং নতুন চ্যানেল তৈরি করুন https://thingspeak.com এ, "ESP8266-NodeMCU-12E-BME280" চ্যানেলে কল করুন

2. নতুন চ্যানেলে সেই নির্দিষ্ট ক্রমে তাপমাত্রা আর্দ্রতা চাপ নামে fields টি ক্ষেত্র থাকতে হবে (নোট ফার্স্ট লেটার ক্যাপিটালাইজেশন)।

3. "চ্যানেল সেটিংস" এর অধীনে আপনার নতুন "চ্যানেল আইডি" XXXXXX নোট করুন

4. "API কী" লিঙ্কে ক্লিক করুন এবং আপনার "API লিখুন" এবং "API কীগুলি পড়ুন" XXXXXXXXXXXXXXX নোট করুন। এছাড়াও, শেয়ারিং এর অধীনে এটি একটি পাবলিক চ্যানেল করুন।

5. একটি দ্বিতীয় থিংসস্পিক চ্যানেল তৈরি করুন যা "আজ" (মধ্যরাত থেকে) হাই লো ডেটা ধারণ করবে। এটাকে "BME280 Daily High Low Data" বলুন

6. এই নতুন চ্যানেলে সেই নির্দিষ্ট ক্রমে Tmax Tmin Hmax Hmin Pmax Pmin নামে fields টি ক্ষেত্র থাকতে হবে (নোট ফার্স্ট লেটার ক্যাপিটালাইজেশন)।

7. উপরের ধাপগুলোর মতো "BME280 Daily High Low Data" "চ্যানেল আইডি", "পড়ুন" এবং "API কী লিখুন" নোট করুন।

ধাপ 2: Arduino IDE, লাইব্রেরি সেটআপ করুন এবং BME280 কনফিগার করুন

Arduino IDE, লাইব্রেরি সেটআপ করুন এবং BME280 কনফিগার করুন
Arduino IDE, লাইব্রেরি সেটআপ করুন এবং BME280 কনফিগার করুন

8. https://easy-esp.com/getting-started-with-easyesp-… এ Arduino IDE এবং ESP8266 কোর ইনস্টল করার জন্য নির্দেশাবলী অনুসরণ করুন

9. Arduino IDE কে জ্বালিয়ে দিন যাতে আমরা আমাদের প্রয়োজনীয় চারটি লাইব্রেরি ইনস্টল করতে পারি।

10. আপনার "অ্যাডাফ্রুট ইউনিফাইড সেন্সর ড্রাইভার" লাইব্রেরির প্রয়োজন হবে, এটি আরডুইনো আইডিই -তে "লাইব্রেরি ম্যানেজার" -এ ইনস্টল করুন। মেনু স্কেচ অন্তর্ভুক্ত লাইব্রেরি ম্যানেজ করুন লাইব্রেরি টাইপ = "প্রস্তাবিত" টপিক = "সেন্সর" অনুসারে অনুসন্ধান করুন তারপর সার্চ বক্সে অ্যাডাফ্রুট ইউনিফাইড সেন্সর ড্রাইভার শব্দগুলি রাখুন। আপনি যা চান তা বলে "অ্যাডাফ্রুট ইউনিফাইড সেন্সর ড্রাইভার অ্যাডাফ্রুট দ্বারা"

11. উপরন্তু, আপনার "Adafruit BME280 লাইব্রেরি" এর প্রয়োজন হবে এটি Arduino IDE এর "লাইব্রেরি ম্যানেজার" এ ইনস্টল করুন। মেনু স্কেচ ইনক্লুড লাইব্রেরি ম্যানেজ করুন লাইব্রেরি টাইপ = "রিকমেন্ডেড" টপিক = "সেন্সর" অনুসারে সার্চ করুন তারপর সার্চ বক্সে অ্যাডাফ্রুট বিএমই ২80০ লাইব্রেরি রাখুন। আপনি যা চান তা বলে "Adafruit BME280 Library by Adafruit"

12. আপনার আরেকটি লাইব্রেরি প্রয়োজন Wire.h, এটি Arduino IDE- তে "লাইব্রেরি ম্যানেজার" -এ ইনস্টল করুন। মেনু, স্কেচ অন্তর্ভুক্ত লাইব্রেরি ম্যানেজ করুন লাইব্রেরি টাইপ = "কন্ট্রিবিউটেড" টপিক = "সিগন্যাল ইনপুট/আউটপুট" দ্বারা অনুসন্ধান করুন তারপর সার্চ বক্সে ওয়্যার শব্দটি রাখুন। আপনি যা চান তা বলছে "ওয়্যার বিল্ট-ইন বাই আরডুইনো" সম্ভবত নির্বাচনের নীচে।

13. আর একটি লাইব্রেরি, ESP8266WiFi, এটি Arduino IDE- এর "লাইব্রেরি ম্যানেজার" -এ ইনস্টল করুন। মেনু, স্কেচ অন্তর্ভুক্ত লাইব্রেরি ম্যানেজ লাইব্রেরি টাইপ = "কন্ট্রিবিউটেড" টপিক = "কমিউনিকেশন" অনুসারে সার্চ করুন তারপর সার্চ বক্সে ESP8266wifi শব্দটি রাখুন। আপনি যা চান তা বলে "ইভান গ্রোখোটকভের অন্তর্নির্মিত ESP8266wifi"

14. BME280 এর I2C ঠিকানাটি Adafruit_BME280.h ফাইলে হার্ডকোড করা হয়েছে (Adfruit_BME280_Library ফোল্ডারের ভিতরে BME280_ADDRESS 0x77 লাইনটি দেখুন)। অ্যাডাফ্রুটের বিএমই সেন্সর মডিউলগুলি 0x77 এর I2C ঠিকানা ব্যবহার করতে শক্ত-তারযুক্ত। কিন্তু BME280 এর একটু ভিন্ন I2C ঠিকানা (0x76) থাকতে পারে যদি এর বাহ্যিক SDO পিন গ্রাউন্ড করা থাকে। আপনি যদি তৃতীয় পক্ষের সেন্সর মডিউল ব্যবহার করেন, তাহলে সম্ভবত অ্যাডাফ্রুট লাইব্রেরির ডিফল্ট মানের সাথে এর ঠিকানা মেলে না। উদাহরণস্বরূপ, EBay বা Aliexpress এ উপলব্ধ BME280 সেন্সর মডিউলগুলির বেশিরভাগের জন্য তাদের I2C ঠিকানা 0x76 হতে হবে। Adafruit_BME280.h ফাইলে সেট করা ডিফল্ট ঠিকানা ব্যবহার করে যদি আপনি সেন্সর থেকে কোনো প্রতিক্রিয়া না পান, তাহলে আপনাকে এটি 0x76 এ পরিবর্তন করতে হতে পারে।

BME280 এবং ESP8266 সংযোগ পয়েন্ট। ESP8266 3.3V থেকে BME280 Vin, ESP8266 GND থেকে BME280 GND, ESP8266 D4 থেকে BME280 SCL, ESP8266 D3 থেকে BME280 SDA। 15. প্রদত্ত ESP8266-NodeMCU-12E-BME280.html ফাইলটি একটি টেক্সট এডিটরে খুলুন এবং আপনার "ESP8266-NodeMCU-12E-BME280" (আপনার তৈরি করা প্রথম চ্যানেল) "চ্যানেল আইডি" এবং "পড়ুন API কী" লিখুন ভেরিয়েবল কী 1 এবং চ্যান 1। Key2 এবং chan2 এর জন্য "BME280 Daily High Low Data" (আপনার তৈরি করা দ্বিতীয় চ্যানেল) এর জন্য "Read API Key" এবং "Channel ID" লিখুন। উপরন্তু, ইউটিসি থেকে আপনার টাইমজোন অফসেট লিখুন। যেমন -5 আমার জন্য। সমস্ত মান অবশ্যই প্রদত্ত একক উদ্ধৃতি 'XXXXX' এর মধ্যে থাকতে হবে। টেক্সট এডিটর সংরক্ষণ করুন এবং প্রস্থান করুন।

আপনার কম্পিউটারে USB তারের সাথে আপনার ESP8266 প্লাগ করুন তারপর USB পোর্ট হতে আপনার সিরিয়াল পোর্ট নির্বাচন করুন।

লিনাক্স ব্যবহারকারীদের /dev /ttyUSB0- এর সাথে যোগাযোগের জন্য USB পোর্টের নিজস্ব মালিকানা পরিবর্তন করতে হতে পারে যেমন 'sudo chown yourusername /dev /ttyUSB0' বা সেটআপের সময় আপনার পোর্ট হিসেবে আপনি যা নির্বাচন করেছেন।

ধাপ 3: Arduino IDE দিয়ে ESP8266 প্রোগ্রাম করুন

Arduino IDE দিয়ে ESP8266 প্রোগ্রাম করুন
Arduino IDE দিয়ে ESP8266 প্রোগ্রাম করুন

16. এরপর আমরা ESP8266 প্রোগ্রাম করব। আপনার ESP8266 এবং আপনার কম্পিউটারের মধ্যে একটি USB তারের সংযোগ করুন।

Arduino IDE তে প্রদত্ত New_BME_Sensor.ino ফাইলটি লোড করুন। আপনার BME280 সেন্সরটি ESP8266 এ D3 (SDA) এবং D4 (SCL) এর সাথে যুক্ত হওয়া উচিত। স্কেচের সঠিক অংশে আপনার "ESP8266-NodeMCU-12E-BME280" (আপনার তৈরি করা প্রথম চ্যানেল) "লিখুন কী" "ওয়্যারলেস SSID" এবং "পাসওয়ার্ড" লিখুন। তারপরে মেনু আইটেম "স্কেচ" এবং "আপলোড" ক্লিক করুন। আপনি আপনার ESP8266 এ স্কেচ আপলোড করার পরে (অগ্রগতি 100%পৌঁছায়) আপনি সিরিয়াল মনিটর খুলতে পারেন (উপরের ডানদিকে একটি ম্যাগনিফাইং কাচের মতো দেখতে আইকন) এবং প্রতি 5 মিনিটে 5 মিনিট পর আপনার ডেটা প্রিন্ট আউট দেখতে পারেন। ডেটা 5 মিনিটের ব্যবধানে জিনিসপত্রের কাছে পাঠানো হয় তাই আপনার অর্থপূর্ণ চার্ট ডেটা পাওয়ার আগে কিছু সময় লাগবে কিন্তু 5 মিনিটের পরে আপনার গেজ রিডিং থাকা উচিত।

আপনি সিরিয়াল মনিটরে BME280 থেকে সঠিক রিডিং পেয়েছেন তা নিশ্চিত করুন।

প্রথম পরিমাপ সম্ভবত একটি অবৈধ ন্যান হবে।

পরের পড়া পর্যন্ত কয়েক মিনিট অপেক্ষা করুন এবং যাচাই করুন যে রিডিংগুলি ভাল লাগছে।

ধাপ 4: কিছু ডেটা টুইকিং করার জন্য থিংসস্পিকে ফিরে যান

কিছু ডেটা টুইকিং করার জন্য থিংসস্পিকে ফিরে যান
কিছু ডেটা টুইকিং করার জন্য থিংসস্পিকে ফিরে যান

17. এখন, যখন ডেটা ধীরে ধীরে জিনিসপত্রের উপর আপলোড করা হচ্ছে তখন আপলোড করা কিছু থেকে অতিরিক্ত ডেটা পেতে কিছু টুইকিং করতে দেয়। থিজস্পিক ওয়েবসাইটে ফিরে যান এবং থিংসপিকের "BME280 Daily High Low Data" চ্যানেল পৃষ্ঠায় (আপনার তৈরি করা দ্বিতীয় চ্যানেল) সবুজ "MATLAB বিশ্লেষণ" বোতামে ক্লিক করুন। টেমপ্লেট নির্বাচন করুন "কাস্টম (কোন স্টার্টার কোড নেই)"

18. ম্যাটল্যাব বিশ্লেষণের নাম দিন "মধ্য রাত থেকে সর্বনিম্ন সর্বোচ্চ গণনা করুন"।

19. প্রদত্ত স্থানে MATLAB Analysis.txt কোডটি অনুলিপি করুন। "ESP8266-NodeMCU-12E-BME280" (আপনার তৈরি করা প্রথম চ্যানেল) এর "চ্যানেল আইডি" "readChannelID" এ প্রবেশ করান। লিখুন "BME280 ডেইলি হাই লো ডেটা" (আপনার তৈরি করা দ্বিতীয় চ্যানেল) "চ্যানেল আইডি" এবং "রাইট কী" লিখুন writeNewChannelID এ এবং লিখুন APIKey সম্মানজনকভাবে। আমি জানি এটি বিভ্রান্তিকর মনে হচ্ছে (এটি আবার পড়ুন)। সংরক্ষণ করুন এবং চালান ক্লিক করুন। যদি আপনি এটি সঠিকভাবে করেন এবং পড়ার চ্যানেলটি সর্বজনীন হয় তবে আপনি কোনও ত্রুটি দেখতে পাবেন না এবং এটি সফলভাবে মানগুলি মুদ্রণ করে। দ্রষ্টব্য, যদি সেই চ্যানেলে এখনও কোনও ডেটা আপলোড করা না হয় তবে আপনি একটি ত্রুটি দেখতে পারেন ত্রুটি সত্ত্বেও চালিয়ে যান। যদি ইচ্ছা হয় আপনি পুনরায় পরিদর্শন করতে পারেন সংরক্ষণ করুন ক্লিক করুন এবং নিশ্চিত করুন যে এটি একবার ডেটা আপলোড করার পরে কাজ করে।

20. এরপরে, প্রতি 5 মিনিটে এই কোডটি চালু করার জন্য আমাদের একটি "টাইম কন্ট্রোল" তৈরি করতে হবে এবং আমাদের ডেটা "BME280 ডেইলি হাই লো ডেটা" (আপনার তৈরি করা দ্বিতীয় চ্যানেল) চ্যানেলে লেখা হবে। "BME280 ডেইলি হাই লো ডেটা" (আপনার তৈরি করা দ্বিতীয় চ্যানেল) এর প্রধান পৃষ্ঠা থেকে উপরে অ্যাপস নির্বাচন করুন। কর্মের অধীনে "টাইমকন্ট্রোল" নির্বাচন করুন তারপর সবুজ বোতাম "নিউ টাইমকন্ট্রোল"। নাম দিন "উচ্চ নিম্ন তাপমাত্রা পাঠান ESP8266"। প্রয়োজনে আপনার সময় অঞ্চল নির্বাচন করুন এবং ফ্রিকোয়েন্সি এর অধীনে "পুনরাবৃত্তিমূলক" নির্বাচন করুন। পুনরাবৃত্তির অধীনে মিনিট নির্বাচন করুন। প্রতি 5 মিনিট চালানোর জন্য সেট করুন। অ্যাকশন MATLAB বিশ্লেষণ হওয়া উচিত এবং "কোড টু এক্সিকিউট" হল "ক্যালকুলেট মিনি ম্যাক্স মিক্স মিডনাইট"। টাইমকন্ট্রোল সংরক্ষণ করুন।

ধাপ 5: প্রদত্ত HTML ফাইল সম্পাদনা করুন

প্রদত্ত HTML ফাইল সম্পাদনা করুন
প্রদত্ত HTML ফাইল সম্পাদনা করুন

এইচটিএমএল ফাইল সম্পাদনা করুন এবং "******** চেঞ্জ মি 1 অফ 8 *********" বলে মন্তব্যগুলি দেখুন।

মন্তব্য:

কিছু পাঠ্য ক্ষেত্র এবং সাপ্তাহিক চার্ট সঠিকভাবে পপুলেট হবে না যতক্ষণ না আপনার কাছে 24 ঘন্টা এবং সপ্তাহের বিভাগ এবং চার্টের জন্য একটি পূর্ণ দিন এবং পুরো সপ্তাহের ডেটা থাকে। একবার আপনার কাছে একগুচ্ছ ডেটা থাকলে আপনি মাউস হুইল দিয়ে চার্টে জুম করতে পারেন (রিসেট করতে রাইট ক্লিক করুন)। আপনি অন্য চ্যানেল থেকে অন্য সেন্সর থেকে চতুর্থ গেজ (স্ক্রিনশটগুলিতে দেখা যায়) পেতে পারেন কিন্তু আমি প্রাসঙ্গিক অংশগুলি শুরু করেছি। যদি আপনি স্যাভি মনে করেন, এটি হুক আপ। কিছু সময়সাপেক্ষ বিষয় সম্পর্কেও সচেতন থাকতে হবে। আপনার সম্ভবত সর্বাধিক বর্তমান তথ্য থাকবে না তবে এটি সর্বদা 5 মিনিটেরও কম পুরানো হওয়া উচিত। যখন টাইমিং কন্ট্রোল ফায়ার হয়ে যায়, যখন ESP8266 থেকে ডেটা পাঠানো হয় এবং যখন আপনি ওয়েব পেজ লোড / রিফ্রেশ করেন তখন এটি আসে।

আপনার ওয়েব ব্রাউজারে প্রদত্ত ESP8266-NodeMCU-12E-BME280.html ফাইলটি খুলুন এবং আপনাকে গেজ এবং চার্ট পপুলেটেড দেখতে হবে।

. Ino এবং. HTML কোড ফাইলগুলি এখানে পান

প্রস্তাবিত: