مرجع API دستگاه CoAP

شروع به کار

مبانی CoAP

CoAP یک پروتکل سبک‌وزن اینترنت اشیا (IoT) است که برای دستگاه‌های محدود طراحی شده است. می‌توانید اطلاعات بیشتری درباره CoAP [اینجا](لینک به منبع) پیدا کنید. پروتکل CoAP مبتنی بر UDP است اما مشابه HTTP از مدل درخواست-پاسخ استفاده می‌کند. گزینه Observe در CoAP امکان اشتراک‌گذاری منابع و دریافت اعلان‌ها در صورت تغییر منابع را فراهم می‌کند.

گره‌های سرور ThingsBoard به‌عنوان یک سرور CoAP عمل می‌کنند که از درخواست‌های عادی و همچنین درخواست‌های Observe پشتیبانی می‌کند.

راه‌اندازی کتابخانه‌های کلاینت

می‌توانید کتابخانه‌های کلاینت CoAP را برای زبان‌های برنامه‌نویسی مختلف در اینترنت پیدا کنید. مثال‌های این مقاله بر اساس ابزار CoAP CLI ارائه شده‌اند. برای نصب این ابزار در سیستم‌عامل‌های لینوکس یا macOS می‌توانید از دستور زیر استفاده کنید:

				
					npm install coap-cli -g
				
			

توجه:

ابزار CoAP CLI از پارامترهای پرس‌وجو (Query Parameters) پشتیبانی نمی‌کند. اگر نیاز به استفاده از پارامترهای پرس‌وجو دارید، باید از ابزار coap-client استفاده کنید. برای نصب coap-client، دستور زیر را اجرا کنید:

  • Ubuntu 20.04: sudo apt install libcoap2-bin
  • Ubuntu 18.04: sudo apt install libcoap1-bin

احراز هویت CoAP و کدهای خطا

در این مقاله، از اعتبارنامه‌های توکن دسترسی (Access Token) دستگاه استفاده می‌کنیم که به آن‌ها به‌عنوان $ACCESS_TOKEN اشاره خواهد شد. برنامه باید $ACCESS_TOKEN را به‌عنوان یک پارامتر مسیر (Path Parameter) در هر درخواست CoAP وارد کند.

کدهای خطای ممکن و دلایل آن‌ها:

  • 4.00 Bad Request - آدرس URL، پارامترهای درخواست یا محتوای درخواست نامعتبر است.
  • 4.01 Unauthorized - $ACCESS_TOKEN نامعتبر است.
  • 4.04 Not Found - منبع موردنظر یافت نشد.

گزینه جایگزین برای احراز هویت استفاده از گواهینامه‌های X.509 است.

فرمت کلید-مقدار

به‌صورت پیش‌فرض، ThingsConnect از محتوای کلید-مقدار در قالب JSON پشتیبانی می‌کند. کلید همیشه یک رشته (String) است، درحالی‌که مقدار می‌تواند یکی از انواع زیر باشد: رشته (String)، بولین (Boolean)، عدد اعشاری (Double)، عدد صحیح بلند (Long) یا JSON.

به‌عنوان مثال:

				
					{
 "stringKey":"value1", 
 "booleanKey":true, 
 "doubleKey":42.0, 
 "longKey":73, 
 "jsonKey": {
    "someNumber": 42,
    "someArray": [1,2,3],
    "someNestedObject": {"key": "value"}
 }

				
			

بااین‌حال، ارسال داده‌ها از طریق Protocol Buffers نیز امکان‌پذیر است. برای جزئیات بیشتر، به بخش تنظیمات نوع انتقال CoAP در مقاله پروفایل دستگاه مراجعه کنید.

استفاده از فرمت باینری سفارشی یا چارچوب‌های سریال‌سازی نیز ممکن است. برای اطلاعات بیشتر به بخش سفارشی‌سازی پروتکل مراجعه کنید.

API بارگذاری اطلاعات تلماتیک

برای ارسال داده‌های تلماتیک به گره سرور ThingsConnect، باید درخواست POST ارسال کنید.

ابتدا روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/telemetry
				
			

که در آن $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است.

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/telemetry
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/telemetry
				
			

ساد‌ه‌ترین فرمت‌های داده پشتیبانی‌شده عبارتند از:

				
					{"key1":"value1", "key2":"value2"}

				
			

یا

				
					[{"key1":"value1"}, {"key2":"value2"}]

				
			

لطفاً توجه داشته باشید

که در این صورت، تایم‌استمپ سمت سرور به داده‌های بارگذاری‌شده اختصاص خواهد یافت!

در صورتی که دستگاه شما قادر به دریافت تایم‌استمپ سمت کلاینت باشد، می‌توانید از فرمت زیر استفاده کنید:

				
					{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}
				
			

که در آن 1451649600512 یک تایم‌استمپ یونیکس با دقت میلی‌ثانیه است. به‌عنوان مثال، مقدار «1451649600512» معادل «Fri, 01 Jan 2016 12:00:00.512 GMT» است.

در زیر مثال‌هایی از دستورات برای انتشار انواع مختلف داده‌های تلماتیک آورده شده است.

فراموش نکنید که demo.thingsboard.io را با میزبان خود و $ACCESS_TOKEN را با توکن دسترسی دستگاه خود جایگزین کنید. در این مثال، نام میزبان به سرور دمو زنده اشاره دارد.

مثال 1: انتشار داده‌ها به‌صورت یک شیء بدون تایم‌استمپ (تایم‌استمپ سمت سرور استفاده خواهد شد) با استفاده از داده‌های موجود در فایل telemetry-data-as-object.json.

دستور را اجرا کنید:

				
					cat telemetry-data-as-object.json | coap post coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/telemetry
				
			

محتوای فایل JSON به‌صورت زیر است:

				
					{
  "stringKey": "value1",
  "booleanKey": true,
  "doubleKey": 42.0,
  "longKey": 73,
  "jsonKey": {
    "someNumber": 42,
    "someArray": [1,2,3],
    "someNestedObject": {"key": "value"}
  }
}
				
			

مثال 2: انتشار داده‌ها به‌صورت یک آرایه از اشیاء بدون تایم‌استمپ (تایم‌استمپ سمت سرور استفاده خواهد شد) با استفاده از داده‌های موجود در فایل telemetry-data-as-array.json.

دستور را اجرا کنید:

				
					cat telemetry-data-as-array.json | coap post coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/telemetry
				
			

محتوای فایل JSON به صورت زیر است:

				
					[{"key1":"value1"}, {"key2":true}]
				
			

مثال 3: انتشار داده‌ها به‌صورت یک شیء با تایم‌استمپ (تایم‌استمپ تلماتیک استفاده خواهد شد) با استفاده از داده‌های موجود در فایل telemetry-data-with-ts.json.

دستور را اجرا کنید:

				
					cat telemetry-data-with-ts.json | coap post coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/telemetry
				
			

محتوای فایل JSON به‌صورت زیر است:

				
					{
  "ts": 1451649600512,
  "values": {
    "stringKey": "value1",
    "booleanKey": true,
    "doubleKey": 42.0,
    "longKey": 73,
    "jsonKey": {
      "someNumber": 42,
      "someArray": [1, 2, 3],
      "someNestedObject": {
        "key": "value"
      }
    }
  }
}
				
			

API ویژگی‌ها

API ویژگی‌های ThingsBoard به دستگاه‌ها این امکان را می‌دهد که:

  • ویژگی‌های دستگاه سمت کلاینت را به سرور بارگذاری کنند.
  • ویژگی‌های دستگاه سمت کلاینت و ویژگی‌های مشترک دستگاه‌ها را از سرور درخواست کنند.
  • به ویژگی‌های مشترک دستگاه‌ها از سرور اشتراک‌گذاری کنند.

انتشار به‌روزرسانی ویژگی‌ها به سرور

برای انتشار ویژگی‌های دستگاه سمت کلاینت به گره سرور ThingsBoard، باید درخواست POST ارسال کنید.

ابتدا روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/attributes
				
			

که در آن $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است.

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به صورت زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/attributes
				
			

انتشار به‌روزرسانی ویژگی‌های سمت کلاینت با استفاده از داده‌های موجود در فایل new-attributes-values.json.

محتوای فایل new-attributes-values.json به‌صورت زیر است:

				
					{
  "attribute1": "value1",
  "attribute2": true,
  "attribute3": 42.0,
  "attribute4": 73,
  "attribute5": {
    "someNumber": 42,
    "someArray": [1,2,3],
    "someNestedObject": {"key": "value"}
  }
}
				
			

دستور را اجرا کنید:

				
					cat new-attributes-values.json | coap post coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes
				
			

درخواست مقادیر ویژگی‌ها از سرور

برای درخواست ویژگی‌های دستگاه سمت کلاینت یا ویژگی‌های مشترک دستگاه‌ها از گره سرور ThingsBoard، باید درخواست GET ارسال کنید.

ابتدا روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2
				
			

که در آن $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2
				
			

توجه:

این مثال با استفاده از coap-client نشان داده شده است به‌جای CoAP cli، زیرا CoAP cli از پارامترهای پرس‌وجو پشتیبانی نمی‌کند. لطفاً به بخش راه‌اندازی کتابخانه‌های کلاینت مراجعه کنید.

دستور را اجرا کنید:

				
					coap-client -m get "coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2"
				
			

نتیجه:

				
					{"client":{"attribute1":"value1","attribute2":true}}
				
			

لطفاً توجه داشته باشید

تقاطع کلیدهای ویژگی‌های سمت کلاینت و ویژگی‌های مشترک دستگاه‌ها یک روش مناسب نیست! با این حال، هنوز ممکن است که از کلیدهای یکسان برای ویژگی‌های سمت کلاینت، ویژگی‌های مشترک یا حتی ویژگی‌های سمت سرور استفاده شود.

اشتراک‌گذاری به‌روزرسانی‌های ویژگی‌ها از سرور

برای اشتراک‌گذاری تغییرات ویژگی‌های مشترک دستگاه‌ها، باید درخواست GET با گزینه Observe ارسال کنید.

ابتدا روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/telemetry
				
			

که در آن $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/attributes
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/attributes
				
			

زمانی که ویژگی مشترک توسط یکی از اجزای سمت سرور (API REST یا Rule Chain) تغییر یابد، کلاینت به‌روزرسانی زیر را دریافت خواهد کرد:

دستور را اجرا کنید:

				
					coap get -o coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/attributes
				
			

نتیجه:

				
					{"client":{"attribute1":"value1","attribute2":true}}
				
			

پشتیبانی از مقادیر JSON

ما پشتیبانی از ساختارهای داده JSON را به API تلماتیک و ویژگی‌ها اضافه کرده‌ایم تا کار با پیکربندی دستگاه‌ها را ساده‌تر کنیم. پشتیبانی از JSON به شما این امکان را می‌دهد که هم از دستگاه بارگذاری کنید و هم اشیاء تو در تو را به دستگاه ارسال کنید. شما می‌توانید یک پیکربندی JSON را به‌عنوان یک ویژگی مشترک ذخیره کرده و آن را به دستگاه ارسال کنید. همچنین می‌توانید داده‌های JSON را در موتور قوانین پردازش کرده و هشدارها را فعال کنید و غیره.

بنابراین، این بهبود تعداد عملیات پایگاه داده را زمانی که ThingsBoard داده‌ها را ذخیره می‌کند، کاهش می‌دهد. به‌عنوان مثال، «دما» و «رطوبت» به‌عنوان سطرهای جداگانه در پایگاه‌های داده SQL یا NoSQL ذخیره می‌شوند تا این داده‌ها را به‌طور مؤثر برای تجسم جمع‌آوری کنند. از آنجا که نیازی به جمع‌آوری داده‌های JSON نیست، می‌توانیم تمام محتویات را به‌عنوان یک سطر ذخیره کنیم به‌جای اینکه سطرهای جداگانه برای هر مورد پیکربندی ایجاد کنیم. در برخی از محیط‌های ما، امکان کاهش تعداد عملیات پایگاه داده بیش از 10 برابر با تجمیع چندین پارامتر در یک JSON وجود دارد.

برای اطلاعات بیشتر در مورد پشتیبانی از مقادیر JSON، ویدیو را مشاهده کنید.

API RPC

RPC سمت سرور

برای اشتراک‌گذاری دستورات RPC از سمت سرور، باید درخواست GET با پرچم observe ارسال کنید.

ابتدا روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/rpc
				
			

که در آن $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/rpc
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/rpc
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/rpc
				
			

پس از اشتراک‌گذاری، یک کلاینت ممکن است درخواست‌های RPC دریافت کند. یک مثال از بدنه درخواست RPC در زیر نشان داده شده است:

				
					{
  "id": "1",
  "method": "setGpio",
  "params": {
    "pin": "23",
    "value": 1
  }
}

				
			

که در آن:

  • id - شناسه درخواست، شناسه عددی درخواست؛
  • method - نام متد RPC، رشته؛
  • params - پارامترهای متد RPC، شیء JSON سفارشی.

و می‌توان به آن‌ها با ارسال درخواست POST به آدرس زیر پاسخ داد:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/rpc/{$id}
				
			

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/rpc/{$id}
				
			

که در آن $id شناسه عددی درخواست است.

بیایید یک مثال را بررسی کنیم:

  • از RPC debug terminal widget در نمونه ThingsBoard خود استفاده کنید.
  • برای اشتراک‌گذاری دستورات RPC از سرور، از دستور زیر استفاده کنید. برای انجام این کار، در پنجره اول ترمینال درخواست GET با پرچم observe ارسال کنید. فراموش نکنید که $THINGSBOARD_HOST_NAME را با نام میزبان خود جایگزین کنید:
				
					coap-client -m get coap://$THINGSBOARD_HOST_NAME/api/v1/rpc -s 100 -B 100
				
			

گزینه “s” به معنای اشتراک‌گذاری (subscribe) است و مقدار آن باید به ثانیه مشخص شود.

گزینه “B” به معنای قطع (break) است (عملیات پس از مدت زمان مورد نظر قطع خواهد شد) و مقدار آن باید به ثانیه مشخص شود.

  • درخواست RPC با نام "connect" را به دستگاه از طریق ویجت RPC debug terminal ارسال کنید؛
  • فایل rpc-response.json را به رایانه خود ذخیره کنید؛
  • در پنجره دوم ترمینال، ارسال پاسخ از دستگاه به سرور را شبیه‌سازی کنید:
				
					coap-client -f rpc-response.json -m post coap://$THINGSBOARD_HOST_NAME/api/v1/rpc/1
				
			

شما باید یک پاسخ از دستگاه دریافت کنید:

				
					{"result":"ok"}
				
			

RPC سمت کلاینت

برای ارسال دستورات RPC به سرور، درخواست POST ارسال کنید.

ابتدا، روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/rpc
				
			

که در آن $THINGSBOARD_HOST_NAME میزبان محلی شما یا آدرس پلتفرم است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/rpc
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/rpc
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

که در آن:

				
					coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/rpc
				
			

بدن درخواست و پاسخ هر دو باید اسناد JSON معتبر باشند. محتوای این اسناد به گره قانون (rule node) که درخواست شما را پردازش می‌کند، بستگی دارد.

بیایید به یک مثال نگاه کنیم:

  • دو گره به زنجیره قوانین (Rule Chain) اضافه کنید: "script" و "rpc call reply"؛
  • در گره script، تابع زیر را وارد کنید:
				
					return {msg: {time:String(new Date())}, metadata: metadata, msgType: msgType};
				
			
  • فایل rpc-client-request.json را به رایانه خود ذخیره کنید؛
  • حال، درخواست را با استفاده از دستور زیر به سرور ارسال کنید. فراموش نکنید که $THINGSBOARD_HOST_NAME را با میزبان خود جایگزین کنید:
				
					cat rpc-client-request.json | coap post coap://$THINGSBOARD_HOST_NAME/api/v1/rpc
				
			

شما باید یک پاسخ از سرور دریافت کنید:

				
					{"time":"2016 11 21 12:54:44.287"}
				
			

ادعای دستگاه‌ها

لطفاً مقاله مربوطه را برای اطلاعات بیشتر در مورد ویژگی Claiming devices مشاهده کنید.

برای شروع فرایند ادعای دستگاه، درخواست POST ارسال کنید.

ابتدا، روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/claim
				
			

جایی که $THINGSBOARD_HOST_NAME می‌تواند میزبان محلی شما یا آدرس پلتفرم باشد.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/claim
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/claim
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME نام میزبان محلی (localhost) یا آدرس پلتفرم شما است؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/claim
				
			

فرمت داده پشتیبانی شده به شکل زیر است:

				
					The supported data format is:
				
			

لطفاً توجه داشته باشید

که فیلدهای بالا اختیاری هستند. در صورتی که secretKey مشخص نشده باشد، به‌طور پیش‌فرض از رشته خالی استفاده می‌شود. همچنین، در صورتی که durationMs مشخص نشده باشد، پارامتر سیستم device.claim.duration از فایل /etc/thingsboard/conf/thingsboard.yml استفاده می‌شود.

تأمین دستگاه

لطفاً برای اطلاعات بیشتر در مورد ویژگی تأمین دستگاه به مقاله مربوطه مراجعه کنید.

برای شروع فرآیند تأمین دستگاه، باید درخواست POST را به آدرس زیر ارسال کنید:

				
					coap://$THINGSBOARD_HOST_NAME/api/v1/provision
				
			

جایی که $THINGSBOARD_HOST_NAME می‌تواند آدرس لوکال هاست شما یا آدرس پلتفرم باشد.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap://demo.thingsboard.io/api/v1/provision
				
			

فرمت داده پشتیبانی شده به شرح زیر است:

				
					{
  "deviceName": "DEVICE_NAME",
  "provisionDeviceKey": "u7piawkboq8v32dmcmpp",
  "provisionDeviceSecret": "jpmwdn8ptlswmf4m29bw"
}
				
			

API فریمور

روش احراز هویت را انتخاب کنید:

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap get coap://$THINGSBOARD_HOST_NAME/api/v1/firmware?title=$TITLE&version=$VERSION
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME آدرس لوکال هاست یا پلتفرم شماست؛
  • $TITLE عنوان فریمور است؛
  • $VERSION نسخه فریمور هدف است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap get coap://demo.thingsboard.io/api/v1/firmware?title=$TITLE&version=$VERSION
				
			

درخواست POST را به آدرس زیر ارسال کنید:

				
					coap get coap://$THINGSBOARD_HOST_NAME/api/v1/$ACCESS_TOKEN/firmware?title=$TITLE&version=$VERSION
				
			

که در آن:

  • $THINGSBOARD_HOST_NAME آدرس لوکال هاست یا پلتفرم شماست؛
  • $ACCESS_TOKEN توکن دسترسی دستگاه است؛
  • $TITLE عنوان فریمور است؛
  • $VERSION نسخه فریمور هدف است.

اگر از سرور دمو زنده استفاده می‌کنید، دستور به شکل زیر خواهد بود:

				
					coap get coap://demo.thingsboard.io/api/v1/$ACCESS_TOKEN/firmware?title=$TITLE&version=$VERSION
				
			

سفارشی‌سازی پروتکل

انتقال CoAP می‌تواند برای استفاده خاص به طور کامل با تغییر ماژول مربوطه سفارشی شود.

مراحل بعدی

  • راهنمای شروع سریع - این راهنماها نمای کلی از ویژگی‌های اصلی ThingsBoard ارائه می‌دهند و برای تکمیل آن‌ها 15-30 دقیقه زمان لازم است.
  • تصویربرداری داده‌ها - این راهنماها دستورالعمل‌هایی برای پیکربندی داشبوردهای پیچیده ThingsBoard ارائه می‌دهند.
  • پردازش داده‌ها و اقدامات - یاد بگیرید چگونه از موتور قوانین ThingsBoard استفاده کنید.
  • تحلیل داده‌های IoT - یاد بگیرید چگونه از موتور قوانین برای انجام وظایف تحلیلی پایه استفاده کنید.
  • نمونه‌های سخت‌افزاری - یاد بگیرید چگونه پلتفرم‌های سخت‌افزاری مختلف را به ThingsBoard متصل کنید.
  • ویژگی‌های پیشرفته - درباره ویژگی‌های پیشرفته ThingsBoard بیاموزید.
  • مشارکت و توسعه - درباره مشارکت و توسعه در ThingsBoard یاد بگیرید.

عناوین هر بخش