در این مقاله آموزشی قراره با هم پلتفرم ESP RainMaker رو بررسی کنیم. ESP RainMaker یک پلتفرم end-to-end برای تراشههای ESP هست که توسط Experessif عرضه میشه. این پلتفرم به دنبال پلتفرم ESP Jumpstart عرضه شد.
کاربران در این پلتفرم میتونن در مدت زمان کوتاهی بر مبنای رایانش ابری سازمانی و بدون نیاز به مدیریت هیچ زیرساختی راهکارهای AI-T رو طراحی کنن، بسازن و مستقر کنن. این پلتفرم از مجموعهای از device-agent SDK، یک اپلیکیشن ابری شفاف و اپلیکیشنهای تلفنهای iOS و اندروید تشکیل شده. توسعهدهندگان در این پلتفرم میتونن سفتافزار رو بنویسن و به طور همزمان با اپلیکیشنهای تلفن یا دستیارهای صوتی با اون ارتباط برقرار کنن بدون اینکه نیاز باشه در فضای ابری یا اپلیکیشنهای تلفن کدنویسی کنن. در این پلتفرم توسعهدهندگان میتونن بدون اینکه نگران اپلیکیشن، فضای ابری یا سایر اجزای زیرساخت باشن، تمرکزشون رو روی توسعه سفتافزار بذارن.
معرفی و بررسی ESP RainMaker
ESP RainMaker شبیه سرویسهای IoT نظیر Blynk ،Ubidots ،Thingspeak، IFTTT، Arduino IoT cloud و غیره هست.

اما این پلتفرم قابلیتهای دیگهای هم داره: مثلا بصورت رایگان امکان دسترسی به دستیارهای Alexa و Google در این برنامه وجود داره، اشتراکگذاری Node، اتصال به Wi-Fi از طریق کد QR و غیره. اصلیترین مزیت استفاده از این پلتفرم IoT اینه که رایگانه و قابلیت های بیشماری رو ارائه میده.
اصلیترین اجزای این پلتفرم عبارتند از:
- Claiming Service ( دریافت اطلاعات مربوط به اتصال به فضای ابری)
- RainMaker Agent (RainMaker repo برای توسعه سفتافزار)
- RainMaker Cloud (بکاند، اتصال از راه دور)
- RainMaker Phone App/CLI (برنامههای کمکی کلاینت برای دسترسی از راه دور)
قابلیتها و مزایای ESP RainMaker
برخی از امکانات و مزایای پلتفرم ESP RainMaker عبارتند از:
- به دلیل استفاده از راهکاری که بدون نیاز به سفارشیسازی یا توسعه بیشتر آماده استفاده هست مبلغ کمی در تحقیق و توسعه (R&D) سرمایهگذاری میشود.
- فیچرهای امن و قابل اطمینانی که امکان افزایش مقیاس رو هم فراهم میکنن.
- کاهش زمان توسعه
- راهکار ابری بدون ریسک و بدون نیاز به تعمیر و نگهداری
- راهکاری Pay-as-you-use مبتنی بر معماری بدون سرور AWS
- راهکاری ابری خصوصی برای امنیت و حریم خصوصی بیشتر
- از بیشتر سرویسهای mainstream نظیر Alexa، Google Assostant، Apple Homekit و Matter پشتیبانی میکنه.
- اشتراکگذاری Node- کاربران با تکیه بر این فیچر میتونن کنترل دستگاهشون رو در اینترنت به اشتراک بذارن.
- تنظیم زمان – زمان هر دستگاه یا node رو میشه به جای hard coding در اپلیکیشن موبایل تغییر داد.
- پشتیبانی از Arduino – ESP RainMaker از Arduino IDE پشتیبانی میکنه که خبری عالی برای کسایی هست که خودشون پروژههایی انجام میدن.
- گروهبندی node – کاربران میتونن nodeها رو به صورت یک گروه مدیریت کنن و همین قابلیت این امکان رو برای کاربران فراهم میکنه تا به راحتی چند تا دستگاه رو مدیریت کنن.
- FaaS – Function As A Service – علاوه بر سرویسهای مدیریت شده، معماری بدون سرور یک زمان اجرای FaaS هم ارائه میده که به توسعهدهندگان اجازه میده code snippetهایی بنویسن که با دادهها کار کنه و با سرویسهای موجود تعامل برقرار کنه. توسعهدهندگان میتونن از زبانهای برنامهنویسی (مثل پایتون، js و Go) به همراه SDKها استفاده کنن تا با سرویسها تعامل برقرار کنن. FaaS بر مبنای اجراها، زمان و میزان استفاده از مموری در زمان اجرا محاسبه میشه.