Setelah menentukan model TSL untuk suatu Produk, perangkat harus menggunakan format Alink JSON untuk melaporkan properti dan event. Sisi server juga menggunakan format Alink JSON untuk mengatur properti dan memanggil layanan. Jika perangkat menggunakan format kustom, konfigurasikan skrip penguraian data untuk mengonversinya.
Informasi latar belakang
Format data model TSL (properti, event, dan layanan) didefinisikan dalam Apa itu model TSL?.
Perangkat dapat melaporkan data dalam format standar Alink JSON (disarankan) atau dalam mode pass-through/kustom. Anda harus memilih salah satu metode ini.
-
Format data standar (Alink JSON): Perangkat menghasilkan dan melaporkan data dalam format Alink JSON yang ditentukan oleh Platform IoT. Lihat contoh format pada bagian berikut.
-
Pass-through/kustom: Perangkat melaporkan data mentah, seperti aliran data biner. Alibaba Cloud IoT Platform menjalankan skrip penguraian data yang Anda unggah di Konsol untuk mengonversi data mentah tersebut ke dalam format data standar sebelum diproses. Cloud mengembalikan data dalam format standar Alink JSON. Tanggapan tersebut kemudian diurai dan didorong ke perangkat.

-
Jika properti model TSL didefinisikan sebagai float atau double, nilai yang dilaporkan harus mencantumkan setidaknya satu tempat desimal (misalnya, 10,0, bukan 10).
-
Perangkat hanya dapat melaporkan data properti dan event dengan nilai time dalam rentang 24 jam ke depan. Laporan di luar rentang ini akan gagal.
-
ID pesan (id) harus unik per perangkat per hari, baik untuk pesan uplink maupun downlink.
Untuk pesan downlink, Platform IoT menggunakan id untuk mencocokkan tanggapan perangkat terhadap pesan asinkron dan memastikan keunikannya. Untuk pesan uplink, perangkat harus memastikan keunikan id.
Perangkat melaporkan properti
Diagram pelaporan properti perangkat dalam protokol Alink menggambarkan alur pelaporan properti.
Topik dan format data (mobile originated):
-
Pass-through/kustom
Topik
Format data
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/model/up_rawData permintaan adalah pesan mentah yang dilaporkan oleh perangkat.
Catatan-
Data yang ditransmisikan dalam mode pass-through melalui protokol Message Queuing Telemetry Transport (MQTT) berada dalam format heksadesimal.
-
Data pass-through yang diunggah harus mencakup parameter method, yang nilainya harus sesuai dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, dalam contoh skrip JavaScript, nilai
ALINK_PROP_REPORT_METHODadalahthing.event.property.postketika perangkat mengunggah data properti ke cloud.
Contoh:
0x00002233441232013fa00000Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/model/up_raw_replyCloud mengembalikan data dalam format berikut:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 6813, "data": {}, "id": "123", "message": "topic illegal", "version": "1.0" }
-
-
Alink JSON
Topik
Format data
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/property/postFormat data permintaan:
{ "id": "123", "version": "1.0", "sys":{ "ack":0 }, "params": { "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } }, "method": "thing.event.property.post" }Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/property/post_replyCloud mengembalikan data dalam format berikut:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "method": "thing.event.property.post", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 6813, "data": {}, "id": "123", "message": "The format of result is error!", "method": "thing.event.property.post", "version": "1.0" }
-
Deskripsi parameter:
|
Parameter |
Type |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
sys |
Object |
Parameter fitur tambahan. Catatan
Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku. |
|
ack |
Integer |
Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.
Penting
Contoh penggunaan model Thing Specification Language. Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default. |
|
method |
String |
Metode permintaan. Contohnya: |
|
params |
Object |
Data properti yang dilaporkan. Dalam contoh ini, perangkat melaporkan properti Power (catu daya) dan WF (arus operasi), masing-masing dengan nilai dan stempel waktu opsional. Jika Anda hanya mengirimkan nilai properti, Anda tidak perlu mengunggah bidang time dan value. Berikut adalah contoh parameter params:
Jika merupakan properti modul kustom, format identifikatornya adalah
|
|
time |
Long |
Stempel waktu UNIX saat properti dilaporkan, dalam milidetik UTC. Opsional. Sertakan stempel waktu jika urutan pesan penting.
|
|
value |
Object |
Nilai properti yang dilaporkan. Jika Anda tidak menyertakan time, Anda dapat menghilangkan value dan langsung melaporkan nilai parameternya. |
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. Catatan
Platform IoT memvalidasi properti yang dilaporkan terhadap definisi model TSL Produk. Properti yang gagal divalidasi akan difilter dan kode kesalahan dikembalikan. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
method |
String |
Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Properti yang dilaporkan dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan properti perangkat.
Mengatur properti perangkat
Panggil operasi API SetDeviceProperty atau SetDevicesProperty untuk mengirim instruksi ke perangkat guna mengatur propertinya. Untuk memahami cara mengatur properti perangkat, lihat Diagram pengaturan properti dalam protokol Alink.
Tanggapan sukses untuk pengaturan properti perangkat hanya menunjukkan bahwa Platform IoT telah mengirim permintaan, bukan bahwa perangkat telah mengeksekusinya. Setelah SDK perangkat merespons, perangkat harus melaporkan nilai properti baru untuk mengonfirmasi perubahan tersebut. Lihat bagian "Perangkat melaporkan properti" di atas.
Topik dan format data (mobile terminated):
|
Format data (mobile terminated) |
Topik permintaan dan tanggapan |
|
Pass-through/kustom |
|
|
Alink JSON |
|
Format data permintaan:
{
"id": "123",
"version": "1.0",
"params": {
"temperature": "30.5"
},
"method": "thing.service.property.set"
}
Format data tanggapan:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 9201, "data": {}, "id": "123", "message": "device offLine", "version": "1.0" }
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
params |
Object |
Parameter pengaturan properti. Dalam contoh ini, properti diatur sebagai berikut: Jika merupakan properti modul kustom, format identifikatornya adalah |
|
method |
String |
Metode permintaan. Contohnya: |
|
Parameter |
Type |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Hasil pengaturan properti dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Hasil instruksi mobile terminated perangkat.
Perangkat melaporkan event
Diagram pelaporan event perangkat dalam protokol Alink menggambarkan alur pelaporan event.
Topik dan format data (mobile originated):
-
Pass-through/kustom
Topik
Format data
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/model/up_rawData permintaan adalah pesan mentah yang dilaporkan oleh perangkat.
CatatanData pass-through harus mencakup parameter method. Nilainya harus konsisten dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, nilainya dapat berupa
thing.event.${tsl.event.identifier}.post.Contoh:
0xff0000007b00Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/model/up_raw_replyCloud mengembalikan data dalam format berikut:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 6813, "data": {}, "id": "123", "message": "topic illegal", "version": "1.0" }
-
-
Alink JSON
Modul model TSL
Topik
Format data
Modul default
-
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post -
Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post_reply
Menggunakan modul model TSL default sebagai contoh, format data permintaan Alink adalah sebagai berikut:
{ "id": "123", "version": "1.0", "sys":{ "ack":0 }, "params": { "value": { "Power": "on", "WF": "2" }, "time": 1524448722000 }, "method": "thing.event.${tsl.event.identifier}.post" }Format data tanggapan Alink:
{ "code": 200, "data": {}, "id": "123", "message": "success", "method": "thing.event.${tsl.event.identifier}.post", "version": "1.0" }Jika permintaan gagal,
{}dikembalikan.Modul kustom
-
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:${tsl.event.identifier}/post -
Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:${tsl.event.identifier}/post_reply
-
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
sys |
Object |
Parameter fitur tambahan. Catatan
Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku. |
|
ack |
Integer |
Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.
Penting
Contoh penggunaan model Thing Specification Language. Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default. |
|
method |
String |
Metode permintaan.
Catatan
|
|
params |
Object |
Parameter keluaran dari event yang dilaporkan. |
|
value |
Object |
Informasi parameter keluaran event. Contoh ini menampilkan informasi untuk dua parameter: Power dan WF (arus operasi).
|
|
time |
Long |
Stempel waktu UNIX saat event dilaporkan, dalam milidetik UTC. Ini adalah bidang opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu.
|
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. Catatan
Platform IoT memvalidasi event yang dilaporkan terhadap definisi model TSL Produk. Event yang gagal divalidasi akan difilter dan kode kesalahan dikembalikan. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
method |
String |
Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Contoh format Alink: Asumsikan sebuah event `alarm` didefinisikan dalam suatu Produk. Deskripsi TSL-nya adalah sebagai berikut. Untuk informasi lebih lanjut tentang parameter, lihat Apa itu model TSL?.
{
"schema": "https://iot-tsl.oss-cn-shanghai.aliyuncs.com/schema.json",
"link": "/sys/${productKey}/airCondition/thing/",
"profile": {
"productKey": "${productKey}",
"deviceName": "airCondition"
},
"events": [
{
"identifier": "alarm",
"name": "alarm",
"desc": "Alarm kipas",
"type": "alert",
"required": true,
"outputData": [
{
"identifier": "errorCode",
"name": "Kode kesalahan",
"dataType": {
"type": "text",
"specs": {
"length": "255"
}
}
}
],
"method": "thing.event.alarm.post"
}
]
}
Saat perangkat melaporkan event tersebut, format data permintaan Alink adalah sebagai berikut:
{
"id": "123",
"version": "1.0",
"params": {
"value": {
"errorCode": "error"
},
"time": 1524448722000
},
"method": "thing.event.alarm.post"
}
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Event yang dilaporkan dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan event perangkat.
Pemanggilan layanan perangkat (asinkron)
Platform IoT mendukung pemanggilan sinkron dan asinkron. Anda harus menentukan metode pemanggilan saat menentukan layanan dalam model TSL. Untuk memahami cara memanggil layanan perangkat, lihat Diagram pemanggilan layanan dalam protokol Alink.
-
Sinkron: Panggil operasi API InvokeThingService atau InvokeThingsService. Platform IoT menggunakan revert-RPC (RRPC) untuk mendorong permintaan secara sinkron. Layanan harus diatur ke pemanggilan sinkron, dan Platform IoT berlangganan ke topik RRPC yang sesuai. Apa itu RRPC?.
-
Asinkron: Panggil operasi API InvokeThingService atau InvokeThingsService untuk memanggil layanan. Platform IoT mendorong permintaan secara asinkron, dan perangkat mengembalikan hasilnya secara asinkron. Dalam kasus ini, layanan diatur ke pemanggilan asinkron, dan Platform IoT berlangganan ke topik tanggapan asinkron yang dijelaskan dalam bagian ini.
Topik dan format data (mobile terminated):
|
Format data downlink |
Topik permintaan dan tanggapan |
|
Pass-through/kustom |
|
|
Alink JSON |
|
Format data permintaan Alink:
{
"id": "123",
"version": "1.0",
"params": {
"Power": "on",
"WF": "2"
},
"method": "thing.service.${tsl.service.identifier}"
}
Format data tanggapan:
-
Contoh tanggapan sukses:
{ "code": 200, "data": {}, "id": "123", "message": "success", "version": "1.0" } -
Contoh tanggapan gagal:
{ "code": 9201, "data": {}, "id": "123", "message": "device offLine", "version": "1.0" }
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
params |
Object |
Parameter pemanggilan layanan. Mencakup identifikasi layanan dan nilai layanan. Contoh ini menampilkan dua parameter: Power dan WF (arus operasi).
|
|
method |
String |
Metode permintaan.
Catatan
|
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. |
|
data |
Object |
Informasi tanggapan. Nilai parameter data bergantung pada definisi model TSL. Jika layanan tidak mengembalikan hasil, nilai data kosong. Jika layanan mengembalikan hasil, data yang dikembalikan mengikuti definisi layanan secara ketat. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Contoh format Alink: Asumsikan sebuah layanan bernama SetWeight didefinisikan dalam suatu Produk. Deskripsi TSL-nya adalah sebagai berikut:
{
"schema": "https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json",
"profile": {
"productKey": "testProduct01"
},
"services": [
{
"outputData": [
{
"identifier": "OldWeight",
"dataType": {
"specs": {
"unit": "kg",
"min": "0",
"max": "200",
"step": "1"
},
"type": "double"
},
"name": "OldWeight"
},
{
"identifier": "CollectTime",
"dataType": {
"specs": {
"length": "2048"
},
"type": "text"
},
"name": "CollectTime"
}
],
"identifier": "SetWeight",
"inputData": [
{
"identifier": "NewWeight",
"dataType": {
"specs": {
"unit": "kg",
"min": "0",
"max": "200",
"step": "1"
},
"type": "double"
},
"name": "NewWeight"
}
],
"method": "thing.service.SetWeight",
"name": "Atur bobot",
"required": false,
"callType": "async"
}
]
}
Saat layanan dipanggil, format data permintaan Alink adalah sebagai berikut:
{
"method": "thing.service.SetWeight",
"id": "105917531",
"params": {
"NewWeight": 100.8
},
"version": "1.0"
}
Format data tanggapan Alink:
{
"id": "105917531",
"code": 200,
"data": {
"CollectTime": "1536228947682",
"OldWeight": 100.101
}
"message": "success",
"version": "1.0"
}
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Hasil pemanggilan asinkron dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Hasil instruksi mobile terminated perangkat.
Pelaporan data batch gerbang
Perangkat gerbang dapat melaporkan properti dan event secara batch. Perangkat gerbang juga dapat melaporkan properti dan event untuk perangkat sub-nya secara batch.
-
Anda dapat melaporkan hingga 200 properti dan 20 event sekaligus.
-
Anda dapat melaporkan data untuk hingga 20 perangkat sub sekaligus.
Topik dan format data (mobile originated):
-
Pass-through/kustom
Topik
Format data
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/model/up_rawData permintaan adalah pesan mentah yang dilaporkan oleh perangkat.
CatatanData pass-through harus mencakup parameter method. Nilainya harus konsisten dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, nilainya dapat berupa
thing.event.property.pack.post.Contoh:
0xff0000007b00Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/model/up_raw_replyCloud mengembalikan data dalam format berikut:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 6813, "data": {}, "id": "123", "message": "topic illegal", "version": "1.0" }
-
-
Alink JSON
Topik permintaan dan tanggapan
Data permintaan dan tanggapan
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/property/pack/postFormat data permintaan Alink:
{ "id": "123", "version": "1.0", "sys":{ "ack":0 }, "params": { "properties": { "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": { }, "time": 1524448722000 } }, "events": { "alarmEvent1": { "value": { "param1": "on", "param2": "2" }, "time": 1524448722000 }, "alertEvent2": { "value": { "param1": "on", "param2": "2" }, "time": 1524448722000 } }, "subDevices": [ { "identity": { "productKey": "", "deviceName": "" }, "properties": { "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": { }, "time": 1524448722000 } }, "events": { "alarmEvent1": { "value": { "param1": "on", "param2": "2" }, "time": 1524448722000 }, "alertEvent2": { "value": { "param1": "on", "param2": "2" }, "time": 1524448722000 } } } ] }, "method": "thing.event.property.pack.post" }Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/property/pack/post_replyFormat data tanggapan Alink:
{ "code": 200, "data": {}, "id": "123", "message": "success", "method": "thing.event.property.pack.post", "version": "1.0" }Jika permintaan gagal,
{}dikembalikan.
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
sys |
Object |
Parameter fitur tambahan. Catatan
Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku. |
|
ack |
Integer |
Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.
Penting
Contoh penggunaan model Thing Specification Language. Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default. |
|
params |
Object |
Parameter permintaan. |
|
properties |
Object |
Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan. Parameter time bersifat opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu. Dalam contoh ini, perangkat melaporkan informasi untuk dua properti: Power dan WF (arus operasi). Jika merupakan properti modul kustom, format identifikatornya adalah
|
|
events |
Object |
Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan. Parameter time bersifat opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu. Dalam contoh ini, dua event, alarmEvent1 dan alarmEvent2, dilaporkan dengan parameter-parameternya, yaitu param1 dan param2. Jika merupakan event modul kustom, format identifikatornya adalah
|
|
subDevices |
Object |
Informasi perangkat sub. |
|
productKey |
String |
ProductKey dari Produk perangkat sub. |
|
deviceName |
String |
Nama perangkat sub. |
|
method |
String |
Parameter permintaan. Nilai: |
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode tanggapan. Nilai 200 menunjukkan keberhasilan. Catatan
Sistem memvalidasi perangkat, topologi, serta properti dan event yang dilaporkan terhadap definisi model TSL Produk. Jika salah satu pemeriksaan ini gagal, pelaporan data akan gagal. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
method |
String |
Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Data model TSL batch dari gerbang dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Pesan untuk perangkat sub dan gerbang dipisah menjadi pesan properti atau event individual sebelum diteruskan. Topik dan format data: Pelaporan properti perangkat dan Pelaporan event perangkat.
Pelaporan data historis model TSL
Topik dan format data (mobile originated):
-
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/property/history/post -
Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/property/history/post_reply
Format data permintaan Alink:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"method": "thing.event.property.history.post",
"params": [
{
"identity": {
"productKey": "",
"deviceName": ""
},
"properties": [
{
"Power": {
"value": "on",
"time": 1524448722000
},
"WF": {
"value": "3",
"time": 1524448722000
}
},
{
"Power": {
"value": "on",
"time": 1524448722000
},
"WF": {
"value": "3",
"time": 1524448722000
}
}
],
"events": [
{
"alarmEvent": {
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
"alertEvent": {
"value": {
"Power": "off",
"WF": "3"
},
"time": 1524448722000
}
}
]
},
{
"identity": {
"productKey": "",
"deviceName": ""
},
"properties": [
{
"Power": {
"value": "on",
"time": 1524448722000
},
"WF": {
"value": "3",
"time": 1524448722000
}
}
],
"events": [
{
"alarmEvent": {
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
"alertEvent": {
"value": {
"Power": "off",
"WF": "3"
},
"time": 1524448722000
}
}
]
}
]
}
Format data tanggapan Alink:
-
Contoh tanggapan sukses
{ "code": 200, "data": {}, "id": "123", "message": "success", "method": "thing.event.property.history.post", "version": "1.0" } -
Contoh tanggapan gagal
{ "code": 5092, "data": {}, "id": "123", "message": "property not found", "method": "thing.event.property.history.post", "version": "1.0" }
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
sys |
Object |
Parameter fitur tambahan. Catatan
Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku. |
|
ack |
Integer |
Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.
Penting
Contoh penggunaan model Thing Specification Language. Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default. |
|
method |
String |
Metode permintaan. Ini adalah bidang statis. Nilai: |
|
params |
Object |
Parameter permintaan. |
|
identity |
String |
Informasi sertifikat perangkat tempat data tersebut berasal. Termasuk parameter productKey dan deviceName. Catatan
Perangkat yang terhubung langsung hanya dapat melaporkan data historis model TSL miliknya sendiri. Perangkat gerbang dapat melaporkan data historis model TSL untuk perangkat sub-nya. Saat gerbang melaporkan data historis untuk perangkat sub, identity berisi informasi perangkat sub tersebut. |
|
properties |
Object |
Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan. Dalam contoh ini, perangkat melaporkan informasi historis untuk dua properti: Power dan WF (arus operasi). Jika merupakan properti modul kustom, format identifikatornya adalah
|
|
events |
Object |
Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan. Dalam contoh ini, informasi historis untuk alarmEvent dilaporkan dengan parameter-parameternya, yaitu Power dan WF (arus operasi). Jika merupakan event modul kustom, format identifikatornya adalah
|
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
method |
String |
Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Data historis model TSL dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan properti historis dan Pelaporan event historis.
Saat data historis model TSL dari perangkat diteruskan, platform membuat pesan terpisah untuk item-item yang tercantum di bawah properties dan events. Data historis untuk setiap properti atau event kemudian diteruskan secara terpisah.
Pelaporan properti dan event perangkat secara batch
Topik dan format data (mobile originated):
-
Topik permintaan:
/sys/${productKey}/${deviceName}/thing/event/property/batch/post -
Topik tanggapan:
/sys/${productKey}/${deviceName}/thing/event/property/batch/post_reply
Format data permintaan Alink:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"method": "thing.event.property.batch.post",
"params": {
"properties": {
"Power": [
{
"value": "on",
"time": 1524448722000
},
{
"value": "off",
"time": 1524448722001
}
],
"WF": [
{
"value": 3,
"time": 1524448722000
},
{
"value": 4,
"time": 1524448722009
}
]
},
"events": {
"alarmEvent": [
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
}
]
}
}
}
Format data tanggapan Alink:
-
Contoh tanggapan sukses:
{ "code": 200, "data": {}, "id": "123", "message": "success", "method": "thing.event.property.batch.post", "version": "1.0" } -
Contoh tanggapan gagal:
{ "code": 9201, "data": {}, "id": "123", "message": "device offLine", "method": "thing.event.property.batch.post", "version": "1.0" }
Deskripsi parameter:
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
version |
String |
Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0. |
|
sys |
Object |
Parameter fitur tambahan. Catatan
Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku. |
|
ack |
Integer |
Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.
Penting
Contoh penggunaan model Thing Specification Language. Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default. |
|
method |
String |
Metode permintaan. Ini adalah bidang statis. Nilai: |
|
params |
Object |
Parameter permintaan. |
|
properties |
Object |
Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan. Dalam contoh ini, perangkat melaporkan informasi batch untuk dua properti: Power dan WF (arus operasi). Jika merupakan properti modul kustom, format identifikatornya adalah
|
|
events |
Object |
Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan. Dalam contoh ini, informasi batch untuk alarmEvent dilaporkan dengan parameter-parameternya, yaitu Power dan WF (arus operasi). Jika merupakan event modul kustom, format identifikatornya adalah
|
|
Parameter |
Tipe |
Deskripsi |
|
id |
String |
ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini. |
|
code |
Integer |
Kode status hasil. Kode umum sisi perangkat. |
|
data |
Object |
Jika permintaan berhasil, objek kosong dikembalikan. |
|
message |
String |
Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan. |
|
method |
String |
Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan. |
|
version |
String |
Nomor versi protokol. Ini sama dengan version dalam parameter permintaan. |
Kode kesalahan: Kode kesalahan yang diterima perangkat.
Penerusan data: Data model TSL batch dapat diteruskan ke server Anda melalui langganan sisi server. Data properti dan event diteruskan sebagai pesan terpisah. Topik dan format data: Pelaporan properti batch dari perangkat dan Pelaporan event batch dari perangkat.