پروژه, توصیه شده

ساخت قفل در هوشمند مجهز به وای فای با ESP8266

ساخت قفل در هوشمند مجهز به وای فای با ESP8266

در این پروژه، قصد داریم تا با کمک ماژول وای فای ESP8266، یک قفل در هوشمند بسازیم. به این صورت که فرد برای ورود به اتاق، باید با موبایل خود QR-CODE نصب شده بر روی در را اسکن کرده تا صفحه ورود بر روی موبایل او ظاهر شود! سپس با وارد کردن رمز عبور یا شماره پرسنلی، درب برای او باز می‌شود.

با این آموزش از سیسوگ همراه باشید!

 

توضیحاتی درباره پروژه!

ایده اصلی این پروژه، از قسمت پروژه‌های وب‌سایت آردوینو گرفته شد. در پروژه اصلی، شما می‌بایست ابتدا ماژول وای فای ESP8266 را به یک مودم وای فای متصل می‌کردید تا توسط مودم، یک آی پی آدرس محلی (Local IP Address) به آن اختصاص می‌یافت. این آی پی آدرس توسط ماژول در پنجره سریال مانیتور چاپ می‌شد. سپس باید موبایل خود را نیز به همان شبکه (مودم وای فای) متصل می‌کردید تا بتوانید به ماژول ESP8266 متصل بشوید. اگر آی پی ماژول را در مرورگر تلفن همراه خود وارد می‌کردید، صفحه ورود را مشاهده می‌کردید و می‌توانستید از طریق آن، رمز را وارد کنید. پس از اینکه کاربر رمز عبور (یا شماره پرسنلی) را وارد کرد، خود ماژول ESP8266 کنترل رله یا سرو موتور را مستقیماً در اختیار نداشت و تنها آن را از طریق پورت سریال برای یک برد آردوینو ارسال می‌کرد تا برد آردوینو آن را بررسی و عملیات کنترل درب را به عهده بگیرد.

 

 

تغییرات پروژه!

ما در این پروژه، سعی کردیم که تا حد امکان قطعات کمتری استفاده کنیم. برای مثال، نیازی به برد آردوینو دیگری نبود، و از پایه‌های GPIO خود ESP8266 برای کنترل رله استفاده می‌کنیم و نیازی به استفاده بیهوده از یک آردوینو دیگر، درون پروژه نیست! پایه ESP8266 که به LED متصل بود را برای این کار انتخاب کردیم تا در صورتی که رمز درست وارد شد، توسط علامت چراغ مشخص گردد. همچنین ایراد دیگری که در این پروژه وجود داشت، این بود که فرد برای وارد کردن رمز عبور، حتماً می‌بایست به وای فای شما نیز متصل شود! یکی از قابلیت‌های ماژول ESP8266، ایجاد یک نقطه اتصال (Access point) است! بنابراین، حتی نیازی به مودم وای فای نیز نخواهید داشت! در مورد صفحه ورود نیز، یکی از ایراداتی که وجود داشت این بود که پس از وارد کردن رمز، نتیجه را به شما نمایش نمی‌داد. همچنین برای اجرا حتماً باید موبایل شما از طریق اینترنت فایل j-query را دانلود می‌کرد. که وابستگی جی-کوئری را نیز حذف کردیم. همچنین صفحه ورود نیز فارسی شده است. همیشه سعی کنید پروژه هاتون رو بهبود بدید. ?

 

پروژه رایگان مشابه همین پروژه!

البته دقت داشته باشید که قبلاً نیز در سیسوگ، پروژه‌ای مشابه به همین پروژه با عنوان ساخت درب بازکن RFID مجهز به وای فای و پنل مدیریت حرفه‌ای منتشر کردیم، توصیه می‌کنیم آن را نیز از دست ندهید!

 

سخت افزار

برای راه اندازی این پروژه، حداقل به موارد زیر احتیاج دارید:

  • ماژول وای فای ESP8266 یا NodeMcu
  • گوشی هوشمند

 

و برای راه اندازی درب هوشمند، قطعات و موارد زیر را نیز احتمالا نیاز خواهید داشت:

  • ترانزیستور پرقدرت دارلینگتون
  • باتری 9 ولت
  • یک عدد مقاومت یک کیلو اهم
  • سرو موتور
  • تعدادی سیم
  • برد بورد
  • نرم افزار بارکد خوان (QR_CODE)

 

راه اندازی پروژه

گام اول – آماده سازی نرم افزار آردوینو

خوب، برای اینکه بتوانید برای ماژول ESP8266 برنامه بنویسید و کامپایل بگیرید، ابتدا باید آن را به عنوان یک برد به نرم افزار آردوینو معرفی کنید و ابزار های آن را نیز اضافه کنید. این آموزش قبلا در سیسوگ تحت عنوان “نصب ماژول ESP8266 و ESP32 در ویرایشگر آردینو” منتشر شده است. لطفا این مطلب را مطالعه کنید. اما به طور خلاصه، وارد منو زیر شده:

