آردوینو امنیت اینترنت اشیا IOT برد Esp32 برد ESP8266 برد Nodemcu

ارتقا امنیت وب سرور ESP با افزودن سیستم احراز هویت ESP32/8266

افزودن سیستم احراز هویت به وب سرور ESP32/8266
نوشته شده توسط CiferTech

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

 


وب سرور


وب سرور ها برنامه هایی هستند که مسئولیت آن ها قبول کردن درخواست های Http است که از سمت کاربران ارسال می شود، وب سرور ها در پاسخ اطلاعاتی را ارسال می کنند که ما معمولا به نام صفحات Html می‌شناسیم. خب حالا فرض کنیم که در مرورگر https://digispark.ir را سرچ کردیم، اتفاقی که می‌افتد به این شکل است که مرورگر شما یک درخواست به دامنه‌ای با نام digispark.ir ارسال می‌کند. در حالت عادی زمانی که شما آدرس سایتی را در مرورگر جست و جو می‌کنید از حروف انگلیس استفاده می‌کنید یعنی کلماتی قابل فهم برای انسان اما در واقع برای ورود به یک سایت باید از طریق ip آن اقدام کنید، اینجاست که مفهومی به نام DNS وارد کار می‌شود، پس در واقع زمانی که شما URL سایتی را جستجو می کنید مرورگر از طریق سرویس DNS، آی پی مربوط را پیدا می‌کند و درخواستی ارسال خواهد کرد.

وب سرور ESP32: کنترل خروجی ها بصورت سخت افزاری و نرم افزاری

 


برد ESP8266


تراشه های ESP8266 از موارد محبوب در زمینه اینترنت اشیا هستند که نسبت به دیگر نمونه ها کیفیت بهتر و همچنین قیمت پایین تری نیز دارند، هسته مرکزی این ماژول ESP8266 EX می باشد که در واقع زیر این شیلد فلزی قرار گرفته است، در ضمن این شیلد فلزی به منظور کاهش نویز و همچنین محافظت از قطعات SMD حساس این ماژول قرار داده شده است. این ماژول ها در سری های مختلفی تولید می‌شوند از جمله esp01 و esp12، در واقع تفاوتی که مدل ها با یکدیگر دارند تعداد GPIO ها و همچنین حافظه آن ها است البته معمولا از نظر ظاهری نیز تفاوت هایی که با یکدیگر دارند که قابل تشخیص است. این ماژول ها از شبکه WIFI داخلی پشتیبانی می‌کنند، این میکرو کنترلر ها اولین بار در سال ۲۰۱۴ به بازار عرضه شدند. ESP8266 دارای ۱۳ GPIO و همچنین یک ورودی آنالوگ (A0) است.

 


برد ESP32


وقتی از ESP32 صحبت می‌کنیم،از مصرف انرژی کمتر، قدرت پردازش بهتر، تکنولوژی بروز صحبت می‌کنیم، یعنی نسل جدیدی از تراشه های WIFI که در ادامه نسل قبل یعنی ESP8266 به بازار معرفی شدند، که علاوه بر WIFI از بلوتوث نیز پشتیبانی می‌کنند. از برد های کمکی که برای این تراشه عرضه شده می‌توان به NodeMCU و ESP32-CAM اشاره کرد. این تراشه در سه نوع wroom , wrover و solo تولید می‌شود.

 


نحوه کار امنیت وب سرور


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

افزودن سیستم احراز هویت به وب سرور ESP32/8266

 


پیش نیازهای امنیت وب سرور


در این آموزش از دو کتابخانه ESPAsyncWebServer و  AsyncTCP استفاده می شود، در ادامه مراحل نصب را دنبال کنید.

  • ابتدا به مسیر Sketch Include Library > Add .zip Library بروید، و فایل .Zip که از لینک های زیر دانلود کرده اید را اضافه کنید.

وب سرور ESP32: کنترل نور LED

وابسته به بردی که از آن استفاده می کنید اقدام به دانلود کتابخانه مربوط از لینک زیر بکنید.

ESP32:  ESPAsyncWebServer و AsyncTCP

ESP8266ESPAsyncTCP و   ESPAsyncWebServer 

 

  • نصب برد ESP32 در Arduino IDE

در این آموزش از برد ESP32 استفاده می کنیم، در ادامه مراحل را برای نصب این برد در نرم افزار آردوینو دنبال کنید:

  • ابتدا در نرم افزار Arduino IDE به مسیر FilePreferences بروید.

وب سرور ESP32: کنترل نور LED

  • لینک زیر را در بخش مشخص شده قرار دهید.

وب سرور ESP32: کنترل نور LED

  • سپس به مسیر Tools > Board > Boards Manager بروید.

وب سرور ESP32: کنترل نور LED

  • در بخش board manager  کلمه ESP32  را سرچ کنید و بر روی install  کلیک کنید.

وب سرور ESP32: کنترل نور LED

 


کد و تحلیل


ابتدا در این دو خط SSID و پسوورد شبکه خود را وارد کنید؛

 

در این بخش یوزر و پسووردی را که می خواهید توسط آن به وب سرور دسترسی داشته باشد را وارد کنید؛

کد کامل پروژه امنیت وب سرور

 

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

 


جمع بندی


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

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

CiferTech

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

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

۲ دیدگاه

    • از نظر من برجسته ترین تفاوت بین ای دو تراشه بلوتوث و تعداد ADC است. اما در واقع خیلی خیلی بیشتر از اینها پیشرفت بین این دو نسل وجود دارد که تعدادی از آن هارا در آموزش ذکر کردم.