img

عضویت در Ubidots برای تقویت برنامه‌ی اینترنت اشیاء

/
/
/

Ubidots نام بستری ابری است که برای میزبانیِ اینترنت اشیاء توسعه یافته و می‌تواند برنامه‌ی اینترنت اشیاء شما را دستخوش جهشی قابل توجه نماید. این بستر در شتاب دهنده‌ی نوپا(startup) ایجاد گردیده، و از بدو پیدایش تا کنون، نیرو‌بخش صدها برنامه‌ی اینترنت اشیاء در بخش‌های متنوعی چون بهداشت و سلامت، انرژی، و غیره در بیش از چهل کشور بوده است.

 

در این مقاله، ما نگاهی به بستر Ubidots خواهیم داشت، و فرآیند عضویت، دادن داده‌‌های گرفته شده توسط حسگر به بستر، و نحوه‌ی تجسم آنها را بررسی خواهیم کرد.

 

ویژگی‌ها
این بستر به صورت یک سرویس در دسترس می‌باشد و این ویژگی‌ها را در اختیار کاربران قرار می‌دهد:
* API برای دریافت داده‌ از هر دستگاهِ حسگری
* پشتیبانی از پروتکل‌های HTTP و MQTT برای دریافت داده
* برخورداری از داشبورد برای کمک به کاربر در جهت تجسم داده‌ی اینترنت اشیاء
* هشدار‌ برای کاربر یا برنامه‌ی شما مبتنی بر داده‌ی حسگر شما
* یکپارچه با بیش از ۲۰ دستگاه(Adafruit، Arduino، Particle، Tessel و سایرین) برای تسریع حرکت داده‌ی اینترنت اشیای شما به بستر Ubidots.
* امکان امتحان کردن بستر بصورت رایگان، چه برای آموزش چه برای مقاصد تجاری، و بهره مندی از طیف گسترده‌ی قیمت متناسب با نیاز شما

 

شروع
قدم نخستین در استفاده از بستر Ubidot، به عضویت درآمدن در این سرویس می‌باشد. ثبت نام رایگان بوده و برای شما ‘education plan’ یا طرح آموزشی را در اختیارتان می‌گذارد که برای برای شروع پروژه‌های کوچک یا برنامه‌های اثبات مفهوم کافی به نظر می‌رسد. صفحه‌ی ثبت نام در
https://app.ubidots.com/accounts/signup/
واقع می‌باشد و بعد از انجام ثبت نام، شما به صفحه اصلیِ Ubidots هدایت خواهید شد.اینجاست که متوجه خواهید شد، به شما به میزان ۵۰۰۰ تا اعتبار برای استفاده، تعلق گرفته است. ما از این صفحه‌ی اصلی با اسم وب پورتال، نام خواهیم برد.

به دست آوردن API Token سرویسِ Ubidots
یکی از اقدامات اولیه‌ی مهمی که بایستی انجام گیرد، یادداشت API token خودتان می‌باشد. API Token بعدا در امتداد مقاله جایی که ما از HTTP API به عنوان مکانیزم اصلی برای دادن داده‌ی حسگرمان به بستر Ubidots استفاده می‌کنیم لازم می‌شود. API Token با کلیک بر روی نام کاربریتان، در گوشه‌ی بالای سمت راست وب پورتال، و سپس با کلیک بر روی API Credentials در دسترس قرار می‌گیرد، همانگونه که در تصویر ۱ نمایش داده شده است.
بدین ترتیب شما به صفحه‌ای هدایت خواهید شد، که در آنجا API Key و یک API token پیش فرض قابل رویت می‌باشد. با دقت API token را یادداشت کرده و محفوظ بدارید. از حالا به بعد، ما به آنچه که شما یادداشت کرده‌اید، API_TOKEN، اطلاق می‌کنیم.

 