File->preferences

سپس در کادر Additional Boards Manager URLs، آدرس زیر را وارد کرده و OK می کنیم.

 

سپس، مجددا از طریق منوی

Tools -> Board -> Boards Manager

عبارت ESP8266 را جستجو کرده و آن را نصب می کنیم. در انتها نیز آردوینو را یک بار باز و بسته می کنیم.

 

گام دوم – ریختن برنامه

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

در کد بالا، همچنین، می‌توانید نام وای فای ایجاد شده توسط ماژول را به دلخواه خودتان تغییر بدهید و برای آن، رمز نیز در نظر بگیرید. در حال حاضر، یک شبکه با نام sisoog و بدون رمز ایجاد می‌شود. میتوانید شبکه خودتان را نیز با یک تصویر بارکد QR-CODE با کمک این لینک (یا دیگر سایت ها و نرم افزار های مشابه) به اشتراک بگذارید!

تنها کافی است تا گذرواژه و نام کاربری وای فای خود در کد زیر جای گذاری (خطوط ابتدایی برنامه بالا) کنید:

رمز عبور فعلی نیز 1234 است که میتوانید در خط 43 کد بالا، آن را تغییر دهید:

 

گام سوم – بستن مدار

شما می توانید خروجی ESP8266 را که در حال حاضر به پایه شماره 2، یعنی ال ای دی داخلی ESP8266 متصل است را، به یک رله و سرو موتور متصل کنید. مدار پیشنهادی را در شکل زیر میبینید. دقت داشته باشید که ESP8266 با 3.3 ولت کار می‌کند!

مدار قفل در هوشمند

 

 

گام چهارم – چاپ کردن بارکد

پس از اینکه برنامه را بر روی برد آپلود کردید، در پنجره سریال آردوینو، آی پی لوکال ماژول به نمایش در می آید. شما میتوانید این آی پی را با نرم افزار یا با سرویس های مختلف به تصویر QR-CODE تبدیل کنید. یکی از این سرویس های آنلاین را میتوانید ازینجا استفاده کنید. به احتمال خیلی زیاد، آی پی شما همیشه 192.168.4.1 خواهد بود. ( هر چند این آی پی را نیز می توان با تنظیمات DHCP، هم در مودم (اگر ماژول را به مودم متصل می کنید) و هم به صورت کد در ESP8266 تنظیم کرد.)

سرویس آنلاین ساخت qr-code

 

گام پنجم (نهایی) – تست مدار!

خوب! تقریباً همه چیز تمام است! حالا وقتی شما درون شبکه‌های وای فای جستجو می‌کنید، باید وای فای با نام sisoog مشاهده کنید! به این شبکه متصل شوید و با اسکن کردن بارکد، وارد صفحه ورود شوید! رمز را وارد کنید و وارد اتاق شوید! اگر رمز درست باشد، هم نتیجه در این صفحه به شما نمایش داده می‌شود، هم ال ای دی ماژول روشن می‌شود!

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

32 دیدگاه در “ساخت قفل در هوشمند مجهز به وای فای با ESP8266

  1. Avatar for علی روانگرد علی روانگرد گفت:

    با عرض سلام و احترام لطفا برنامه‌ای را که نوشتید در دسترس بنده قرار دهی شماره تماس بنده که در ایتا هم هستم د با تشکر از لطف شما شماره تماس بنده که در ایتا هم هستم
    09172132326

  2. Avatar for امیرعلی امیرعلی گفت:

    سلام ایا نیاز به برنامه نویسی اندروید برای موبایل هم هست ؟ ینی دو برنامه جدا برای فرستنده و گیرنده لازم داریم؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

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

  3. Avatar for Ali Ali گفت:

    سلام ممنون از مطلب خودبتون !
    یه سوال داشتم :
    اگر پایه شماره 2 را LED فرض کنیم یه جوری تغییرش بدیم که با زدن 1234 فقط روشن بشه و با زدن 12345 خاموش بشه امکان همچین کاری هست ؟ میشه اموزش بدین طریقه ی نوشتن کدش رو ؟
    ممنون

  4. Avatar for نیما نیما گفت:

    چه طور میشه توسط گوشی رمز wifi یا شماره پرسنلی رو تغییر داد ؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      برای این کار اول باید در کد تغییرات مورد نظراون رو اعمال کنید و مجددا برنامه رو کامپایل کنید و بر روی ماژول پروگرام کنید.

  5. Avatar for احمد احمد گفت:

    سلام خسته نباشید امکانش هست رمزش رو بجای 4 رقم 8 رقمی کنیم

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      بله امکانش هست با دست کاری برنامه البته

  6. Avatar for امیر امیر گفت:

    سلام وقت بخیر امکانش هست راهنمایی کنید برای esp32 چطور این کد رو بنویسم

    1. Avatar photo Digi Boy گفت:

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

  7. Avatar for الهام الهام گفت:

    سلام- خسته نباشید
    این IP که تولید میشه تغییر هم میکنه؟ مگر نباید ای پی استاتیک داشته باشیم؟

    1. Avatar photo Digi Boy گفت:

      درود بر شما.
      این آی پی داخلی هست و آدرس صفحه ورود هم (درون شبکه LOCAL خود ESP8266) ثابته و مشکلی رو ایجاد نمیکنه. برای اطمینان نوشتم تست کنید.

  8. Avatar for میلاد میلاد گفت:

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

    1. Avatar photo Digi Boy گفت:

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

  9. Avatar for مهرداد مهرداد گفت:

    ایده خیلی باحالیه که با یه ماژول ارزون قیمت بتونیم همچین کاری کنیم. البته تغییراتی هم که دادید خیلی بهترش کرده. ممنون.

    1. Avatar photo Digi Boy گفت:

      درود بر شما.
      خواهش می‌کنم!

  10. Avatar for مهدیار مهدیار گفت:

    سلام.
    اون قسمت که پروژه رو بومی سازی کردید و مشکلاتش رو بهبود دادید خیلی حال کردم باش! موفق باشید…

    1. Avatar photo Digi Boy گفت:

      درود بر شما!
      باز هم با خلاقیت میشه پروژه رو بهترش هم کرد!

  11. Avatar for امید امید گفت:

    ساخت قفل با وای فای و در پایان یه حمله Deauthentication و موندن پشت در 😐

    1. Avatar photo Digi Boy گفت:

      ها ها ها ها!
      دیگه بستگی داره جایی که این پروژه رو کار می‌کنید چند نفر این تکنیکو بلد باشن!
      معلومه تو محله هکرا زندگی می‌کنید!!

      1. Avatar for امید امید گفت:

        اره خوب یه دفع می بینی علی هکر از پنجره داره بهمون نگاه می کنه و از این که پشت در نشستیم ها ها ها ها می خنده 😐 جدا از شوخی برای پروژه های صنعتی وای فای مناسب نیست و ان اف سی برای این پروژه ها ایده آله … و میشه یه ارتباط رمز نگاری شده رو داشت و ساخت یه قفل در با استفاده از ان اف سی می تونه خیلی هم معقول باشه

        1. Avatar photo Digi Boy گفت:

          ها ها ها!
          بله، ممنون از نظرتون.
          یه پروژه مشابه هم با ESP8266 توی سایت معرفی کردیم، توی اون از NFC استفاده شده بود و میتونسید کلا WIFI اون رو هم رو هم غیر فعال کنید.

      2. Avatar for امید امید گفت:

        البته اگر بتونیم قدرت سیگنال ماژول رو کم کنیم و به چند متر برسونیم کاربردیه

        1. Avatar photo Digi Boy گفت:

          درود بر شما.
          ممنون از ایده خوبتون. بله این کار با تابع
          wifi.setphymode()
          شدنیه، کافیه داکیومنت برنامه نویسی ESP8266 رو مطالعه کنید:

          nodemcu.readthedocs.io/en/latest/en/modules/wifi/#wifisetphymode

  12. Avatar for داود زماني داود زماني گفت:

    esp8266 نهايتاً با 3.6 كار ميكنه نه با 5 ولت!

    1. Avatar photo Digi Boy گفت:

      درود بر شما.
      خیلی خیلی ممنون از توجه و دقت شما!
      اصلاح گردید.

  13. Avatar for محمد صادق محمد صادق گفت:

    اقا دست خوش . واقعا مطلب مفید و جالبی بود

    1. Avatar photo Digi Boy گفت:

      چاکریم!
      ما رو به دوستاتون و دوستای دوستاتونم معرفی کنید!

  14. Avatar for مهدی مهدی گفت:

    یعنی چی ESP8266 با 5 ولت کار می‌کند ما که تا الان با ۳.۳.ولت با این ماژول کار میکردیم فکرمیکنم اشتباه تایپی شده

    1. Avatar photo Digi Boy گفت:

      درود بر شما!
      بله بله!
      اشتباه شده بود.
      بسیار سپاسگزارم!

  15. Avatar for اکبر کپک اکبر کپک گفت:

    به نظر جالبتر میشد اگه ماژول رو به اینترنت خونه متصل کنیم و به یه سرویس ابری متصلش کنیم و از طریق همون سرویس ابری یا اپلیکیشنی که داره بشه رله یا سرو موتور رو کنترل کرد

    1. Avatar photo Digi Boy گفت:

      درود بر شما!
      بله، همه کار میشه کرد!
      داکیومنت های برنامه نویسی ESP8266 رو هم مطالعه کنید، کلی ایده دیگه هم ممکنه به ذهنتون برسه.
      متشکرم!

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *