رویدادهای اتصال دستگاه
رویدادهای اتصال دستگاه
سرویس وضعیت دستگاه در ThingsConnect مسئول نظارت بر وضعیت اتصال دستگاه و تحریک رویدادهای مرتبط با اتصال دستگاه است که به موتور قوانین ارسال میشود. بهعنوان یک کاربر پلتفرم، شما میتوانید تعیین کنید که چگونه به این رویدادها واکنش نشان دهید.
رویدادهای پشتیبانیشده عبارتند از:
- رویداد اتصال - زمانی که یک دستگاه به ThingsConnect متصل میشود، فعال میشود. این رویداد در صورت استفاده از پروتکلهای مبتنی بر نشست مانند MQTT مرتبط است. همچنین برای حملونقل HTTP نیز فعال میشود، اما در این حالت، در هر درخواست HTTP فعال خواهد شد.
- رویداد قطع اتصال - زمانی که دستگاه از ThingsConnect قطع میشود، فعال میشود. این رویداد نیز برای پروتکلهای مبتنی بر نشست مانند MQTT مرتبط است. همچنین برای حملونقل HTTP در هر درخواست HTTP فعال خواهد شد.
- رویداد فعالیت - زمانی که دستگاه غیرفعال با ارسال تلیمتری، بهروزرسانی ویژگیها، یا فرمان RPC فعال شود، فعال میشود.
- رویداد غیرفعال بودن - زمانی که دستگاه برای مدت زمان مشخصی غیرفعال بوده است، فعال میشود. توجه داشته باشید که این رویداد ممکن است حتی بدون رویداد قطع اتصال از دستگاه نیز فعال شود. بهطور معمول به این معنی است که برای مدتی هیچ رویداد فعالیتی تحریک نشده است.
سرویس وضعیت دستگاه مسئول نگهداری از ویژگیهای سمت سرور زیر است:
- فعال - نشاندهنده وضعیت فعلی دستگاه است که میتواند true یا false باشد؛
- lastConnectTime - نشاندهنده آخرین زمانی است که دستگاه به ThingsConnect متصل شده است، بهصورت تعداد میلیثانیهها از اول ژانویه ۱۹۷۰، ساعت ۰۰:۰۰:۰۰ به وقت گرینویچ؛
- lastDisconnectTime - نشاندهنده آخرین زمانی است که دستگاه از ThingsConnect قطع شده است، بهصورت تعداد میلیثانیهها از اول ژانویه ۱۹۷۰، ساعت ۰۰:۰۰:۰۰ به وقت گرینویچ؛
- lastActivityTime - نشاندهنده آخرین زمانی است که دستگاه تلیمتری، بهروزرسانی ویژگیها یا فرمان RPC ارسال کرده است، بهصورت تعداد میلیثانیهها از اول ژانویه ۱۹۷۰، ساعت ۰۰:۰۰:۰۰ به وقت گرینویچ؛
- inactivityAlarmTime - نشاندهنده آخرین زمانی است که رویداد غیرفعال بودن فعال شده است، بهصورت تعداد میلیثانیهها از اول ژانویه ۱۹۷۰، ساعت ۰۰:۰۰:۰۰ به وقت گرینویچ.
کنترل نحوه مدیریت فعالیتها در یک پلتفرم
هر فعالیت دستگاه منجر به انجام تعدادی عملیات توسط سرویس وضعیت دستگاه میشود، از جمله فراخوانیهای پایگاه داده و ثبتهای داخلی. این عملیات اطلاعات مفیدی درباره وضعیت فعلی دستگاه فراهم میکند، اما همزمان میتواند بر عملکرد سیستم تأثیر بگذارد. در برخی موارد، نیاز به نظارت دقیق بر وضعیت دستگاه وجود ندارد و کاربران تمایل دارند برای بهبود عملکرد کلی سیستم، بخشی از اطلاعات فعالیتها در زمان واقعی را فدا کنند.
برای پاسخ به این نیاز، پلتفرم ویژگی استراتژیهای گزارش فعالیت را ارائه میدهد که به کاربران امکان میدهد کنترل کنند که فعالیتها چند بار و به چه اندازه به سرویس وضعیت دستگاه گزارش شوند. چهار استراتژی وجود دارد: ALL، FIRST، LAST و FIRST_AND_LAST. ما در ادامه جزئیات هر استراتژی را توضیح خواهیم داد، اما ابتدا باید مفاهیم کلیدی را درک کنیم تا از این ویژگی به بهترین شکل استفاده کنیم.
فعالیت چیست؟
فعالیت به رویدادی اشاره دارد که نشان میدهد یک دستگاه در حال انجام عملیات یا ارتباط با یک پلتفرم است. نمونههایی از فعالیتها عبارتند از:
- اتصال یا قطع اتصال به پلتفرم
- ارسال دادههای سریهای زمانی یا ویژگیها از طریق یکپارچگیها یا پروتکلهای انتقال
- ارسال فرمانهای RPC
- اشتراکگذاری در بهروزرسانی ویژگیها
گزارش یک فعالیت
گزارش یک فعالیت به معنای اطلاعرسانی به سرویس وضعیت دستگاه است که یک فعالیت رخ داده است. سرویس وضعیت دستگاه سپس ویژگیها را بهروزرسانی کرده و بر اساس نوع فعالیت، رویدادهای مرتبط با اتصال را تحریک میکند.
به عنوان مثال، اگر فعالیت یک دستگاه بهعنوان اتصال به پلتفرم باشد، سرویس وضعیت دستگاه پس از گزارش فعالیت، ویژگیهای lastConnectTime و lastActivityTime را بهروزرسانی کرده و رویداد Connect را فعال میکند.
دوره گزارشدهی فعالیت
دوره گزارشدهی فعالیت یک بازه زمانی مشخص است که در طی آن سیستم فعالیتها را ثبت میکند. زمان به دورههای متوالی تقسیم میشود؛ به این معنا که به محض اتمام یک دوره، دوره بعدی آغاز میگردد. مدتزمان هر دوره قابل تنظیم است.
اولین دوره گزارشدهی زمانی آغاز میشود که ThingsConnect شروع به کار میکند. به عنوان مثال، اگر سیستم در لحظه ۱۵ ثانیه راهاندازی شود، در همان زمان اولین دوره گزارشدهی نیز آغاز میشود. اگر مدتزمان دوره ۱۵ ثانیه تنظیم شده باشد، این دوره در ۳۰ ثانیه به پایان میرسد و دوره بعدی شروع میشود. این الگو به صورت چرخهای در حین اجرای ThingsConnect تکرار میشود.
رویدادهای اول و آخر فعالیت
- رویداد اول: اولین فعالیتی که در طول یک دوره گزارشدهی دریافت میشود.
- رویداد آخر: آخرین فعالیتی که در طول یک دوره گزارشدهی دریافت میشود.
توجه: اگر فقط یک فعالیت وجود داشته باشد، آن فعالیت بهطور همزمان بهعنوان اولین و آخرین رویداد در نظر گرفته میشود.
استراتژیهای گزارشدهی فعالیت
- ALL: تمامی فعالیتها بلافاصله به سرویس وضعیت دستگاه گزارش میشوند.
- FIRST: تنها اولین فعالیت بلافاصله به سرویس وضعیت دستگاه گزارش میشود.
توجه: آخرین فعالیت همچنان گزارش میشود، حتی اگر در طول دوره گزارشدهی هیچ فعالیتی وجود نداشته باشد.
- LAST: تنها آخرین فعالیت به سرویس وضعیت دستگاه گزارش میشود. فعالیت زمانی گزارش میشود که دوره گزارشدهی به پایان برسد.
- FIRST_AND_LAST: هر دو فعالیت اول و آخر به سرویس وضعیت دستگاه گزارش میشوند. فعالیت اول بلافاصله گزارش میشود و فعالیت آخر زمانی که دوره گزارشدهی به پایان برسد گزارش میشود.
پیکربندی
تمام پیکربندیها با استفاده از پارامترهای جهانی تعریفشده در فایل پیکربندی thingscoard.yml انجام میشود.
- state.defaultInactivityTimeoutInSec – بازه زمانی پس از آن که اگر هیچ فعالیتی گزارش نشود، یک دستگاه توسط سرویس وضعیت دستگاه غیرفعال در نظر گرفته میشود. مقدار به ثانیه تنظیم میشود. مقدار پیشفرض ۶۰۰ ثانیه (۱۰ دقیقه) است. کاربر میتواند این پارامتر را برای یک دستگاه خاص با تنظیم ویژگی سروری inactivityTimeout بازنویسی کند (مقدار به میلیثانیه تنظیم میشود).
- state.defaultStateCheckIntervalInSec – فاصله زمانی برای بررسیهای دورهای وضعیت فعالیت دستگاه، که توسط سرویس وضعیت دستگاه انجام میشود. مقدار به ثانیه تنظیم میشود. مقدار پیشفرض ۶۰ ثانیه (۱ دقیقه) است.
- state.telemetryTtl – مقدار زمان زنده ماندن (TTL) برای دادههای تلهمتری فعالیت. مقدار به میلیثانیه تنظیم میشود. مقدار پیشفرض ۰ میلیثانیه است (به معنای غیرفعال بودن مکانیزم زمان زنده).
- transport.activity.reporting_strategy – استراتژی گزارشدهی فعالیت برای ترابریها. مقادیر مجاز: ALL، FIRST، LAST، FIRST_AND_LAST. مقدار پیشفرض: LAST.
- transport.sessions.report_timeout – مدتزمان یک دوره گزارشدهی برای ترابریها. مقدار به میلیثانیه تنظیم میشود. مقدار پیشفرض ۳۰۰۰ میلیثانیه (۳ ثانیه) است.
گامهای بعدی
- راهنماهای شروع کار – این راهنماها نمای کلی سریع از ویژگیهای اصلی ThingsConnect را ارائه میدهند. طراحیشده برای تکمیل در ۱۵-۳۰ دقیقه.
- اتصال دستگاه خود – یاد بگیرید چگونه دستگاهها را بر اساس فناوری یا راهحل اتصال خود متصل کنید.
- تصویریسازی دادهها – این راهنماها شامل دستورالعملهایی برای پیکربندی داشبوردهای پیچیده ThingsConnect هستند.
- پردازش دادهها و اقدامات – یاد بگیرید چگونه از موتور قوانین ThingsConnect استفاده کنید.
- تحلیل دادههای IoT – یاد بگیرید چگونه از موتور قوانین برای انجام وظایف تحلیل پایه استفاده کنید.
- نمونههای سختافزاری – یاد بگیرید چگونه پلتفرمهای سختافزاری مختلف را به ThingsConnect متصل کنید.
- مشارکت و توسعه – درباره مشارکت و توسعه در ThingsConnect بیاموزید.