آموزش های کاربردیاینترنت اشیاء (IOT)بایگانی مطالب

کنترل GPIO های ESP32 از راه دور با Firebase (بخش دوم)

در بخش اول موفق شدیم به پروژه Firebase رو ایجاد کنیم و روش های احراز هویت رو تنظیم کنیم. در مرحله بعد کلید API پروژه رو دریافت کردیم. همچنین یک دیتابیس Realtime ساختیم و قوانین دیتابیس رو برای پروژه تعریف کردیم. در این بخش به کد نویسی میکروکنترلر ESP32 می پردازیم تا احراز هویت به عنوان کاربری با ایمیل و پسورد و همچنین جست و جو و شناسایی تغییرات گره های دیتابیس و تغییر حالت های GPIO را باهم بررسی کنیم.

کنترل ESP32 با firebase


کنترل تغییرات GPIOها با ESP32

در این قسمت، بورد ESP32 رو طوری برنامه‌نویسی می‌کنیم تا این مسائل رو انجام بده:

1) احراز هویت به عنوان کاربری با ایمیل و پسورد.


2) جست‌وجوی تغییرات گره‌های دیتابیس و تغییر حالت GPIO بر اون اساس.


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

قطعات لازم برای انجام پروژه کنترل GPIO بورد ESP32 از راه دور

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

  • ESP32


  • LED (3 عدد)


  • رزیستور 220 اهمی (3 عدد)


  • بردبورد (Breadboard)


  • سیم جامپر (Jumper Wires)


نمای کلی از مراحل پروژه

تو این پروژه می‌خوایم سه تا LED که به GPIOهای 12، 13 و 14 متصل هستن رو کنترل کنیم. پس سه تا LED رو به ESP32 وصل کنید. برای کمک می‌تونید از شکل زیر استفاده کنید. اگر می‌خواید از GPIO های دیگه ESP32 استفاده کنید، به خاطر داشته باشید که تغییرات لازم رو توی گره‌های دیتابیس اعمال کنید.

اتصال قطعات برای پروژه کنترل GPIO بورد ESP32 از راه دور


با عضویت رایگان در سایت می‌تونید ادامه مطلب رو مشاهده کنید.
این مقاله چطور بود ؟
+1
4
+1
1
+1
0
مشاهده بیشتر

محمد حسنی

علاقمند به حوزه IoT و الکترونیک. در حال حاضر به مدت یکسال است که در تیم سخت افزار سازان نام آور به تولید محتوا مشغول هستم.

نوشته های مشابه

3 دیدگاه

    1. سلام امیررضا عزیز. برای رفع “خطای refresh token” مراحل زیر را امتحان کنید:
      1- مطمئن شوید که دستگاه ESP32 شما به اینترنت متصل است و می تواند به خدمات Firebase دسترسی داشته باشد. ممکنه با توجه به محدودیت های فعلی دسترسی Firebase امکانپذیر نباشه و فقط با ابزار های تغییر IP بتونید وصل بشید.
      2- بررسی کنید که آیا “refresh token” منقضی شده است. اگر چنین است، باید یک refresh token جدید از Firebase Authentication دریافت کنید.
      3- در کد خود، از تابع ()FirebaseAuth.refreshToken برای به ایجاد کردن یک refresh token جدید استفاده کنید، سپس آن را به صورت ایمن ذخیره کنید.
      4- هنگامی که یک refresh token جدید ایجاد کردید، از آن برای ورود به سیستم یا احراز هویت با خدمات Firebase استفاده کنید.
      5- مطمئن شوید که زمان دستگاه ESP32 شما دقیق است. زمان نادرست می تواند منجر به خطاهای احراز هویت شود.
      دوباره بررسی کنید که client ID و secret استفاده شده توسط دستگاه ESP32 شما با مواردی که در Firebase تنظیم کرده اید مطابقت داشته باشد.
      6- اگر همه چیز ناموفق بود، سعی کنید اطلاعات کاربری Firebase را از دستگاه ESP32 خود حذف کرده و دوباره آنها را تازه اضافه کنید.
      7- اگر هیچ یک از این مراحل کار نکرد، دستور زیر رو در انتهای کد اصلی (داخل حلقه) اضافه کنید. احتمالا مشکلتون حل میشه.
      if(Firebase.isTokenExpired())
      firebase.ready()
      اگر همچنان مشکل داشتید می‌تونید از دوتا لینک زیر کمک بگیرید.
      https://github.com/mobizt/Firebase-ESP-Client/discussions/62
      https://github.com/mobizt/Firebase-ESP-Client/discussions/83#discussioncomment-866941

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

دکمه بازگشت به بالا