اینترنت اشیاء, توصیه شده, معرفی

داشبورد IoT رو با چی بزنم؟

داشبورد IoT رو با چی بزنم؟

شاید پیش اومده خواسته باشید پروژه‌ای انجام بدید و نیاز به داشبورد IoT داشته باشید. مثلاً خواسته باشین مانیتورینگ دما و رطوبت انجام بدین، نموداری از تغییرات دما و رطوبت به‌صورت روزانه – هفتگی – ماهانه داشته باشین. وقتی دما و رطوبت از حدی پایین‌تر اومد، یا از حدی بالاتر رفت، هشدار بدین و یا دستگاهی رو برای تنظیم دما و رطوبت روشن کنین. شاید خواسته باشین به این اطلاعات روی اینترنت هم دسترسی داشته باشین، تا از طریق کامپیوتر رومیزی یا موبایل هم به اون اطلاعات دسترسی داشته باشین.
حالا هر زمان و مکانی که میخواد باشه.

  • پروتکل ارسال و دریافت اطلاعاتتون چیه؟ پروتکل ارسال فرامینتون چیه؟
  • چرخ رو از اول اختراع میکردین؟
  • روی دستگاه کدهای ارتباطی رو مینوشتین؟
  • سرو محلی و سرور اینترنتی رو کدنویسی میکردین؟
  • اپلیکیشن داشبورد تحت وب یا موبایل رو کدنویسی میکردین؟
  • یعنی پروژه‌ای که میتونست سه‌ماهه تموم بشه تبدیل می‌شد به پروژه‌ای دوازده ماهه؟
  • اگه هم عجله داشتین که بیشتر خرج میکردین؟!

 

شاید برای شما مفید باشد: مدار ریموت کنترل چهار کاناله

داشبورد های متن‌باز IoT

کسایی که داشبورد و اپلیکیشن نوشتن میدونن اصلاً کار ساده‌ای نیست! کسایی که پروتکل‌های ارتباطی رو کد نوشتن، میدونن چقدر باگ میتونه پیش بیاد! راه‌حل بهتر از نظر من اینه که سیستم‌های موجود، به‌خصوص متن‌باز (Open Source) ها رو باید بررسی کرد و بر اساس نیاز پروژه باید دید.

برای مثال:

  • کدوم بیشترین و بهترین امکانات رو میدن؟
  • کدومشون واقعاً اپن‌سورس کاملن؟
  • کدومشون فعال‌ترن و مرتب نسخه میدن و مشکلات رو حل میکنن و قابلیت اضافه میکنن؟
  • کدومشون مشتری بیشتری دارن؟
  • کدومشون مستندات بهتر و کامل‌تری دارن؟
  • کدوم قابلیت توسعه ساده‌تری دارن؟ (مثلاً شاید نیاز بشه یک نوع نمودار جدید به داشبورد اضافه کنین یا قابلیت به‌خصوصی رو به موتور قوانینش اضافه کنین)

من تقریباً این مسیر رو طی کردم و به چند تا سیستم خوب آشنا شدم.

  • یکی ThingsBoard
  • یکی OpenRemote
  • یکی Blynk

اولی و دومی اپن‌سورس هستن. سومی اپن‌سورس نیست اما قابلیت‌های جذاب‌تری داره و البته پلان رایگان هم میده.
از قابلیت‌های مشترکشون ایناست:

  • پشتیبانی از پروتکل‌های MQTT، CoAP، LoRaWAN، SigFox و NB-IoT
  • مدیریت دستگاه‌ها و مشخص‌کردن موقعیت مکانی روی نقشه
  • داشبورد بلادرنگ
  • به‌صورت زنده میتونین اطلاعات ارسالی دستگاه‌ها رو در انواع نمودار داشته باشین و برای خودتون یک صفحه مدیریتی و مرکز کنترل درست کنین
  • حتی از ویجت‌هایی استفاده کنین که فرامینی رو به سمت دستگاه بفرستن
  • پشتیبانی از Rule Engine یا در واقع موتور قوانین

