Skip to main content
قبل از ساختن اولین دستگاه، پنج واژهٔ فلووا را از هم جدا کنید. بیشتر خطاهای شروع کار از جایی می‌آیند که این مفاهیم به جای هم استفاده می‌شوند.

Device Type

Device Type نقشهٔ یک خانواده از دستگاه‌هاست. در آن تعیین می‌کنید دستگاه چه کانال‌هایی دارد، هر کانال چه نوع مقداری می‌گیرد، خواندنی یا نوشتنی است و در صورت نیاز به کدام ورودی یا خروجی سخت‌افزاری وصل می‌شود. Device Type خودش منطق اجرا نمی‌کند و به یک دستگاه فیزیکی خاص تعلق ندارد.

Datastream

Datastream یک نام و قرارداد برای یک مقدار است. temperature می‌تواند یک عدد خواندنی باشد، relay یک وضعیت بولی خواندنی و نوشتنی، و cook_mode یک رشته یا فرمان نرم‌افزاری. همین نام در Console، firmware، automation، dashboard و query استفاده می‌شود. نام‌های فنی را کوتاه، انگلیسی و ثابت نگه دارید؛ عنوان نمایشی می‌تواند فارسی باشد.

Firmware و دستگاه

Firmware برنامه‌ای است که روی برد اجرا می‌شود. دستگاه، یک نمونهٔ واقعی از یک Device Type با هویت و وضعیت خودش است. یک binary عمومی می‌تواند روی چند دستگاه فلش شود، چون هویت و secret دستگاه هنگام provisioning ساخته یا تحویل داده می‌شود و داخل کد قرار نمی‌گیرد.

Automation

Automation می‌گوید چه رخدادی باعث اجرای چه تصمیمی شود. مثلاً «وقتی temperature بیشتر از ۳۰ شد، relay را روشن کن». Console نمودار را ویرایش می‌کند و Engine آن را اعتبارسنجی و اجرا می‌کند. Firmware فقط نتیجهٔ معتبر را مثل هر فرمان دیگری دریافت می‌کند.

Dashboard

Dashboard سطحی است که کاربر نهایی با آن داده را می‌بیند و فرمان می‌دهد. یک dashboard می‌تواند gauge، switch، chart، متن، اعلان و action داشته باشد. ظاهر و layout در Studio ساخته می‌شود، اما داده از Device Type و دستگاه انتخاب‌شده می‌آید. بنابراین بهتر است dashboard را بر اساس قرارداد داده بسازید، نه با مقادیر ثابت مخصوص یک دستگاه.
وقتی این مسیر را در ذهن داشته باشید، انتخاب بین universal firmware و custom firmware هم ساده می‌شود: universal مالک بخش بیشتری از مسیر است، custom مالکیت برنامهٔ موجود شما را حفظ می‌کند.