تنظیمِ دستگاه
اولین اقدامی که ما بایستی انجام دهیم، نصب یا تنظیم دستگاه، یا دستگاه‌هایمان در Ubidots می‌باشد. ‘Free Plan’ از ۲۰ دستگاه پشتیبانی می‌کند. این دستگاه‌ها را به عنوان دستگاه‌هایی که کارشان جمع ‌آوریِ داده‌های حسگری مانند دما می‌باشد، در نظر بگیرید. خب، فرض کنیم که دستگاهی به نام D1 در اختیار داریم که، از آن قادر به گرفتن داده‌ی دما توسط یک حسگر دمای استاندارد می‌باشیم. شما می‌توانید صاحب ۲۰ دستگاه، که به طور مستقل پیکربندی شده‌اند باشید، که به شما در فیلتر کردن، ردیابی و اندازه‌گیریِ داده‌ای که از چندین دستگاه دریافت می‌شود کمک می‌کنند. این داده‌ها با توجه به label دستگاه شناخته می‌شوند.
بسیار عالی، ادامه می‌دهیم و دستگاهی به نام D1 را نصب می‌نماییم. از گام‌های پیش رویتان پیروی کنید.
۱- از وب پورتال، به لینک Devices که در بالای صفحه قرار دارد بروید. به طور پیش فرض، هنگامی که به صفحه‌ی Device بروید، به شما نشان داده خواهد شد که دستگاه پیش فرض از قبل پیکربندی شده است. پیشنهاد می‌دهم که آن را حذف کرده، تا همانند تصویر ۲، با لوحی پاک کارمان را آغاز کنیم.
۲- بر روی آیکون Add Device کلیک کنید. همانند تصویر ۳، دستگاه را D1 نامگذاری کنید.
۳- بر روی دستگاه D1 کلیک کنید. این کار شما را همانند تصویر ۴، به صفحه‌ای پرجزییات هدایت می‌کند.
۴- اکنون ما بایستی یک متغییر را اضافه کنیم. این متغییر می‌تواند داده‌ی حسگری باشد که قصد دنبال کردن آن را داریم – برای مثال، این داده می‌تواند دما باشد. ما قادر به گرفتن بیش از یک متغیر یا داده‌ی حسگریِ برآمده از یک دستگاه می‌باشیم. بر روی آیکون Add Variable همانند تصویر ۴ کلیک کنید. Default را انتخاب نموده و سپس متغیر را همانند تصویر ۵، Temperature نامگذاری کنید.
ما با موفقیت دستگاهی به نام D1 را ایجاد نمودیم که برایمان مقدارهای دما را فراهم می‌کند، که ما آنها را توسط متغییر temperature، که آنها را قبلا ساخته و به دستگاه مربوط کرده بودیم، دنبال خواهیم کرد. اکنون اجازه دهید به بررسیِ نحوه‌ی دادن این مقدار‌ها به سیستم بپردازیم.

 

HTTP API
Ubidots از هر دو پروتکل‌های HTTP و MQTT به عنوان راه‌هایی برای رساندن داده به سیستم پشتیبانی می‌کند. در این مقاله، ما بر روی HTTP API تمرکز خواهیم نمود، و چگونگیِ رساندن داده به برنامه ساخته خودمان را نمایش خواهیم داد. در نمونه‌ی ما، فرض خواهیم کرد که داده‌ی حسگری، توسط دستگاه D1 تولید شده است و این داده‌ها دماهای ثبت شده می‌باشند.

نقطه‌ی اتصال API از
http://things.udidots.com/api/v1.6/
قابل دسترس می‌باشد و ما بایستی از API_TOKEN در کنار متغیر دستگاهمان برای ارسال داده به سیستم استفاده کنیم.
برای ارسال مقدارها به سیستم برای دستگاه و متغیر خاصی، ما بایستی HTTP POST را برای HTTPs URL انجام دهیم، که فرمت آن در
http://things.udidots.com/api/v1.6/devices/{LABEL_DEVICE}/{VARIABLE_LABEL}/values
داده شده است. بنابراین برای دستگاه D1، {LABEL_DEVICE} مقدار ‘D1’ را خواهد داشت و برای {VARIABLE_LABEL}، ما بایستی از مقدار ‘temperature’ استفاده کنیم. به علاوه، ما باید مقدار API_TOKEN را به URL به عنوان پارامتر درخواست پیوست کنیم.
متغیر استفاده شده برای API_TOKEN، token می‌باشد.

 

نمونه‌ای از یک درخواست
برای مثال، اگر بخواهیم که مقدار ۲۹٫۵ را به عنوان دما برای دستگاه D1 ارسال کنیم، نیاز است که یک HTTP POST را به ترتیب:

http://things.ubidots.com/api/v1.6/devices/D1/temperature/values/?token =API_TOKEN

با کد POST به صورت:

{“value”: “۲۹٫۵”}

