IoT Platform menyediakan fitur penerusan data dan langganan sisi server. Anda dapat menggunakan fitur ini untuk memproses dan meneruskan data berdasarkan format data dari topik-topik yang tersedia. Topik dikategorikan ke dalam topik kustom, topik komunikasi dasar, dan topik komunikasi Thing Specification Language (TSL). Anda dapat menentukan format data untuk topik kustom sesuai dengan kebutuhan bisnis Anda. Bagian ini menjelaskan format konversi data oleh mesin aturan dari topik komunikasi dasar dan TSL.
Topik yang terkait dengan mesin aturan dan komunikasi perangkat
Untuk informasi lebih lanjut tentang definisi, penggunaan, dan klasifikasi topik komunikasi, lihat Topik.
Saat mengembangkan perangkat, Anda harus menentukan format data mentah yang dikirimkan oleh perangkat. Perhatikan hal-hal berikut:
Data dari topik komunikasi dasar dan TSL harus sesuai dengan protokol Alink yang didukung oleh IoT Platform. Untuk informasi lebih lanjut, lihat sub-topik terkait dalam Protokol Alink.
Setelah mesin aturan meneruskan data mentah yang dikirimkan oleh perangkat, format data tersebut dikonversi. Untuk detail lebih lanjut tentang format data, lihat deskripsi dalam bagian ini.
Anda dapat menentukan format data untuk topik kustom.
Setelah mesin aturan meneruskan data mentah yang dikirimkan oleh perangkat, format data tersebut tidak dikonversi.
Tabel berikut menjelaskan pemetaan antara topik yang digunakan oleh mesin aturan untuk meneruskan data dan topik ke mana perangkat mengirimkan data.
Topik | Deskripsi | Referensi |
Custom | Topik yang digunakan untuk meneruskan data dalam format kustom. Format topik ini sama dengan format topik kustom: /${productKey}/${deviceName}/user/${TopicShortName}. ${TopicShortName} menentukan kategori topik kustom, yang merupakan akhiran dari topik kustom. Nilai dapat berisi karakter wildcard, termasuk tanda plus (+) dan tanda pagar (#).
| |
Device Status Change Notification | Topik yang digunakan untuk meneruskan notifikasi ketika status perangkat berubah antara online dan offline. Format: /as/mqtt/status/${productKey}/${deviceName}. | |
TSL Data Reporting | Topik berikut disediakan:
| |
Topik berikut digunakan untuk mengirimkan data mentah perangkat:
| ||
Device Changes Throughout Lifecycle | Topik yang digunakan untuk meneruskan pesan ketika perangkat dibuat, dihapus, dinonaktifkan, atau diaktifkan. Format: | |
Sub-Device Data Report Detected by Gateway | Topik yang digunakan untuk mengirimkan dan meneruskan informasi tentang sub-perangkat baru ketika gateway mendeteksi sub-perangkat. Topik ini spesifik untuk gateway. Format: /${productKey}/${deviceName}/thing/list/found | |
Device Topological Relation Changes | Topik yang digunakan untuk meneruskan notifikasi ketika hubungan topologi antara sub-perangkat dan gateway dibuat atau dihapus. Topik ini spesifik untuk gateway. Format: /${productKey}/${deviceName}/thing/topo/lifecycle. | |
| ||
Device tag change | Topik yang digunakan untuk meneruskan pesan ketika tag perangkat diubah. Format: /${productKey}/${deviceName}/thing/deviceinfo/update. | |
| ||
TSL Historical Data Reporting | Topik berikut disediakan:
| |
| ||
Device status notification | Topik berikut disediakan:
| |
Topik sebelumnya sesuai dengan topik berikut: /ota/device/progress/${productKey}/${deviceName}. Digunakan untuk mengirimkan kemajuan pembaruan. | ||
Submit a module version number | Topik yang digunakan untuk meneruskan pesan ketika nomor versi modul OTA untuk perangkat diubah. Format: /${productKey}/${deviceName}/ota/version/post. | |
Topik sebelumnya sesuai dengan topik berikut: /ota/device/inform/${productKey}/${deviceName}. Digunakan untuk mengirimkan nomor versi modul OTA. | ||
Batch status notification | Topik ke mana IoT Platform mengirimkan pesan ketika status batch pembaruan OTA berubah. Format: /${productKey}/${packageId}/${jobId}/ota/job/status. | |
Job Event |
Catatan Nama tugas migrasi instans sama dengan nama produk yang ingin Anda migrasikan datanya. |
Kirim status perangkat
Topik: /as/mqtt/status/${productKey}/${deviceName}
Anda dapat menggunakan topik ini untuk mendapatkan status online atau offline perangkat.
Format data yang dikirimkan oleh perangkat saat perangkat online:
{
"status":"online",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}Format data yang dikirimkan oleh perangkat saat perangkat offline:
{
"status":"offline",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"offlineReasonCode":427,
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}Parameter:
Parameter | Tipe | Deskripsi |
status | String | Status perangkat. Nilai yang valid:
|
iotId | String | Pengenal unik perangkat di IoT Platform. |
offlineReasonCode | Integer | Kode kesalahan yang dikembalikan ketika perangkat offline. Untuk informasi lebih lanjut, lihat Kode kesalahan terkait perilaku perangkat. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
lastTime | String | Parameter ini tidak lagi valid. |
utcLastTime | String | |
time | String | Waktu ketika perangkat online atau offline. Pesan yang dikembalikan tidak disortir berdasarkan waktu. Anda perlu mengurutkan pesan secara manual. Sebagai contoh, Anda menerima pesan berikut secara berurutan:
Pesan sebelumnya menunjukkan bahwa perangkat terputus, tersambung kembali, lalu terputus lagi. |
utcTime | String | Waktu ketika perangkat online atau offline dalam format UTC. |
clientIp | String | Alamat IP publik perangkat. |
Kirim properti perangkat
Topik: /${productKey}/${deviceName}/thing/event/property/post
Anda dapat menggunakan topik ini untuk mendapatkan properti yang dikirimkan oleh perangkat.
Format data:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}Parameter:
Parameter | Tipe | Deskripsi |
iotId | String | Pengenal unik perangkat di IoT Platform. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
gmtCreate | Long | Waktu ketika pesan dibuat. |
deviceType | String | Kategori produk dari perangkat. Anda dapat menentukan kategori produk saat membuat produk di IoT Platform. Untuk informasi lebih lanjut, lihat Buat produk atau CreateProduct. |
items | Object | Data yang dikirimkan oleh perangkat. |
Power | String | Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk. Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format |
Position | ||
attribute_8 | ||
checkFailedData | Object | Data yang gagal diverifikasi. |
value | Tergantung pada definisi TSL | Nilai properti. |
time | Long | Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan. |
code | Integer | Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat. |
message | String | Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid. |
Kirim peristiwa perangkat
Topik: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post
Anda dapat menggunakan topik ini untuk mendapatkan peristiwa yang dikirimkan oleh perangkat.
Format data:
{
"identifier":"BrokenInfo",
"name":"Pelaporan laju kerusakan",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"X5eCzh6****",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"gmtCreate":1510799670074,
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}Parameter:
Parameter | Tipe | Deskripsi |
identifier | String | Pengenal peristiwa. Pengenal peristiwa modul kustom dalam format |
name | String | Nama peristiwa. |
type | String | Tipe peristiwa. Untuk informasi tentang tipe peristiwa yang didukung, lihat model TSL produk. |
iotId | String | Pengenal unik perangkat di IoT Platform. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
gmtCreate | Long | Waktu ketika pesan dibuat. |
value | Object | Parameter keluaran peristiwa. Contoh: Power dan Position. Penting
|
checkFailedData | Object | Data yang gagal diverifikasi. Jika parameter keluaran gagal diverifikasi, parameter checkFailedData mencakup parameter berikut: Perhatikan hal-hal berikut:
|
time | Long | Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan. |
Kirim properti perangkat secara batch
Topik: /${productKey}/${deviceName}/thing/property/batch/post
Anda dapat menggunakan topik ini untuk mendapatkan properti yang dikirimkan oleh perangkat secara batch.
Format data:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"Power": [
{
"value": "on",
"time": 1524448722000
},
{
"value": "off",
"time": 1524448722001
}
],
"WF": [
{
"value": 3,
"time": 1524448722000
},
{
"value": 4,
"time": 1524448722009
}
]
}
}Parameter:
Parameter | Tipe | Deskripsi |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
instanceId | String | ID instans tempat perangkat berasal. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
items | Object | Data yang dikirimkan oleh perangkat. |
Power | String | Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk. Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format |
WF | ||
value | Tergantung pada definisi TSL | Nilai properti. |
time | Long | Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan. |
Kirim peristiwa perangkat secara batch
Topik: /${productKey}/${deviceName}/thing/event/batch/post
Anda dapat menggunakan topik ini untuk mendapatkan peristiwa yang dikirimkan oleh perangkat secara batch.
Format data:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"alarmEvent": [
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448723000
}
]
}
}Parameter:
Parameter | Tipe | Deskripsi |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
instanceId | String | ID instans tempat perangkat berasal. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
items | Object | Data yang dikirimkan oleh perangkat. |
alarmEvent | List | Pengenal peristiwa. |
value | Object | Parameter peristiwa. Contoh: Power dan WF. |
time | Long | Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan. |
Kirim perubahan siklus hidup
Topik: /${productKey}/${deviceName}/thing/lifecycle
Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan saat perangkat dibuat, dihapus, diaktifkan, atau dinonaktifkan.
Format data:
{
"action": "create|delete|enable|disable",
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "al5eCzh****",
"deviceName": "5gJtxDVeGAkaEztpisjX",
"deviceSecret": "wsde***",
"messageCreateTime": 1510292739881
}Parameter:
Parameter | Tipe | Deskripsi |
action | String |
|
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
deviceSecret | String | DeviceSecret dari perangkat. Parameter ini hanya disertakan jika parameter action diatur ke create. |
messageCreateTime | Integer | Timestamp yang menunjukkan kapan pesan dibuat. Satuan: milidetik. |
Kirim perubahan hubungan topologi
Topik: /${productKey}/${deviceName}/thing/topo/lifecycle
Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika hubungan topologi antara sub-perangkat dan gateway dibuat atau dihapus.
Format data:
{
"action" : "create|delete|enable|disable",
"gwIotId": "dfaejVQHk6VSLmmBJfrf00107e****",
"gwProductKey": "al5eCzh****",
"gwDeviceName": "deviceName1234",
"devices": [
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "ala4Czh****",
"deviceName": "deviceName1234"
}
],
"messageCreateTime": 1510292739881
}Parameter:
Parameter | Tipe | Deskripsi |
action | String |
|
gwIotId | String | Pengenal unik gateway di IoT Platform. |
gwProductKey | String | Pengenal unik produk tempat gateway berasal. |
gwDeviceName | String | Nama gateway. |
devices | Object | Sub-perangkat yang hubungan topologinya berubah. |
iotId | String | Pengenal unik sub-perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat sub-perangkat berasal. |
deviceName | String | Nama sub-perangkat. |
messageCreateTime | Integer | Timestamp ketika pesan dibuat. Satuan: milidetik. |
Kirim informasi tentang sub-perangkat yang terdeteksi
Topik: /${productKey}/${deviceName}/thing/list/found
Dalam beberapa skenario, gateway dapat mendeteksi sub-perangkat dan mengirimkan informasi sub-perangkat. Anda dapat menggunakan topik ini untuk mendapatkan informasi yang dikirimkan.
Format data:
{
"gwIotId":"dfaew9VQHk6VSLmmBJfrf00107e****",
"gwProductKey":"al12345****",
"gwDeviceName":"deviceName1234",
"devices":[
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"alr56g9****",
"deviceName":"deviceName1234"
}
]
}Parameter:
Parameter | Tipe | Deskripsi |
gwIotId | String | Pengenal unik gateway di IoT Platform. |
gwProductKey | String | Pengenal unik produk tempat gateway berasal. |
gwDeviceName | String | Nama gateway. |
devices | Object | Sub-perangkat yang dideteksi oleh gateway. |
iotId | String | Pengenal unik sub-perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat sub-perangkat berasal. |
deviceName | String | Nama sub-perangkat. |
Kirim respons terhadap permintaan downstream
Topik: /${productKey}/${deviceName}/thing/downlink/reply/message
Anda dapat menggunakan topik ini untuk mendapatkan hasil yang dikembalikan setelah perangkat memproses permintaan downstream. IoT Platform mengirimkan permintaan downstream ke perangkat secara asinkron. Jika terjadi kesalahan saat IoT Platform mengirimkan permintaan downstream, Anda dapat menggunakan topik ini untuk mendapatkan pesan kesalahan.
Format data:
{
"gmtCreate":1510292739881,
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12355****",
"deviceName":"deviceName1234",
"requestId":"2",
"code":200,
"message":"success",
"topic":"/sys/al12355****/deviceName1234/thing/service/property/set",
"data":{},
"checkFailedData":{
"value": {
"PicID": "15194139"
},
"code":6304,
"message":"tsl parse: params not exist -> PicID"
}
}Parameter:
Parameter | Tipe | Deskripsi |
gmtCreate | Long | Timestamp dalam format UTC. |
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
requestId | String | ID dari pesan. Nilai yang valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
code | Integer | Kode respons yang dikembalikan oleh perangkat. Untuk informasi lebih lanjut, lihat tabel Kode Respons. |
message | String | Pesan yang dikembalikan oleh perangkat. |
topic | String | Informasi tentang topik yang digunakan untuk mengirim permintaan downstream. |
data | Object | Data yang dikembalikan oleh perangkat. Jika perangkat mengembalikan data Alink, Anda tidak perlu mem-parsing data tersebut. Jika perangkat mengembalikan data pass-through, Anda harus mem-parsing data menggunakan skrip. |
checkFailedData | Object | Data yang gagal diverifikasi. |
value | Tergantung pada definisi TSL | Properti atau parameter layanan yang nilainya gagal diverifikasi. Contoh: PicID. |
code | Integer | Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat. |
message | String | Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid. |
code | message | Deskripsi |
200 | success | Permintaan berhasil. |
400 | request error | Terjadi kesalahan internal. |
460 | request parameter error | Parameter permintaan tidak valid dan perangkat gagal memverifikasi parameter tersebut. |
429 | too many requests | Jumlah maksimum permintaan dalam periode tertentu telah tercapai. |
9200 | device not actived | Perangkat belum diaktifkan. |
9201 | device offline | Perangkat terputus dari IoT Platform. |
403 | request forbidden | Permintaan ditolak karena pembayaran tertunda. |
Untuk informasi tentang cara menyelesaikan masalah, lihat Kode Kesalahan untuk Perangkat.
Kirim properti historis
Topik: /${productKey}/${deviceName}/thing/event/property/history/post
Anda dapat menggunakan topik ini untuk mendapatkan properti historis yang dikirimkan oleh perangkat.
Format data:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}Parameter:
Parameter | Tipe | Deskripsi |
iotId | String | Pengenal unik perangkat di IoT Platform. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
gmtCreate | Long | Waktu ketika pesan dibuat. |
deviceType | String | Kategori produk perangkat. Anda dapat menentukan kategori produk saat membuat produk di IoT Platform. Untuk informasi lebih lanjut, lihat Buat produk atau CreateProduct. |
items | Object | Data yang dikirimkan oleh perangkat. |
Power | String | Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk. Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format |
Position | ||
attribute_8 | ||
checkFailedData | Object | Data yang gagal diverifikasi. |
value | Tergantung pada definisi TSL | Nilai properti. |
time | Long | Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan. |
code | Integer | Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat. |
message | String | Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid. |
Kirim peristiwa historis
Topik: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post
Anda dapat menggunakan topik ini untuk mendapatkan peristiwa historis yang dikirimkan oleh perangkat.
Format data:
{
"identifier":"BrokenInfo",
"name":"Pelaporan laju kerusakan",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e***",
"requestId":"2",
"productKey":"X5eCzh6***",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}Parameter:
Parameter | Tipe | Deskripsi |
identifier | String | Pengenal peristiwa. Pengenal peristiwa modul kustom dalam format |
name | String | Nama peristiwa. |
type | String | Tipe peristiwa. Untuk informasi tentang tipe peristiwa yang didukung, lihat model TSL produk. |
iotId | String | Pengenal unik perangkat di IoT Platform. |
requestId | String | ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
gmtCreate | Long | Waktu ketika pesan dibuat. |
value | Object | Parameter keluaran peristiwa. Contoh: Power dan Position. Penting
|
checkFailedData | Object | Data yang gagal diverifikasi. Jika parameter output gagal diverifikasi, parameter checkFailedData mencakup parameter berikut: Perhatikan hal-hal berikut:
|
time | Panjang | Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan cap waktu, maka cap waktu yang menunjukkan kapan IoT Platform menerima pesan tersebut yang digunakan. |
Kirimkan data status pembaruan over-the-air (OTA)
Topik: /${productKey}/${deviceName}/ota/upgrade
Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika pembaruan OTA berhasil atau gagal.
Jika tugas pembaruan pada perangkat berada dalam keadaan tertunda dan Anda memulai tugas pembaruan batch lain pada perangkat, tugas pembaruan terbaru akan gagal. Dalam hal ini, pesan yang dihasilkan ketika tugas pembaruan terbaru gagal tidak dikirim ke IoT Platform.
Format data:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName": "default",
"status": "SUCCEEDED|FAILED|CANCELED",
"messageCreateTime": 1571323748000,
"srcVersion": "1.0.1",
"destVersion": "1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}Parameter:
Parameter | Tipe | Deskripsi |
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat tersebut termasuk. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
moduleName | String | Nama modul OTA. |
status | String | Status pembaruan.
|
messageCreateTime | Long | Cap waktu ketika pesan dihasilkan. Satuan: milidetik. |
srcVersion | String | Versi firmware sebelum pembaruan. |
destVersion | String | Versi firmware setelah pembaruan. |
desc | String | Deskripsi pembaruan. |
jobId | String | ID batch pembaruan. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan. |
taskId | String | Pengenal unik catatan pembaruan perangkat. |
Kirim data kemajuan pembaruan OTA
Topik: /${productKey}/${deviceName}/ota/progress/post
Anda dapat menggunakan topik ini untuk mendapatkan data kemajuan pembaruan OTA.
Format data:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName":"default",
"status":"IN_PROGRESS",
"step": "90",
"messageCreateTime": 1571323748000,
"srcVersion":"1.0.1",
"destVersion":"1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}Parameter:
Parameter | Tipe | Deskripsi |
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
moduleName | String | Nama modul OTA. |
status | String | Status pembaruan. Nilai tetap |
step | Integer | Kemajuan pembaruan. |
messageCreateTime | Long | Timestamp yang dihasilkan untuk pesan. Satuan: milidetik. |
srcVersion | String | Versi firmware sebelum pembaruan. |
destVersion | String | Versi firmware setelah pembaruan. |
desc | String | Deskripsi pembaruan. |
jobId | String | ID batch pembaruan. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan. |
taskId | String | Pengenal unik catatan pembaruan perangkat. |
Kirim versi modul OTA
Topik: /${productKey}/${deviceName}/ota/version/post
Anda dapat menggunakan topik ini untuk mendapatkan versi modul OTA yang dikirimkan oleh perangkat. Pesan diteruskan ketika versi yang dikirimkan oleh perangkat berbeda dari versi sebelumnya.
Format data:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"deviceName": "deviceName1234",
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"moduleVersion": "1.0.3",
"messageCreateTime": 1571323748000
}Parameter:
Parameter | Tipe | Deskripsi |
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
moduleName | String | Nama modul OTA. |
moduleVersion | String | Nomor versi modul. |
messageCreateTime | Long | Timestamp yang dihasilkan untuk pesan. Satuan: milidetik. |
Kirim data status batch pembaruan OTA
Topik: /${productKey}/${packageId}/${jobId}/ota/job/status
Anda dapat menggunakan topik ini untuk mendapatkan data status batch pembaruan OTA.
Format data:
{
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"packageId": "wahVIzGkCMuAUE2***",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"state": "IN_PROGRESS",
"messageCreateTime": 1571323748000
}Parameter:
Parameter | Tipe | Deskripsi |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
moduleName | String | Nama modul OTA. |
packageId | String | ID paket pembaruan. Nilai parameter ini sama dengan nilai parameter FirmwareId yang dikembalikan saat Anda memanggil operasi CreateOTAFirmware untuk membuat paket pembaruan. |
jobId | String | ID batch pembaruan. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan. |
state | String | Status batch pembaruan. Nilai valid:
|
messageCreateTime | Long | Timestamp yang dihasilkan untuk pesan. Satuan: milidetik. |
Kirim perubahan tag perangkat
Topik: /${productKey}/${deviceName}/thing/deviceinfo/update
Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika tag perangkat diubah.
Format data:
{
"action": "UPDATE|DELETE|DELETEALL",
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"deletedAttrKeyList": ["abc", "def", "rng"],
"value": [
{
"attrKey": "attrValue",
"tagKey": "tagValue"
}
],
"messageCreateTime": 1510799670074
}Parameter:
Parameter | Tipe | Deskripsi |
action | String | Jenis perubahan tag. Nilai valid:
|
iotId | String | Pengenal unik perangkat di IoT Platform. |
productKey | String | Pengenal unik produk tempat perangkat berasal. |
deviceName | String | Nama Perangkat dari perangkat tersebut. |
deletedAttrKeyList | List | Kunci tag yang dihapus. Parameter ini tersedia hanya jika parameter action diatur ke DELETE. |
value | List | Data tag. |
attrKey | String | Kunci tag. |
attrValue | String | Nilai tag. |
messageCreateTime | Long | Timestamp yang dihasilkan untuk pesan. Satuan: milidetik. |
Kirim data status tugas migrasi instans
Topik: /sys/uid/{uid}/distribution/{jobId}/lifecycle
Anda dapat menggunakan topik ini untuk mendapatkan perubahan status tugas migrasi instans.
Ganti ${uid} dengan ID akun Alibaba Cloud Anda. Untuk mendapatkan ID akun Anda, masuk ke IoT Platform dan arahkan kursor ke foto profil untuk melihat account ID.
Format data:
{
"jobId": "4z819VQHk6VSLmmxxxxxxxxxxee200",
"status": "GRAY_EXECUTING",
"messageCreateTime": 1.510.292.739.881,
"type":"INSTANCE_UPGRADE",
"sourceInstance":"iotx-oxssharez200",
"targetInstance":"iot-es5v4***",
"successDevices":[
{
"productKey":"al12***",
"deviceName":"deviceName1",
"iotId":"4z81frf00107e***"
}
]
}Parameter:
Parameter | Tipe | Deskripsi |
jobId | String | ID dari tugas. |
status | String | Status tugas. Nilai yang valid:
|
messageCreateTime | Panjang | Cap waktu yang dihasilkan untuk pesan tersebut. Satuan: milidetik. |
type | String | Jenis tugas. Nilainya tetap |
sourceInstance | String | ID dari instance publik tempat data dimigrasikan. Jika instance publik merupakan versi sebelumnya, nilainya adalah Untuk informasi lebih lanjut tentang instance IoT Platform, lihat Ikhtisar. |
targetInstance | String | ID dari instance Enterprise Edition tempat data dipindahkan. |
successDevices | Daftar | Informasi tentang perangkat yang dimigrasikan.
|
productKey | String | Pengidentifikasi unik dari produk tempat perangkat tersebut termasuk. |
deviceName | String | DeviceName dari perangkat. |
iotId | String | Pengidentifikasi unik perangkat di IoT Platform. |