تحلیل کتابخانه

تحلیل و بررسی کتابخانه GyverNTP.h

gyverntp-arduino-library-digispark
نوشته شده توسط معین صابری

زمانبندی و دریافت زمان یکی از مهم ترین و پرکاربردترین پروسه ها در پروژه های مختلف است. جهت دریافت زمان می توان از تراشه های RTC و یا سرویس NTP استفاده نمود.  سرویس NTP یک سرویس ویژه جهت دریافت زمان است. این سرویس می تواند زمان به وقت کشورهای مختلف، در اختیار ما قرار دهد. یکی از کتابخانه بسیار کلیدی و کاربردی در زمینه NTP، کتابخانه GyverNTP.h است. در این آموزش به تحلیل و بررسی این کتابخانه می پردازیم. در ادامه، با مرجع تخصصی رزبری پای و آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


نصب کتابخانه GyverNTP.h


به منظور استفاده از کتابخانه، ابتدا می بایست آن را نصب کنیم. در این قسمت به نصب کتابخانه با جستجو در مخازن آردوینو می پردازیم. به همین منظور، ابتدا در نرم افزار آردوینو بر روی گزینه Tools و سپس Manage Libraries را کلیک کنید. پس از کلیک بر روی این گزینه، با تصویر زیر رو به می شوید. این منو کتابخانه های در دسترس را به شما نشان می دهد. شما نیز می توانید با جستجوی نام کتابخانه مورد نظر خود، آن را در مخازن آردوینو یافته و سپس نصب کنید.

روش نصب کتابخانه PCF8574.h - دیجی اسپارک

 

مطابق فلش مشخص شده در تصویر فوق، در کادر جستجو GyverNTP را تایپ کنید. پس از چند لحظه با تصویر زیر رو به رو می شوید. در این مرحله، کتابخانه را با کلیک بر روی گزینه install، نصب کنید.

نصب کتابخانه آردوینو - دیجی اسپارک

 


الزامات و نکات فنی کتابخانه GyverNTP.h


پس از نصب کتابخانه، نوبت به بررسی الزامات و نکات فنی آن می‌رسد. کتابخانه GyverNTP.h قادر به دریافت زمان از طریق سرویس NTP است. این کتابخانه از طریق اینترنت به سرور NTP متصل شده و داده ها را دریافت می کند. کتابخانه GyverNTP.h جهت کار بر روی تراشه های ESP، ESP8266 و ESP32 توسعه یافته است.

 


توابع کلیدی و کاربردی کتابخانه GyverNTP.h


پس از بررسی الزامات و نکات فنی، نوبت به بررسی توابع کلیدی می رسد. جدول زیر لیست این توابع را نمایش می دهد.

شرح ورودی ها تابع
این تابع، تابع سازنده کلاس کتابخانه است. بدون ورودی

*دارای ورودی های پیشفرض که با مراجعه به کتابخانه می توانید مطالعه کنید.

GyverNTP()
به کمک این تابع م یتوانید ساعت را به وقت محلی تنظیم کنید. ورودی این تابع اختلاف زمان به گرینوییچ را دریافت می کند. این ورودی مقدار محاسبه شده ساعت، دقیقه و ثانیه است. ورودی تنظیم ساعت void setGMT(int16_t gmt)
این تابع می تواند منطقه زمانی را بر حسب دقیقه محاسبه کند. ورودی اختلاف دقیقه با گرینویچ است. ورودی دقیقه void setGMTminute(int16_t gmt)
این تابع برد را به سرویس NTP متصل می کند. ورودی آدرس سرور NTP void setHost(const char* host)
این تابع ارتباط بین ESP و سرویس NTP را فراهم می کند. بدون ورودی bool begin()
این تابع ارتباط NTP را متوقف می کند. بدون ورودی void end()
این تابع به صورت دستی زمان را بروز رسانی می نماید. بدون ورودی uint8_t updateNow()
این تابع مدت زمان گذشته از آخرین بروز رسانی به میلی ثانیه را در خروجی قرار می دهد. بدون ورودی uint32_t msFromUpdate()
این تابع زمان فعلی به میلی ثانیه را در خروجی قرار می دهد. بدون ورودی uint16_t ms()
این تابع زمان فعلی به ثانیه را در خروجی قرار می دهد. بدون ورودی uint8_t second()
این تابع زمان فعلی به دقیقه را در خروجی قرار می دهد. بدون ورودی uint8_t minute()
این تابع زمان فعلی در واحد ساعت  را در خروجی قرار می دهد. بدون ورودی uint8_t hour()
این تابع روز را در خروجی قرار می دهد. بدون ورودی uint8_t day()
این تابع ماه جاری را در خروجی خود قرار می دهد. بدون ورودی uint8_t month()
این تابع سال جاری را در خروجی خود قرار می دهد. بدون ورودی uint16_t year()
این تابع شماره روز از هفته جاری را در خروجی خود قرار می دهد. بدون ورودی uint8_t dayWeek()
این تابع زمان را به فرمت

ثانیه:دقیقه:ساعت

را در خروجی قرار می دهد.

بدون ورودی String timeString()
این تابع تاریخ را به فرمت

روز:ماه:سال

را در خروجی قرار می دهد.

بدون ورودی String dateString()
این تابع ping سرور را در خروجی خود قرار می دهد. بدون ورودی int16_t ping()
این تابع زمان را بروز می کند. بدون ورودی bool tick()

 

پس از بررسی توابع کلیدی و کاربردی، نوبت به اجرای یک نمونه برنامه می رسد. برنامه زیر زمان و تاریخ را در سریال نمایش می دهد. لینک برنامه، کلیک کنید

 


لوازم مورد نیاز


لینک خرید انواع برد ESP، کلیک کنید

 


جمع بندی


در این آموزش به تحلیل و بررسی یک کتابخانه بسیار کلیدی و کاربردی پرداختیم. کتابخانه GyverNTP، یک کتابخانه کاربردی جهت دریافت زمان و تاریخ از سرور است. از آنجاییکه تراشه های ESP قابلیت اتصال به شبکه اینترنت را دارند، به راحتی به کمک این کتابخانه و بدون نیاز به هیچ سخت افزار جانبی، می توانید زمان و تاریخ را بدست آورید.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه