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

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

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

مگر می شود با تراشه ESP کار کرده باشید؛ اما با وای فای و قسمت شبکه ای آن چالش نداشته باشید. همواره در پروژه های مختلف که نیاز به وای فای است، مدیریت شبکه بسیار مهم است. نحوه اتصال به یک نقطه دسترسی، قطع از آن، اتصال خودکار و…. همواره موضوع است. در این آموزش قصد داریم تا به کمک یک کتابخانه کلیدی و کاربردی، کار مدیریت شبکه در پروژه را ساده کنیم. در ادامه، با مرجع تخصصی رزبری پای و آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


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


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

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

 

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

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

 


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


پس از نصب کتابخانه، نوبت به الزامات فنی می رسد. در ابتدا توجه داشته باشید که کتابخانه JustWIFI یک کتابخانه صرفا مدیریت وای فای است. به عبارت دیگر این کتابخانه مربوط به ارتباط سرور نظیر client، MDNS و… نیست. در حقیقت این کتابخانه ارتباط وای فای نظیر اتصال به یک نقطه دسترسی را مدیریت می کند. در کنار این، این کتابخانه برای تراشه های ESP8266 و بر مبنای هسته آردوینو، توسعه یافته است. بنابراین برای تراشه های سری ESP32، قابل استفاده نخواهد بود.

 


توابع کلیدی و کاربردی


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

شرح ورودی ها تابع
این تابع ماژول ESP را به یک شبکه وای فای متصل می کند. ورودی هایی مقدار آن ها NULL است، اختیاری هستند. ورودی شماره ۱: نام ssid که قرار است ماژول به آن متصل شود.

ورودی شماره ۲: رمز عبور مودمی که ماژول قصد دارد به آن متصل شود.

ورودی شماره۳: آی پی آدرسی که می خواهیم از مودم دریافت کنیم.

ورودی شماره ۴: آدرس گیت وی مودمی که به آن می خواهیم متصل شویم.

ورودی شماره ۵:  این ورودی آدرس نتورک ماسک را تعیین می کند.

 

bool addNetwork(

const char * ssid,

const char * pass = NULL,

const char * ip = NULL,

const char * gw = NULL,

const char * netmask = NULL,

const char * dns = NULL,

);

این تابع ماژول ESP را به شکل یک نقطه دسترسی تبدیل می کند. ورودی های NULL اختیاری هستند. ورودی اول:

نام SSID

ورودی دوم:

رمز عبور

ورودی سوم:

آی پی آدرس پایه نقطه دسترسی

ورودی چهارم:

آیپی آدرس گیت وی

آی پی آدرس نت ماسک

      bool setSoftAP(

const char * ssid,

const char * pass = NULL,

const char * ip = NULL,

const char * gw = NULL,

const char * netmask = NULL

);

این تابع مدت زمان انتظار برای اتصال به یک نقطه دسترسی را تعیین می کند. زمان انتظار در ورودی قرار می گیرد. ورودی تعیین زمان     void setConnectTimeout(unsigned long ms)
این تابع وضعیت اتصال به نقطه دسترسی را تعیین می کند. وضعیت اتصال در خروجی تابع قرار می گیرد. خروجی های تابع در صورت اتصال برابر با مقدار زیر است:

WL_CONNECTED

 

بدون ورودی wl_status_t getStatus()
این تابع در صورتیکه به نقطه دسترسی متصل شده باشیم، مقدار TRUE تولید خواهید کرد. بدون ورودی bool connected()
این تابع واحد رادیویی ماژول را خاموش خواهد کرد. بدون ورودی    void turnOff()
این تابع واحد رادیویی ماژول را روشن خواهد کرد. بدون ورودی void turnOn()
این تابع حالت اسکن را فعال خواهد کرد. در صورتیکه ورودی TRUE باشد، اسکن روشن می شود. ورودی از نوع بولین void enableScan(bool scan)
این تابع، در صورتیکه ورودی TRUE دریافت کند، ماژول را در مد STA(ایستگاهی جهت اتصال به وای فای) قرار می دهد. ورودی از نوع بولین void enableSTA(bool enabled)
این تابع با ورودی TRUE، مد نقطه دسترسی ماژول را فعال خواهد کرد. ورودی از نوع بولین void enableAP(bool enabled)
این تابع می تواند callback ها را فعال می کند. ورودی از نوع از پیش تعریف شده void subscribe(TMessageFunction fn)
این تابع یک نام برای ESP تعیین می کند. در حالت پیشفرض نام ESP برابر با ESPXXXX خواهد بود. ورودی از نوع رشته void setHostname(const char * hostname)

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

 


اجرای یک نمونه برنامه


پس از بررسی توابع کلیدی و کاربردی، نوبه به اجرای یک نمونه برنامه می رسد. برنامه زیر ماژول را در حالت نقطه دسترسی قرار می دهد.

لینک دانلود سورس برنامه، کلیک کنید

 


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


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

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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