সুচিপত্র:

একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন: 7 টি ধাপ (ছবি সহ)
একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন: 7 টি ধাপ (ছবি সহ)

ভিডিও: একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন: 7 টি ধাপ (ছবি সহ)

ভিডিও: একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন: 7 টি ধাপ (ছবি সহ)
ভিডিও: Software Build of LoRa Transmitter, BME280 Sensor based on Arduino ESP32 (EP09) 2024, জুলাই
Anonim
Image
Image
একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন
একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন
একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন
একটি BME280 সেন্সর সহ ESP32 ওয়াইফাই ওয়েদার স্টেশন

প্রিয় বন্ধুরা আরেকটি টিউটোরিয়ালে স্বাগতম! এই টিউটোরিয়ালে আমরা aWiFi সক্ষম আবহাওয়া কেন্দ্র প্রকল্প নির্মাণ করতে যাচ্ছি! আমরা প্রথমবারের মতো নতুন, চিত্তাকর্ষক ESP32 চিপ ব্যবহার করতে যাচ্ছি একটি নেক্সশন ডিসপ্লে সহ।

এই ভিডিওতে, আমরা এটি তৈরি করতে যাচ্ছি। এটা আমার জানা আরেকটি ওয়েদার স্টেশন প্রজেক্ট, কিন্তু এবার আমরা নতুন ESP32 চিপ ব্যবহার করি! আমরা নতুন BME280 সেন্সর ব্যবহার করি যা তাপমাত্রা, আর্দ্রতা এবং ব্যারোমেট্রিক চাপ পরিমাপ করে। যখন আমরা প্রকল্পটি শক্তিশালী করি, এটি ওয়াইফাই নেটওয়ার্কের সাথে সংযুক্ত হয় এবং এটি ওপেনওয়েদারম্যাপ ওয়েবসাইট থেকে আমার অবস্থানের আবহাওয়ার পূর্বাভাস পুনরুদ্ধার করতে চলেছে। তারপর এটি এই 3.2”নেক্সশন টাচ ডিসপ্লেতে সেন্সর থেকে রিডিং সহ পূর্বাভাস প্রদর্শন করবে! প্রতি দুই সেকেন্ডে রিডিং আপডেট করা হয় এবং প্রতি ঘন্টায় আবহাওয়ার পূর্বাভাস! আপনি দেখতে পাচ্ছেন, এই প্রকল্পে আমরা আজ একজন নির্মাতার কাছে উপলব্ধ সর্বশেষ প্রযুক্তি ব্যবহার করি! আপনি যদি DIY অভিজ্ঞ হন, তাহলে আপনি পাঁচ মিনিটের মধ্যে এই প্রকল্পটি তৈরি করতে পারেন।

আপনি যদি একজন শিক্ষানবিশ হন, তাহলে এই প্রকল্পটি করার আগে আপনাকে কয়েকটি ভিডিও দেখতে হবে। আপনি এই নির্দেশের মধ্যে এই ভিডিওগুলির লিঙ্কগুলি খুঁজে পেতে পারেন, চিন্তা করবেন না।

চল শুরু করি!

ধাপ 1: সমস্ত যন্ত্রাংশ পান

সব যন্ত্রাংশ পান
সব যন্ত্রাংশ পান

এই প্রকল্পটি নির্মাণের জন্য আমাদের নিম্নলিখিত অংশগুলির প্রয়োজন:

  • একটি ESP32 বোর্ড ▶
  • একটি BME280 I2C সেন্সর ▶
  • একটি 3.2”নেক্সশন ডিসপ্লে ▶
  • একটি ছোট ব্রেডবোর্ড -
  • কিছু তার -

প্রকল্পের খরচ প্রায় 30 $।

ESP32 এর পরিবর্তে, আমরা সস্তা ESP8266 চিপ ব্যবহার করতে পারতাম, কিন্তু আমি ESP32 ব্যবহার করার সিদ্ধান্ত নিয়েছি এর সাথে কিছু অভিজ্ঞতা অর্জন করতে এবং কি কাজ করে এবং কি না তা দেখতে।

ধাপ 2: ESP32

Image
Image
ইএসপি 32
ইএসপি 32

এটি নতুন ESP32 চিপের সাথে আমার তৈরি করা প্রথম প্রকল্প।

আপনি যদি এর সাথে পরিচিত না হন, ESP32 চিপ হল জনপ্রিয় ESP8266 চিপের উত্তরাধিকারী যা আমরা অতীতে বহুবার ব্যবহার করেছি। ESP32 একটি পশু! এটি দুটি 32 টি প্রসেসিং কোর অফার করে যা 160MHz এ কাজ করে, প্রচুর পরিমাণে মেমরি, ওয়াইফাই, ব্লুটুথ এবং অন্যান্য বৈশিষ্ট্যগুলি প্রায় 7 $ খরচ সহ! আশ্চর্যজনক জিনিস!

এই বোর্ডের জন্য আমি প্রস্তুত করেছি বিস্তারিত পর্যালোচনা দেখুন। আমি এই নির্দেশাবলীতে ভিডিও সংযুক্ত করেছি। এটি বুঝতে সাহায্য করবে কেন এই চিপ আমাদের চিরকালের জন্য জিনিস তৈরির পদ্ধতি পরিবর্তন করবে!

ধাপ 3: নেক্সশন ডিসপ্লে

Image
Image
BME280 সেন্সর
BME280 সেন্সর

এছাড়াও, এটি প্রথম প্রকল্প যা আমি একটি নেক্সশন টাচ ডিসপ্লে দিয়ে তৈরি করেছি।

নেক্সট ডিসপ্লেগুলি নতুন ধরনের ডিসপ্লে। তাদের পিছনে তাদের নিজস্ব এআরএম প্রসেসর রয়েছে যা ডিসপ্লে চালানোর এবং গ্রাফিকাল ইউজার ইন্টারফেস তৈরির জন্য দায়ী। সুতরাং, আমরা এগুলি যে কোনও মাইক্রোকন্ট্রোলারের সাথে ব্যবহার করতে পারি এবং দর্শনীয় ফলাফল অর্জন করতে পারি।

আমি এই Nextion ডিসপ্লে সম্পর্কে একটি বিস্তারিত নির্দেশাবলী প্রস্তুত করেছি যা তারা কিভাবে কাজ করে, কিভাবে তাদের ব্যবহার করে এবং তাদের অপূর্ণতা সম্পর্কে গভীরভাবে ব্যাখ্যা করে। আপনি এখানে ক্লিক করে এটি পড়তে পারেন:

ধাপ 4: BME280 সেন্সর

BME280 সেন্সর
BME280 সেন্সর

Bosch থেকে একটি নতুন দুর্দান্ত সেন্সরে BME280।

এখন পর্যন্ত আমি BMP180 সেন্সর ব্যবহার করছিলাম যা তাপমাত্রা এবং ব্যারোমেট্রিক চাপ পরিমাপ করতে পারে। BME280 সেন্সর তাপমাত্রা, আর্দ্রতা এবং ব্যারোমেট্রিক চাপ পরিমাপ করতে পারে! কিভাবে শীতল হয়! একটি সম্পূর্ণ আবহাওয়া স্টেশন তৈরি করতে আমাদের কেবল একটি সেন্সর দরকার!

এটি ছাড়াও, সেন্সরটি আকারে খুব ছোট এবং ব্যবহার করা খুব সহজ। আজ আমরা যে মডিউলটি ব্যবহার করতে যাচ্ছি তা I2C ইন্টারফেস ব্যবহার করে তাই এটি Arduino এর সাথে যোগাযোগকে খুব সহজ করে তোলে। আমরা কেবল বিদ্যুৎ এবং আরও দুটি তারের সাথে সংযোগ স্থাপন করি যাতে এটি কাজ করে।

এই সেন্সরের জন্য ইতিমধ্যেই অনেকগুলি লাইব্রেরি তৈরি হয়েছে যাতে আমরা আমাদের প্রকল্পে এটি খুব সহজেই ব্যবহার করতে পারি! সেন্সরের দাম প্রায় $ 5। আপনি এটি এখানে পেতে পারেন ▶

দ্রষ্টব্য: আমাদের BME280 সেন্সর দরকার। এছাড়াও একটি BMP280 সেন্সর রয়েছে যা আর্দ্রতা পরিমাপ করে না। আপনার প্রয়োজনীয় সেন্সর অর্ডার করার জন্য সতর্ক থাকুন।

ধাপ 5: যন্ত্রাংশ সংযুক্ত করা

যন্ত্রাংশ সংযুক্ত করা
যন্ত্রাংশ সংযুক্ত করা
যন্ত্রাংশ সংযুক্ত করা
যন্ত্রাংশ সংযুক্ত করা
যন্ত্রাংশ সংযুক্ত করা
যন্ত্রাংশ সংযুক্ত করা

যন্ত্রাংশের সংযোগ সহজবোধ্য যেমন আপনি পরিকল্পিত চিত্র থেকে দেখতে পাচ্ছেন।

যেহেতু BME280 সেন্সর I2C ইন্টারফেস ব্যবহার করে, তাই আমাদের ESP32 এর সাথে যোগাযোগের জন্য কেবল দুটি তারের সংযোগ করতে হবে। আমি সেন্সর পিন 26 এবং 27 সংযুক্ত করেছি যদিও অনুশীলনে, আমি খুঁজে পেয়েছি যে কিছু পিন কাজ করে না কারণ সেগুলি অন্যান্য ব্যবহারের জন্য সংরক্ষিত। পিন 26 এবং 27 দুর্দান্ত কাজ করে!

ডিসপ্লেতে ডেটা পাঠানোর জন্য, আমাদের কেবল একটি তারকে ESP32 এর TX0 পিনের সাথে সংযুক্ত করতে হবে। ডিসপ্লের মহিলা তারের সাথে সংযোগ স্থাপনের জন্য আমাকে এইভাবে পিন বাঁকতে হয়েছিল কারণ এই রুটিবোর্ডের জন্য ESP32 বোর্ড খুব বড়।

যন্ত্রাংশ সংযুক্ত করার পর, আমাদের ESP32 এ কোড লোড করতে হবে, এবং আমাদের GUI কে Nextion ডিসপ্লেতে লোড করতে হবে। আপনার যদি ESP32 বোর্ডে প্রোগ্রাম আপলোড করতে সমস্যা হয়, তাহলে Arduino IDE তে আপলোড বাটন টিপে BOOT বাটন চেপে ধরে রাখুন।

নেক্সশন ডিসপ্লেতে GUI লোড করতে, WeatherStation.tft ফাইলটি অনুলিপি করুন আমি আপনার সাথে একটি খালি SD কার্ডে শেয়ার করতে যাচ্ছি। ডিসপ্লের পিছনে এসডি কার্ড স্লটে এসডি কার্ড রাখুন। তারপরে ডিসপ্লেটি শক্তিশালী করুন এবং GUI লোড হবে। তারপরে এসডি কার্ডটি সরান এবং আবার বিদ্যুৎ সংযোগ করুন।

সফলভাবে কোড লোড করার পর প্রকল্পটি ওয়াইফাই নেটওয়ার্কের সাথে সংযুক্ত হবে, এটি openweathermap.org ওয়েবসাইট থেকে আবহাওয়ার পূর্বাভাস পাবে এবং এটি সেন্সর থেকে রিডিং প্রদর্শন করবে। আসুন এখন প্রকল্পের সফ্টওয়্যার দিকটি দেখি।

ধাপ 6: প্রকল্পের কোড

প্রকল্পের কোড
প্রকল্পের কোড
প্রকল্পের কোড
প্রকল্পের কোড
প্রকল্পের কোড
প্রকল্পের কোড

আবহাওয়ার তথ্য বিশ্লেষণ করার জন্য, আমাদের চমৎকার Arduino JSON লাইব্রেরির প্রয়োজন। সেন্সরের জন্য আমাদের একটি লাইব্রেরিও দরকার।

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

আসুন এখন কোডটি দেখি।

প্রথমে, আমাদের SSID এবং আমাদের ওয়াইফাই নেটওয়ার্কের পাসওয়ার্ড সেট করতে হবে। পরবর্তী, আমাদের operweathermap.org ওয়েবসাইট থেকে বিনামূল্যে APIKEY প্রবেশ করতে হবে। আপনার নিজের API কী তৈরি করতে, আপনাকে ওয়েবসাইটে সাইন আপ করতে হবে। বর্তমান আবহাওয়ার তথ্য এবং পূর্বাভাস পাওয়া বিনামূল্যে, কিন্তু আপনি যদি কিছু টাকা দিতে ইচ্ছুক হন তবে ওয়েবসাইটটি আরও বিকল্প সরবরাহ করে। পরবর্তীতে, আমাদের অবস্থানের আইডি খুঁজে বের করতে হবে। আপনার লোকেশন খুঁজুন এবং আইডি কপি করুন যা আপনার লোকেশনের ইউআরএলে পাওয়া যাবে।

তারপর সিটিআইডি ভেরিয়েবলে আপনার শহরের আইডি লিখুন। এছাড়াও, এই ভেরিয়েবলে আপনার শহরের উচ্চতা লিখুন। সেন্সর থেকে সঠিক ব্যারোমেট্রিক প্রেসার রিডিংয়ের জন্য এই মান প্রয়োজন।

const char* ssid = "yourSSID"; const char* password = "yourPassword"; স্ট্রিং সিটিআইডি = "253394"; // স্পার্টা, গ্রীস স্ট্রিং APIKEY = "yourAPIkey"; #সংজ্ঞা দিন 216.0 // স্পার্টা, গ্রীসে উচ্চতা

এখন আমরা এগিয়ে যাওয়ার জন্য প্রস্তুত।

প্রথমে, আমরা সেন্সর আরম্ভ করি, এবং আমরা ওয়াইফাই নেটওয়ার্কের সাথে সংযোগ স্থাপন করি। তারপর আমরা সার্ভার থেকে আবহাওয়ার তথ্য অনুরোধ করি।

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

ডিসপ্লে আপডেট করার জন্য, আমরা কেবল সিরিয়াল পোর্টে কিছু কমান্ড পাঠাই:

অকার্যকর showConnectingIcon () {Serial.println (); স্ট্রিং কমান্ড = "weatherIcon.pic = 3"; সিরিয়াল.প্রিন্ট (কমান্ড); endNextionCommand (); }

নেক্সশন জিইউআই একটি পটভূমি, কিছু টেক্সটবক্স এবং একটি ছবি যা আবহাওয়ার পূর্বাভাসের উপর নির্ভর করে পরিবর্তিত হয়। আরও তথ্যের জন্য অনুগ্রহ করে নেক্সশন ডিসপ্লে টিউটোরিয়াল দেখুন। আপনি ইচ্ছা করলে দ্রুত আপনার নিজের GUI ডিজাইন করতে পারেন এবং এতে আরো জিনিস প্রদর্শন করতে পারেন।

সর্বদা হিসাবে আপনি এই নির্দেশাবলীর সাথে সংযুক্ত প্রকল্পের কোড খুঁজে পেতে পারেন

ধাপ 7: চূড়ান্ত চিন্তাভাবনা এবং উন্নতি

চূড়ান্ত চিন্তা ও উন্নতি
চূড়ান্ত চিন্তা ও উন্নতি

আপনি দেখতে পাচ্ছেন, একজন অভিজ্ঞ নির্মাতা আজ কয়েক ঘণ্টার মধ্যে কয়েকটি লাইন কোড এবং মাত্র তিনটি অংশের মাধ্যমে উত্তেজনাপূর্ণ প্রকল্প তৈরি করতে পারেন! এরকম একটি প্রকল্প দুই বছর আগেও করা অসম্ভব ছিল!

অবশ্যই, এটি প্রকল্পের শুরু মাত্র। আমি এতে অনেক বৈশিষ্ট্য যুক্ত করতে চাই, যেমন গ্রাফ, স্পর্শ কার্যকারিতা যা এখন অনুপস্থিত, সম্ভবত একটি বড় ডিসপ্লে এবং অবশ্যই একটি সুন্দর দেখতে 3D মুদ্রিত ঘের। আমি আরও সুন্দর GUI এবং আইকন ডিজাইন করব। আমার বাস্তবায়নের জন্য কিছু নতুন ধারণা আছে!

আমি আজকের প্রকল্প সম্পর্কে আপনার মতামত শুনতে চাই। আপনি কি ধরনের বৈশিষ্ট্য আমাকে প্রকল্পে যোগ করতে চান? এটা দেখতে কেমন লাগে? আপনি কিভাবে এটি বিকশিত দেখতে চান? নীচের মন্তব্য বিভাগে আপনার ধারণা পোস্ট করুন; আমি আপনার চিন্তা পড়তে ভালোবাসি!

ওয়্যারলেস প্রতিযোগিতা
ওয়্যারলেস প্রতিযোগিতা
ওয়্যারলেস প্রতিযোগিতা
ওয়্যারলেস প্রতিযোগিতা

ওয়্যারলেস প্রতিযোগিতায় রানার আপ

প্রস্তাবিত: