توی این مقاله، یاد میگیریم GPIO های ESP32 رو از هر جایی که هستیم، با کمک Firebase، کنترل کنیم. برای این کار باید چند تا گره در دیتابیس Realtime فایربیس بسازیم تا وضعیت GPIO رو ذخیره کنیم. هروقت گرههای این دیتابیس تغییر کنه، ESP32 میتونه GPIO ها رو مطابق با اون تغییر به روز رسانی کنه. وضعیت GPIO های ESP32 رو میشه با تغییر دیتابیس یا با ساخت نرمافزار وب از طریق Firebase کنترل کرد.
Firebase چیست؟
Firebase پلتفرم گوگل برای ساخت نرمافزار موبایل هست که کمک میکنه نرمافزار جدید بسازین یا نرمافزارهایی که دارین رو ارتقاء بدین. از جمله سرویسهای رایگانی که Firebase به کاربرا ارائه میده میشه به هاستینگ، احراز هویت و دیتابیسهای Realtime اشاره کرد. ما هم تو این پروژه از همین قابلیت های Firebase استفاده میکنیم تا یک نرمافزار وب کامل برای کنترل و نظارت به بوردهای ESP32 و ESP8266 بسازیم. ساخت همچین نرمافزاری بدون کمک فایربیس کار خیلی سخت و زمانبری هست.
مروری کلی بر پروژه
تصویر پایین یک نمای کلی از پروژه نشون میده:
- ESP32 رو با ایمیل و پسورد به عنوان کاربر به پلتفرم معرفی میکنیم تا به دیتابیس دسترسی داشته باشه (کاربر باید بر اساس روشهای احراز هویت فایربیس ثبتنام بشه)؛
- دیتابیس با استفاده از قوانین خاص خودش محافظت میشه. ما یه قانون دیگه هم اضافه میکنیم تا فقط کاربرای احراز هویت شده بتونن به دیتابیس دسترسی داشته باشن؛
- دیتابیس چند تا گره داره که حالت GPIO بورد ESP32 رو ذخیره میکنه. ما تو این پروژه GPIOهای 12 و 13 و 14 رو کنترل میکنیم. شما اگه بخواید میتونید گره اضافه یا کم کنید؛
- ESP32 نسبت به تغییرات گرههای دیتابیس GPIOها حساسه. هروقت تغییری رخ بده، حالت GPIO هم متناسب با اون تغییر میکنه؛
- با استفاده از کنسول Firebase، میشه به صورت دستی هم حالات GPIO های ESP32 رو روی دیتابیس کنترل کرد؛ یک راه دیگه هم ساخت یک صفحه است که هم میتونه از هر جایی که هستید GPIOها رو کنترل کنه و هم وضعیت حال حاضرش رو نشون بده.
پس گامهای کلی پروژه رو میشه توی این چند مورد خلاصه کرد:
-
ایجاد یک پروژه فایربیس
-
تنظیم روشهای احراز هویت
-
دریافت کلید API پروژه
-
تنظیم دیتابیس Realtime
-
تنظیم قوانین امنیتی دیتابیس
-
سازماندهی گرههای دیتابیس
-
کنترل GPIOها
2 دیدگاه