آشنایی با وضعیت ها #
سرویس وضعیت اتصال دستگاه مسئول نظارت بر وضعیت اتصال دستگاه ها و اعلام (trigger) رویداد های وضعیت دستگاه به موتور قواعد ویرالینک است. به عنوان یک مدیر می توانید مشخص این رویداد ها چه عملی در پی داشته باشد.
رویداد های پشتیبانی شده
- رویداد اتصال (Connect event) – زمانی که دستگاه به پلتفرم ویرالینک متصل میشود این رویداد رخ (triggered) می شود. این رویداد در مواقع اتصال پروتکل های بر پایه نشست (Session based) مانند MQTT رخ می دهد. همچنین برای پروتکل های HTTP این رویداد رخ میدهد اما در نظر داشته باشید که این رویداد در پروتکل HTTP برای هر درخواست HTTP (Http Request) فراخوانی خواهد شد.
- رویداد قطع اتصال (Disconnect event) – زمانی که دستگاه از پلتفرم ویرالینک قطع میشود این رویداد رخ (triggered) می شود. این رویداد در مواقع اتصال پروتکل های بر پایه نشست (Session based) مانند MQTT رخ می دهد. همچنین برای پروتکل های HTTP این رویداد رخ میدهد اما در نظر داشته باشید که این رویداد در پروتکل HTTP برای هر درخواست HTTP (Http Request) فراخوانی خواهد شد.
- رویداد فعالیت (Activity event) – در زمان هایی که دستگاه داده های جدید ( داده های صفت و یا داده های تله متری) ارسال میکند و یا فراخوانی دستورات RPC رخ می دهد.
- رویداد عدم فعالیت (Inactivity event) – زمانی که یک دستگاه برای مدت مشخصی فعالیتی انجام ندهد این رویداد رخ می دهد. توجه داشته باشید که این رویداد ممکن هست حتی بدون رویداد قطع اتصال رخ دهد.
سرویس وضعیت دستگاه مسئول بروزرسانی صفت های سمت سرور هر دستگاه نیز زیر می باشد
- active – نمایانگر وضعیت فعال بودن دستگاه که میتواند یکی از مقادیر true و false داشته باشد
- lastConnectionTime – نمایانگر آخرین زمانی که دستگاه به پلتفرم ویرالینک متصل شده است به صورت unix timestamp در واحد میلی ثانیه
- lastDisconnectTime – نمایانگر آخرین زمانی که دستگاه از پلتفرم ویرالینک قطع شده است به صورت unix timestamp در واحد میلی ثانیه
- lastActivityTime – نمایانگر آخرین زمانی که دستگاه داده های تله متری یا صفت به پلتفرم ارسال کرده و یا دستور RPC اجرا شده است به صورت unix timestamp در واحد میلی ثانیه
- inactivityAlaramTime – نمایانگر آخرین زمانی که رویداد عدم فعالیت رخ داده است به صورت unix timestamp در واحد میلی ثانیه
پیکربندی #
مدت زمانی که باید از آخرین فعالیت دستگاه بگذرد تا رویداد عدم فعالیت رخ دهد (inactivity timeout) دارای مقدار پیشفرض state.defaultInactivityTimeoutInSec در جدول مقادیر پیشفرض است. البته میتواند این مقدار پیشفرض را با تعریف یک صفت نام “inactivityTimeout” در صفت های سمت سرور دستگاه مد نظر تغییر دهید.
همچنین توجه داشته باشید فرآیند سیکل بررسی رویداد های عدم فعالیت مقدار پیشفرض state.defaultStateCheckIntervalInSec در جدول مقادیر پیشفرض است می باشد.