را انجام دهیم.
ما همچنین می‌توانیم متغییرهای context و timestamp را نیز ارائه دهیم، که البته دلخواه می‌باشند اما در امر ردیابی مکان دستگاه و زمان ثبت داده می‌توانند سودمند واقع شوند. بنا بر آنچه گفته شد، داده ای که داخل درخواست HTTP POST فرستاده می‌شود، به این شکل می‌باشد:

{“value”:۲۹٫۵”, “timestamp”:۱۴۶۴۶۶۱۳۶۹۰۰۰, “context”:{“lat”:۱۹٫۰۷, “lon”:۷۲٫۸۷}}.

هنگامی که شما context را ارسال می‌دارید، داشبورد Ubidots که پیش از این با آن آشنا شدیم، آن را به عنوان GeoPoint خواهد شناخت و آن را بر روی نقشه ترسیم خواهد کرد.

 

نمونه ای از نقل و انتقال‌ها
ما از می‌توانیم از ابزار curl برای انجام چند نمونه‌ی درخواست‌ِ HTTP POST برای نقطه‌ی اتصالمان استفاده کنیم، تا بدانیم که چگونه بایستی داده را در داشبورد Ubidots مجسم نماییم.
اینجا شاهد یک درخواست نمونه‌ی ،curl برای داخل کردنِ داده‌ی حسگر دما، که از دستگاه D1 خوانده شده است می‌باشید:

$ curl -X POST -H “Content-Type:
Application/json” -d ‘{“value”:۲۹٫۷,
“context
“:{“lat”:۱۹٫۰۷, “lng”:۷۲٫۸۷},
“timestamp”:۱۴۹۳۸۱۷۱۲۰}’ http://things.
Ubidots.com/api/v1.6/devices/D1/
Temperature/values?token=
U31s5yB1GaknD64w0JsKWYEcje9nv
{“url”: “http://things.ubidots.com/
api/v1.6/values/5909899e7625421b6
۸f86883”, “value”: ۲۹٫۷, “timestamp”:
۱۴۹۳۸۱۷۱۲۰, “context”: {“lat”: ۱۹٫۰۷,
“lng”: ۷۲٫۸۷}, “created_at”: “۲۰۱۷-۰۵-
۰۳T07:41:18.226”}

به طرزی مشابه، تعداد بیشتری مقدار را با تاریخ‌ها و دماهای متفاوت ایجاد کنید، تا داده‌های دریافتی توسط حسگر را برای خود شبیه سازی کرده باشید.
اگر شما به وب پورتال مراجعه کرده و بر روی Devices کلیک کنید، ملاحظه خواهید کرد که همانند تصویر ۶، مقدار ثبت گردیده است.
شما حتی قادر به کلیک بر روی متغیر، یعنی دما می‌باشید، تا بتوانید جزئیات را به صورت گراف مشاهده نمایید.(تصویر ۷)

 

داشبورد
داشبورد Ubidots به شما امکان ایجاد داشبوردهایی برای اضافه کردن ویجیت‌های گرافیکی و تجسم داده‌های حسگریِ گرفته شده از دستگاه‌های گوناگون را می‌دهد. برای ایجاد یک داشبورد، می‌توانید به وب پورتال مراجعه کرده و بر روی Dashboard کلیک کنید. به سادگی می‌توانید یک داشبورد جدید اضافه کنید، نوع چارت را از میان انواع بسیاری انتخاب کرده(برای مثال LineChart)، سپس دستگاه و متغیر را انتخاب کنید. در نمونه‌ی ما، دستگاه D1، و متغیر Temperature نام دارد. هنگامی که دستگاه مورد نظر را اضافه نمودید، آن را همانند تصویر ۸ ملاحظه خواهید کرد.

 

رویدادها
از جمله قابلیت‌‌های قدرتمندِ بسترِ Ubidots، امکان تعیین هشدار برای داده‌های حسگری می‌باشد. برای مثال ما می‌توانیم در صورت بالاتر رفتن دما از ۳۰ درجه سانتی‌گراد، اخطاری را بروز دهیم. اگر چنانچه این موقعیت رخ دهد، ما می‌توانیم اخطار را توسط ای‌میل یا پیامک ارسال و یک webhook را فرا بخوانیم.
برای پیکربندیِ یک رویداد، شما با مراجعه به وب پورتال و کلیک بر روی Events، می‌توانید یک رویداد را ایجاد کنید. سپس یک رویداد جدید جدید را بیافزایید، دستگاه و متغیر را انتخاب کنید، و موقعیت را همانند تصویر ۹ تعریف نمایید. برای مثال، ما متغییر دما را برای دستگاه D1 انتخاب کرده‌ایم و موقعیت را برای بیش از ۳۰ درجه سانتی گراد تنظیم کرده‌ایم. پیکربندیِ مصور در تصویر ۹ مشهود می‌باشد.
بر روی Continue کلیک کنید، و از شما درباره‌ی انتخاب واسطه‌ی ارسال اخطار پرسش خواهد شد. لیست گزینه‌های ارسال در تصویر ۱۰ مشخص گردیده است.
بر روی Finish کلیک کنید تا رویداد ایجاد گردد، اخطار در برابر هر دمایی از جانب دستگاه D1 که بیش از ۳۰ درجه باشد، به صدا در خواهد آمد.

کتابخانه‌های گیرنده
شما می‌توانید درخواست‌های API برای فرستادن داده به سیستم را که توسط بسیاری از کتابخانه‌های گیرنده(client) در Ubidots فراهم شده‌اند یکپارچه کنید. کتابخانه‌های گیرنده برای زبان‌های معروفی چون python، Java، Node.js، Ruby، Android و سایرین، در دسترس می‌باشند. این امکان وظیفه‌ی جمع آوریِ هر گونه داده‌ی حسگری از یک برنامه را بی دردسر می‌سازد، و زحمت سر و کار داشتنِ مستقیم با اجرای درخواست/پاسخ HTTP را در کدنویسیِ شما از بین می‌برد.
متود‌های API تنها برای ذخیره‌ی مقدارها نمی باشند و برای ایجاد منبع‌های داده(دستگاه‌ها)، ساخت متغیرها، گرفتن مقدار متغیرها و وارد کردنِ توده‌وار مقدار متغیرها نیز کاربرد دارد. نمونه‌ی کدی به زبان python، برای دادن مقدارها به سیستم را در زیر شاهد هستید:

from ubidots import ApiClient

api = ApiClient(token=’<API_TOKEN>’)

# Get Temperature Variable
my_variable = api.get_
variable(‘<VARIABLE_ID’)

# Save Temperature Variable
new_value = my_variable.save_
Value({‘value’: ۲۹٫۵})

 

قیمت‌های Ubidots
Ubidots از قیمت‌های متوع برخوردار است. دو طرح در اختیار کاربران قرار دارد: آموزشی و تجاری. طرح آموزشی رایگان بوده و اجازه‌ی اتصال حداکثر ۲۰ دستگاه را می‌دهد. نگهداشت داده به مدت ۳۰ روز بوده، و حداکثر نرخ رساندن داده ۶۰ عدد در دقیقه می‌باشد. این میزان از امکانات برای افرادی که تازه وارد هستند مناسب به نظر می‌رسد. طرح تجاری دستگاه‌های بیشتری را پشتیبانی کرده، نرخ رساندن داده‌ی دلخواه کاربر را دارد و از مدیریت فرآیند تجاری(management suite) بهره‌مند می‌باشد. اطلاع از قیمت‌ها با گرفتن تماس امکان پذیر است. برای آگاهی از تفاوت‌های میان طرح‌های آموزشی و تجاری شما می‌توانید به صفحه‌ی قیمت‌گذاری مراجعه کنید.
Ubidots بسترِ میزبانی شده‌ی قدرتمندی برای اینترنت اشیاء بوده، که امکانات خوبی برای رساندن داده(ingest)، پردازش و تجسم داده‌های برنامه‌های اینترنت اشیاء را ارائه می‌دهد. شروع با آن آسان است، REST API‌های ساده‌ای را برای تجزیه‌ی زیرساخت حسگر به شما تقدیم می‌کند، و شما را قادر می‌سازد که بر روی رساندن داده به سیستم تمرکز کنید، جایی که شما قرار است داده را برای قلرو بالاتری از کاربردها تغییر فرم بدهید. این بستر برای جامه‌ی عمل پوشانیدن به برنامه‌های اثبات مفهوم اینترنت اشیاءِ شما فوق العاده بوده، و به شما امکان دسترسی به مخاطب بیشتر را می‌بخشد.

نظر بدهید

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

It is main inner container footer text