ESP8266 ব্যবহার করে ইন্টারনেট থেকে সময় পাওয়া - ESP8266 Nodemcu সহ NTP Clock Project: 5 ধাপ
ESP8266 ব্যবহার করে ইন্টারনেট থেকে সময় পাওয়া - ESP8266 Nodemcu সহ NTP Clock Project: 5 ধাপ
Anonim
ESP8266 ব্যবহার করে ইন্টারনেট থেকে সময় পাওয়া | ESP8266 Nodemcu সহ NTP ঘড়ি প্রকল্প
ESP8266 ব্যবহার করে ইন্টারনেট থেকে সময় পাওয়া | ESP8266 Nodemcu সহ NTP ঘড়ি প্রকল্প

এই টিউটোরিয়ালে আমরা দেখব কিভাবে Arduino IDE দিয়ে ESP8266/nodemcu ব্যবহার করে সময় পেতে হয়। আপনার রিডিংয়ের টাইমস্ট্যাম্প করতে ডেটা লগিংয়ে সময় পাওয়া বিশেষভাবে দরকারী। যদি আপনার ESP8266 প্রজেক্টে ইন্টারনেটের অ্যাক্সেস থাকে, আপনি নেটওয়ার্ক টাইম প্রোটোকল (NTP) ব্যবহার করে সময় পেতে পারেন - আপনার কোন অতিরিক্ত হার্ডওয়্যারের প্রয়োজন নেই আপনি আপনার ESP8266 কে আপনার ওয়াইফাই নেটওয়ার্কে সংযুক্ত করতে পারেন এবং এটি একটি ঘড়ি হবে যা সিঙ্ক্রোনাইজ করা হবে নেটওয়ার্কের সাথে, সুতরাং যদি আপনি একবার কোডটি আপলোড করেন তবে এটি ইন্টারনেট থেকে সময় পাবে তাই এটি সর্বদা সঠিক সময় প্রদর্শন করবে।

ধাপ 1: আপনার প্রয়োজনীয় জিনিসগুলি

জিনিস আপনার প্রয়োজন
জিনিস আপনার প্রয়োজন

এই প্রকল্পের জন্য আপনার খুব কম জিনিসের প্রয়োজন হবে: ESP8266/NODEMCUA USB কেবল এটি প্রোগ্রাম করার জন্য।

ধাপ 2: একটি এনটিপি কী এবং এটি কীভাবে কাজ করবে?

একটি এনটিপি কী এবং এটি কীভাবে কাজ করবে?
একটি এনটিপি কী এবং এটি কীভাবে কাজ করবে?
একটি এনটিপি কী এবং এটি কীভাবে কাজ করবে?
একটি এনটিপি কী এবং এটি কীভাবে কাজ করবে?

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

ধাপ 3: Arduino IDE তে লাইব্রেরি ইনস্টল করা

Arduino IDE তে লাইব্রেরি ইনস্টল করা
Arduino IDE তে লাইব্রেরি ইনস্টল করা

আপনার Arduino IDE তে লাইব্রেরি ম্যানেজারে যান এবং NTP অনুসন্ধান করুন এবং NTP ক্লায়েন্ট লাইব্রেরি ডাউনলোড করুন যেমন আমি ডাউনলোড করেছি, আরও সাহায্যের জন্য ছবি দেখুন।

ধাপ 4: কোডিং অংশ

কোডিং অংশ
কোডিং অংশ
কোডিং অংশ
কোডিং অংশ

অনুগ্রহ করে নিম্নলিখিত কোডটি অনুলিপি করুন এবং আপনার কোডে আপনার নেটওয়ার্কের শংসাপত্রগুলি রাখুন তারপর আপনাকে আমার জন্য অফসটাইম সেট করতে হবে এটি 19800 কারণ আমার টাইমজোন হল utc+5: 30 তাই UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600 আপনার টাইমজোন কল করুন এবং এডিট করুন এবং তারপর কোড আপলোড করুন। ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" রবিবার "," সোমবার ", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}; // timeWiFiUDP ntpUDP পেতে NTP ক্লায়েন্ট নির্ধারণ করুন; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); অকার্যকর সেটআপ () {Serial.begin (115200); WiFi.begin (ssid, password); যখন (WiFi.status ()! = WL_CONNECTED) {বিলম্ব (500); সিরিয়াল.প্রিন্ট ("।"); } timeClient.begin ();} void loop () {timeClient.update (); Serial.print (daysOfTheWeek [timeClient.getDay ()]); সিরিয়াল.প্রিন্ট (","); Serial.print (timeClient.getHours ()); সিরিয়াল.প্রিন্ট (":"); Serial.print (timeClient.getMinutes ()); সিরিয়াল.প্রিন্ট (":"); Serial.println (timeClient.getSeconds ()); //Serial.println (timeClient.getFormattedTime ()); বিলম্ব (1000);}

ধাপ 5: সময় পাওয়া

TIME পাওয়া যাচ্ছে
TIME পাওয়া যাচ্ছে

Esp8266 এ কোড আপলোড করার পর আপনি সিরিয়াল মনিটর খুলতে পারেন এবং যদি সবকিছু ভাল হয় তাহলে আপনি সিরিয়াল মনিটরে সময় পেতে পারবেন কারণ আমি আমার সিরিয়াল মনিটরে সময় পেতে সক্ষম। এটি প্রদর্শন করুন এবং এটি একটি সঠিক নেটওয়ার্ক ঘড়ি তৈরি করুন। তাই আপনার নেটওয়ার্ক ঘড়ি তৈরি করতে মজা করুন।

প্রস্তাবিত: