راه اندازی ماژول کنترل LED RGB توسط ESP8266
راه اندازی ماژول کنترل LED RGB توسط ESP8266 با استفاده از WebServer ،DHCP Server ،AP و DNS Server
در این مقاله به آموزش راه اندازی ماژول کنترل LED RGB توسط ESP8266 با استفاده از روش های مختلف میپردازیم.
که شما به راحتی میتوانید با زبانی ساده این کار را انجام دهید.
آغاز کار با Arduino روی سیستم عامل ویندوز
این مطلب شرح می دهد که چطور برد آردوینو را به کامپیوتر متصل کرده و اولین برنامه آردوینو خود را آپلود کنید.(http://arduino.cc/en/Main)
در این مرجع آموزشی، فرض بر آن است که شما از برد آردوینو مدل Uno ،Duemilanove، Nano، Mega 2560 یا Diecimila و یا Wemos D1 R2 استفاده میکنید.
همچنین احتیاج به یک کابل USB استاندارد (A plug to B plug) دارید. به عنوان مثال همان نوع کابلی که شما به یک پرینتر USB متصل می کنید.
(برای برد آردوینو مدل Uno، به جای آن به یک کابل A to Mini-B احتیاج دارید.)
محیط برنامه نویسی آردوینو را دانلود نمایید.
آخرین نسخه را از این صفحه دانلود کنید. زمانی که دانلود شما تمام شد، فایل را unzip کنید. اطمینان حاصل کنید که ساختار پوشه را حفظ کرده باشید.
روی پوشه دابل کلیک کنید تا باز شود. باید تعداد کمی فایل و زیرپوشه در آن وجود داشته باشد.
برد را متصل کنید.
برد آردوینو مدل Uno ،Mega ،Duemilanove و Nano به صورت خودکار برق خود را از اتصال USB به کامپیوتر یا یک منبع تغذیه خارجی میگیرد.
اگر از آردوینو مدل Diecimila استفاده می کنید، لازم است اطمینان حاصل کنید که برد به نحوی پیکربندی شده است که جهت تأمین برق از اتصال USB استفاده کند.
منبع تغذیه توسط یک جامپر انتخاب شده است.
یک تکه پلاستیک کوچک که در دو پین از سه پین بین USB و پاورجک، فرو رفته است. بررسی کنید که این جامپر روی دو پینی که به پورت USB نزدیک تر است قرار گرفته باشد.
برد آردوینو را با استفاده از کابل USB به کامپیوتر خود متصل کنید. چراغ سبز رنگ مربوط به منبع، (که با برچسب PWR مشخص شده است) باید روشن شود.
نرم افزارهای راه انداز را نصب کنید.
جهت نصب نرم افزار برای آردوینو مدل Uno یا Mega 2560 روی ویندوز ۷، ویستا یا XP:
برد خود را متصل کنید و منتظر بمانید تا ویندوز فرایند نصب راه انداز را آغاز نماید. پس از چند لحظه، این فرایند با شکست مواجه می شود، با اینکه تلاش خود را کرده است.
روی منوی Start کلیک کرده و Control Panel را باز نمایید. در پنجره Control Panel به System and Security بروید.
سپس، روی System کلیک کنید.. زمانی که پنجره System بالا آمد، Device Manager را باز کنید.
زیر Ports (Com & LPT) را نگاه کنید. باید یک پورت باز به نام “Arduino UNO (COMxx)” ببینید.
روی پورت “Arduino UNO (COmxx)” راست کلیک کنید و گزینه “Update Driver Software” را انتخاب نمایید.
سپس، گزینه “Browse my computer for Driver software” را انتخاب کنید.
در نهایت، به مسیر برنامه رفته و فایل راه انداز را به نام “arduino.inf” که در پوشه “Drivers” نرم افزار آردوینو قرار دارد، انتخاب نمایید.
( زیرشاخه “FTDI USB Drivers”).
اگر از یک نسخه قدیمی محیط برنامه نویسی ( ۱.۰.۳ یا قدیمی تر) استفاده می کنید.
فایل راه انداز Uno را با نام “Arduino UNO.inf”انتخاب کنید. در اینجا ویندوز، نصب راه انداز را به پایان می رساند.
پیوند رو به رو را نیز مشاهده کنید: راهنمای تصویری مرحله به مرحله جهت نصب Uno در ویندوز XP.
نصب راه انداز برای بردهای آردوینو مدل Duemilanove ،Nano یا Diecimila در ویندوز ۷، ویستا یا XP : زمانی که برد را متصل می کنید.
ویندوز باید فرایند نصب راه انداز را آغاز کند (اگر شما تاکنون برد آردوینو را به کامپیوتر متصل نکرده اید).
در ویندوز ویستا، راه انداز باید به صورت خودکار دانلود و نصب شود. (واقعا این مورد اتفاق می افتد!) روی ویندوز XP، ویزارد Add New Hardware باز می شود.
زمانی که پرسید Can Windows connect to Windows Update to search for software?
شما گزینه No, not this time را انتخاب نمایید. دکمه Next را کلیک کنید.
گزینه Install from a list or specified location (Advanced) را انتخاب نموده و دکمه Next را کلیک کنید.
اطمینان حاصل کنید که گزینه Search for the best driver in these locations تیک خورده باشد؛
گزینه Search removable media را از حالت انتخاب خارج کنید و گزینه Include this location in the search را تیک بزنید
و پوشه drivers/FTDI USB Drivers در مسیر آردوینو را Browse کنید.
(آخرین نسخه ی راه اندازها را می توانید در آدرس FTDI پیدا کنید.) دکمه Next را کلیک کنید. این ویزارد به دنبال راه انداز خواهد گشت و سپس به شما می گوید که “USB Serial Converter” پیدا شد.
دکمه Finish را کلیک کنید.
ویزارد New Hardware مجدداً ظاهر خواهد شد. همان مراحل را طی کنید و همان گزینه ها و مکانها را جهت جستجو انتخاب کنید. این بار، یک “USB Serial Port” پیدا خواهد شد.
با باز کردن Windows Device Mananger (در برگه Hardware از control panel سیستم) می توانید بررسی کنید که راه اندازها نصب شده باشند.
در بخش Ports، به دنبالگزینه ی “USB Serial Port” بگردید؛ این، برد آردوینو است.
یک برنامه کاربردی آردوینو را آغاز کنید.
روی برنامه آردوینو دابل کلیک کنید.
( توجه: اگر نرم افزار آردوینو به زبان دیگری اجرا شد، شما می توانید آن را در کادر مکالمه Preferences تغییر دهید.)
(جهت کسب اطلاعات بیشتر پیوند محیط برنامه نویسی آردوینو را مشاهده کنید )
مثال blink را باز کنید.
نمونه برنامه LED blink را باز کنید: File > Examples > 1.Basics > Blink.
برد خود را انتخاب نمایید.
لازم است که پورت ورودی کامپیوتر را که آردوینو از طریق آن به سیستم متصل است، از منوی Tools > Board انتخاب کنید.
برای بردهای آردوینو مدل Duemilanove با میکروکنترلر ATmega328 (نوشته ی روی تراشه ی برد را بررسی کنید)، گزینه Arduino Duemilanove or Nano w/ATmega328 را انتخاب کنید.
قبلا، بردهای آردوینو با یک میکروکنترلرATmega168 می آمدند، برای آنها، گزینه یArduino Diecimila, Duemilanove, or Nano w/ATmega168 را انتخاب نمایید.
(جزئیات بیشتر راجع به گزینه های منوی Board در صفحه محیط برنامه نویسی آردوینو موجود است.)
پورت سریال خود را انتخاب کنید.
پورت سریال برد آردوینو خود را از منوی Tools | Serial Port انتخاب کنید. این گزینه احتمالا COM3 یا بالاتر است(COM1 وCOM2 معمولاً برای پورت های سریال سخت افزاری رزرو شده اند).
برای دانستن پورت مربوط به آن، شما می توانید برد آردوینو خود را از کامپیوتر بیرون کشیده و مجددا منو را باز نمایید. پورتی که این بار نشان داده نمی شود، برد آردوینو است. برد را مجددا متصل کنید و آن پورت سریال را انتخاب نمایید.
9-برنامه را آپلود کنید.
اکنون، خیلی ساده، روی دکمه “Upload” در محیط آردوینو کلیک کنید. چند ثانیه صبر کنید- باید چراغ های RX و TX روی برد را به حالت چشمک زن ببینید.
اگر عملیات آپلود با موفقیت انجام شود، پیغام “Done uploading.” در نوار وضعیت ظاهر میشود.
(توجه: اگر یک برد آردوینو مدل Mini ،NG یا سایر بردها را دارید، لازم است که بلافاصله قبل از کلیک کردن روی دکمه آپلود، به طور فیزیکی دکمه ریست روی برد را فشار دهید.)
چند ثانیه پس از اینکه آپلود تمام شد، LED که به پین 13 برد متصل است(L)، باید به حالت چشمک زن درآید.
(in orange). اگر این اتفاق افتاد، به شما تبریک می گوییم! شما آپلود و اجرای برنامه آردوینو را یاد گرفته اید.
DNS Server چیست؟
همانطور که می دانید رایانه ها به واسطهی نشانی IP با هم ارتباط برقرار میکنند. اما اگر ما بخواهیم به جای IP از حروف و اعداد خوانا (دامنه) استفاده کنیم، DNS است که اینجا میانجی گری می کند.
DNS سرنام عبارت Domain Name System به معنای سرویس نام دامنه است.
و در اصل یک قانون و ساختار، به همراه سخت افزارها و نرم افزارهایی در سطح شبکه برای تبدیل دامنه به IP و بالعکس است.
در این میان نرم افزاری که چنین کاری را انجام می دهد هم DNS یا Domain Name Service نام دارد. نرم افزارهای DNS در سطوح مختلف دارای عملکردهای مختلفی هستند.
در سطح سرور لینوکس، سرویس DNS ای که ما نصب می کنیم، معمولا کارش ارائهی رکوردهای مختلف دامنه های اینترنتی است.
که روی سرور ما قرار گرفتند به رایانه هایی که درخواست از طرف آنهاست.
این اطلاعات به رایانه های دیگری در سطح شبکه داده می شوند. تا آنها در نهایت بتوانند به دیگر سرویسها به واسطهی دامنههای اینترنتی دسترسی داشته باشند.
مفهوم عبارت DNS
که البته کار تمامی آنها در جهت ماهیت وجودی DNS، یعنی انجام تبدیل بین IPها و نام های دامنه است. همین تشابه مفاهیم در خیلی از مواقع کار درک کردن را برای تازه کارها سخت می کند.
که با کمی مطالعه و تفکر روی این موضوع، می توان به سادگی آن را هضم کرد.
با توجه به توضیحاتی که در بالا ارائه شد، DNS Server یک نرم افزار روی سرور لینوکس ماست. (البته روی دیگر سرورها مثل سرور ویندوز هم می تواند وجود داشته باشد).
که برای هر دامنهی اینترنتی، که از قبل توسط ثبت کنندههای دامنههای اینترنتی ثبت شده است. یک پایگاه داده به نام Zone دارد و درون این Zone که در اصل یک سند سادۀ متنی است.
انواع مختلف رکوردهای DNS مربوط به همان دامنه ذخیره می شود.
بدین صورت است که وقتی کسی می خواهد مثلا از سایت گوگل بازدید کند. با وارد کردن نشانی دامنهی سایت درون نوار نشانی مرورگر، پس از اینکه با پشت سر گذاشتن یک سری مکانیزم ها IP مربوط به دامنه را پیدا کرد.
حالا به سراغ Zone File مربوط به دامنه روی سروری می رود که DNS Service در آنجا نصب و پیکربندی شده است.
حالا به تمامی رکوردهای آن دامنه دسترسی دارد. میتواند بفهمد که دامنه اصلی و یا حتی زیردامنهها و دیگر اجزاء سایت از نظر فیزیکی در کجا قرار گرفتهاند.
سرویس DNS هم می تواند روی همان سروری باشد که پروندهها و پایگاه دادهی سایت قرار گرفته است. هم می تواند روی یک سرور دیگر باشد.
یا روی چندین سرور تکثیر گردد که با قطع شدن یکی از آنها، دیگری به ارائهی خدمات بپردازد. این موضوع بستگی به سیاست در دسترس بودن سایت برای مواقع بحرانی دارد.
اما به هر حال ما در این مقالات آموزشی به نصب و پیکربندی سرویس DNS روی همان سروری می پردازیم که اطلاعات سایت در آنجا قرار گرفته است.
پس از آن قادرید سایت های روی سرور وب خود را با دامنه باز کنید. و حتی همین دامنه را برای دیگر سرویس های سایت خود مثل سرویس FTP، Web Disk و … داشته باشید.
DHCP چیست؟
DHCP مخفف Dynamic Host Configuration Protocol و به معنای پروتکل کانفیگ هاست پویا (داینامیک) میباشد. و یکی دیگر از پروتکل های شبکه است که سرور را فعال می کند.
تا به طور خودکار به کامپیوتری که در رنج اعداد مشخص شده برای کانفیگ شبکه است، Ip address اختصاص دهد. DHCP آی پی آدرس را زمانی که سیستم استارت میشود اختصاص میدهد.
بدین صورت که:
ابتدا کاربر با استفاده از DHCP client اقدام به روشن کردن کامپیوتر مینماید.
سپس کامپیوتر client یک درخواست پخش (broadcast request ) که discover یا DHCPDISCOVER نامیده می شود ارسال میکند تا DHCP سروری را برای جواب بیابد.
آنگاه روتر ، پکت DISCOVER را مستقیما به DHCP سرور صحیح متصل میکند. بعد از آن سرور بسته های discover را دریافت میکند.
البته براساس در دسترس بودن و مجوز های استفاده، سرور یک آدرس مناسب را تعیین میکند تا آن را به مشتری client بدهد.
بعد از آن به طور موقت، سرور آن آدرس را برای مشتری رزرو می کند. و برای مشتری یک بسته پیشنهادی با همان اطلاعات آدرس ارسال می کند.
و سرور همچنین اقدام به کانفیگ کردن DNS سرورها، WINS سرور ها، NTP سرورها و دیگر سرویس ها می نماید.
آنگاه مشتری یک بسته درخواست ارسال می کند که به سرور اعلام کند که قصد استفاده از آدرس مذکور را دارد.
در انتها، سرور بسته ی ACK ( مخفف Acknowledge به معنای تصدیق ، وصول) را ارسال می کند. تا به مشتری اعلام کند که آن آدرس برای مدت محدودی به او اصطلاحا اجاره داده شده است.
زمانی که کامپیوتر از ip استاتیک استفاده میکند به این معناست که کامپیوتر به صورت manually برای گرفتن ip مشخص کانفیگ شده است.
البته یکی از مشکلاتی که در تخصیص ip های استاتیک وجود دارد که باعث ایجاد خطا کاربر یا عدم توجه به جزئیات میشود.
وقتی که 2 کامپیوتر با یک آی پی آدرس کانفیگ می شوند، که در نهایت باعث ایجاد تداخل و از بین رفتن منابع میشود.
بنابراین استفاده از DHCP که IP آدرس داینامیک اختصاص دهد این تداخل ها را کاهش میدهد.
Web Server چیست؟
وب سرور وظیفه ی ارائه صفحات کاربران را به آن ها دارد.
به گونه ای که هر گونه صفحه HTML همراه با هر نوع مطالب مانند تصاویر ، متن ها ، فایل شیوه نامه یا (CSS) و همینطور جاوا اسکریپت ها را به ما بر میگرداند.
در واقعیت می توان گفت برنامه کامپیوتری میباشد که در خواست های HTTP را قبول میکند.
که همان مرورگر های وب هستند و طبق شیوه عملکردی که در بالا توضیح دادیم پاسخ ها را با یک سری اطلاعات به کاربر بر میگرداند که این پاسخ ها همان صفحات HTML است.
ویژگی های وب سرور جهت راه اندازی ماژول کنترل LED RGB توسط ESP8266
۱ – اداره کردن مفاهیم استاتیک و همچنین داینامیک که از زبان های برنامه نویسی مختلفی مانند PHP ، ASP.net و ….. پشتیبانی میکند.
۲ – پشتیبانی از HTTPS جهت اتصال سالم و ایمن تر و استفاده کردن از پورت ۴۴۳ به جای ۸۰
۳ – فشرده سازی مطالب با استفاده از کد سازی GZIP و …..
وب سرور دقیقا چگونه عمل میکند؟
برای درک بیشتر نحوه عملکرد وب سرور باید گفت که مسیر تبادل اطلاعات بین یک مرورگر وب از راه دور و یک وب سرور به سادگی تعریف آن نیست.
ساختار مرورگر ها به گونه ای است که با استفاده از DNS های دامنه که آن را به عنوان یک آدرس IP منحصر به فرد برای هر سایت میشناسد.
میتواند از این طریق به سرور های خاصی دسترسی داشته باشد.
مرورگر پس از ایجاد ارتباط با سرویس دهنده های وب از طریق آدرسIP به درخواست صفحه مربوط به وب پاسخ میدهد.
اساس صفحات وب HTML است که این صفحات پیش فرض به طور رایج برای بسیاری از وب سایت ها فرمت INDEX.HTML را دارد و به همین جهت است.
که هر آدرسی را که در مرور گر وارد میکنیم به طور پیش فرض فایل HTML را برای شما به عنوان پاسخ برمیگرداند.
و پس از این مرحله کد های HTML بررسی میشود تا صفحه به نمایش در بیاید.
جهت کسب اطلاعات بیشتر در رابطه با راه اندازی ماژول کنترل LED RGB توسط ESP8266 با کارشناسان متخصص رها در این باره تماس حاصل فرمایید.
برای آگاهی از نحوه جداسازی اینترنت از اینترانت از طریق vlan بر روی لینک موجود کلیک نمایید.