شاید برای شما مفید باشد: ریموت کد لرن چیست

مثلاً میتونین تعریف کنین اگه دمای ارسالی دستگاه از 40 بیشتر شد هشدار بده و این هشدار رو از طریق ایمیل براتون ارسال کنه و یا مثلاً به یک ربات تلگرام متصلش کنید تا اونجا هشدار رو به دستتون برسونه و چندین قابلیت دیگه که گفتنشون خالی‌ازلطف نیست. اما اینجا جاشون نمیشه!

 

کدوم داشبورد IoT رو انتخاب کنیم؟

کدوم داشبورد IoT رو انتخاب کنیم؟ از بلینک که بگذریم. (چون اپن‌سورس نیست)

تینگزبورد یا اپن‌ریموت؟
گیت‌هاب جفتشونو که بررسی کردم به نتایج جالبی رسیدم.

اپن ریموت فعال‌تره. هر هفته داره توسعه داده میشه. اما تینگزبورد سرعت توسعش پایین تره.
اپن ریموت قابلیت‌های موتور قوانینش هم بیشتره! شاید همین دلیلی باشه که مجبورن بیشتر کد بنویسن؟!
باگ‌ها و اشکالات گزارش شده برای تینگزبورد از هزار تا بیشتره، اما اپن ریموت زیر دویست تاس.
این به چه معناست؟
ستاره‌های تینگزبورد بیش از نه هزار تاس و اپن ریموت زیر پانصد تا! احتمالاً محبوبیت تینگزبورد خیلی بیشتره و مشکلات بیشتری براش گزارش میشه! و شاید چون پایداریش بیشتره خیلی کدها رو توسعه نمیدن.

 

خوب بریم سراغ نصبشون

اپن ریموت فقط گزینه داکر گذاشته! چه بد؟! شاید کسی نخواد از داکر استفاده بکنه! اونوقت کارش سخت‌تر میشه!
همین‌جا اوپن ریموت امتیاز منفی گرفت و من بی‌خیال نصبش شدم!
تینگزبورد انواع گزینه‌ها رو گذاشته، هم خدمات ابری میده هم و اجازه میده خودمون روی سرور نصب کنیم و هم گزینه داکر داره، هم گزینه بدون داکر! نصبش خیلی سرراست بود. معماری ذخیره‌سازی اطلاعاتشم جالبه. یک ساختار هیبریدی داره که اجازه میده با PostgreSQL کار بشه. اگه لود بره بالا پیشنهاد کرده پوستگره با Cassandra ترکیب بشه. اگه لود خیلی بالاتر بره پیشنهاد کرده روی پوستگره TimeScaleDB فعال بشه! اجازه استفاده از Kafka رو هم میده برای آنالیزهای آماری و هوش مصنوعی! یک تفاوت جالبی که اپن ریموت و تینگزبورد دارن اینه که اپن ریموت یک اپلیکیشن موبایل هم برای مدیریت داشبوردو میده که این قابلیت رو تینگزبورد نداره.
ولی هر دو دیزاینشون ریسپانسیوه و قابل نمایش بر روی موبایل دارن.
مستندات تینگزبورد عالیه، عالی!
یعنی هر موردی که جستجو می‌کنم به‌احتمال‌قوی داخل سایت خودش در قسمت مستندات جوابش پیدا میشه!
اما متأسفانه اپن ریموت واقعاً در این زمینه ضعیفه …
مثلاً برای توسعه ویجت‌ها و نوشتن ویجت کاستوم سرچ کردم
تینگزبورد یک صفحه آموزشی اختصاصی برای این کار داره.
ولی برای اپن ریموت چیزی پیدا نکردم!

شاید برای شما مفید باشد: ریموت هاپینگ چیست

ارزش شرکت‌ها

خوب مرحله بعدی بریم سراغ ارزش شرکت‌ها
از سایت Crunchbase برای بررسی استفاده کردم.
تینگزبورد توی رنکینگ شرکت‌ها رتبه صد و چهل هزار داره.
اوپن ریموت رتبه دویست و شصت و شش هزار داره. یعنی خیلی عقبه از تینگزبورد!
هر دو در ایالات متحده آمریکا هستن. اپن ریموت سال 2008 بنا نهاده شده
تینگزبورد سال 2016. در سال اخیر هم تینگزبورد بیشتر در اخبار و جراید دیده شده تا اپن ریموت!
هر دو رو با Java نوشتن، انتظار دیگه ای داشتم ولی خوب چه میشه کرد!
ظاهراً برای محصولای سازمانی Java بیشتر امتحان خودشو پس داده ?
پنلشونم با Angular زدند که اونم دشواری خاصی نداره توسعش.
جدای از این‌ها، قابلیت چندزبانه داره و از زبان فارسی هم پشتیبانی میکنه!
با اینکه کار با جاوا و فریم‌ورک اسپرینگ راحت نیست، من تلاشمو کردم و روی تینگزبورد یکی دو تا قابلیت کوچولو هم کدنویسی کردم و موفق شدم کامپایلش کنم و اجرا بگیرم ?
در آخر هم بگم که تینگزبورد به‌شدت fork شده. تعداد بسیار بالایی هم contributor داره. من که همون اول نحوه نصب اپن ریموت زد تو ذوقم. این موارد دیگه رو هم که دیدم، کلاً اپن ریموت رو بوسیدم گذاشتم کنار!
اگه پروژه‌ای برام پیش اومد انتخاب اولم تنیگزبورده

نظر شما چیه؟ شما از چه پلتفرمی برای داشبورد IoT استفاده میکنین؟
اگه این مقاله براتون جالب بود، لطفاً به اشتراک بذاریدش!
اگه در مورد موضوعی خواستید با من ارتباط بگیرید، میتونید از طریق اینستاگرام اقدام کنید: aliep_ir

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

6 دیدگاه در “داشبورد IoT رو با چی بزنم؟

  1. Avatar for سیاوش سیاوش گفت:

    من از ثینگزبورد استفاده کردم و واقعاً راضی هستم ازش. روی رازبری پای و سرور مجازی نصبش کردم و یکی دوتا سنسور بهش متصل کردم که راحت جواب داد. اما بزرگترین سوال و چالش من اینه که:
    در یک پروژه سنگین صنعتی با حداقل پانصد الی هزار سنسور که در لحظه در حال ارسال اطلاعات به سرور هستند، چه پیشنهاداتی برای راه اندازی سرور ثینگزبورد دارید؟(حداقل سخت افزار و پهنای باند و دیتابیس و …) چه بصورت لوکال، چه تحت اینترنت

  2. Avatar for امیرحسین امیرحسین گفت:

    من از NODE_RED در یک پروژه استفاده کردم که امکانات خوبی داشت و به راحتی روی لینوکس(که من از یک گوشی اندرویدی استفاده کردم) نصب شد. اما راهکار مناسبی برای مدیریت تعداد زیادی کاربر درش پیدا نکردم.

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      چرا سراغ سلوشن هایی مثل ThingsBoard نمیرید
      هم امکانات خوبی دارد و هم امکان مدیریت تعداد دستگاه زیاد

  3. Avatar for محمدرضا محمدرضا گفت:

    عالیه اما یه کم شروع به کار با تینگز بورد به نظرم سخت بود ولی ویجت های نمایشیش عالی بودن، من از Home Assistant (Hassio) استفاده کردم و خب یه سری خوبیا و یه سری بدیها داره نمیدونم توی این مجموعه ای که نوشتید جای میگیره یا نه.

  4. Avatar for Omid Azadeh Omid Azadeh گفت:

    خیلی عالیه …. یعنی با میکروکنترلر میتونیم دیتا بفرستیم به سرور این سایت و پیج خاصی …. اونم دیتای ما رو ذخیره میکنه و ما میتونیم ببینیم …فقط ارسال و دریافت دیتا به این سرور با چه پروتکلی هستش ؟

    1. Avatar for سیاوش سیاوش گفت:

      ثینگزبورد از HTTP و MQTT براحتی پشتیبانی می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *