全部产品
Search
文档中心

IoT Platform:Mendorong data perangkat ke grup DingTalk

更新时间:Jul 06, 2025

Topik ini menjelaskan cara mendorong data yang dikirimkan oleh perangkat ke grup DingTalk menggunakan aturan penerusan data. Dalam contoh ini, thermo-hygrometer digunakan.

Skenario

Data yang dikirimkan oleh thermo-hygrometer di ruang kantor harus dikirim ke chatbot DingTalk.

Proses

温湿度传感器流转数据流程

Langkah 1: Buat produk dan perangkat

  1. Masuk ke Konsol IoT Platform.

  2. Di halaman Overview, klik All environment. Pada tab Semua lingkungan, temukan instance yang ingin Anda kelola dan klik ID atau nama instance tersebut.

  3. Di panel navigasi sisi kiri, pilih Products dan buat produk bernama thermo-hygrometer. Saat membuat produk, atur parameter Node Type ke Perangkat Terhubung Langsung.

    Gunakan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat Produk.

  4. Klik Buat TSL. Di tab Define Feature, klik Edit Draft. Di bagian Default Module, tambahkan fitur kustom ke produk.

    Dalam contoh ini, properti suhu dan kelembaban ditambahkan ke produk. Untuk informasi lebih lanjut, lihat Tambahkan Fitur TSL.物模型

  5. Di panel navigasi sisi kiri, pilih Devices > Devices. Buat perangkat bernama TH_sensor di bawah produk thermo-hygrometer. Untuk informasi lebih lanjut, lihat Buat Perangkat.

    Di kotak dialog The devices have been added, klik Learn More untuk mendapatkan sertifikat perangkat yang berisi ProductKey, DeviceName, dan DeviceSecret. Anda harus menyimpan sertifikat perangkat di tempat yang aman. Sertifikat ini adalah kredensial utama untuk komunikasi antara perangkat dan IoT Platform.

  6. Di tab Device List, temukan perangkat yang Anda buat dan klik View di kolom Aksi. Halaman device details akan muncul. Di bagian Tag Information, klik Edit untuk menambahkan tag ke perangkat.

    Dalam contoh ini, tag yang dijelaskan dalam tabel berikut ditambahkan. Untuk informasi lebih lanjut, lihat Tag.

    Kunci

    Nilai

    Deskripsi

    tag

    Ruang 00XS, Lantai F, Gedung X, Kota YY

    Lokasi perangkat.

    deviceISN

    T20180102X

    Nomor seri (SN) perangkat.

Langkah 2: Konfigurasikan Function Compute

Function Compute adalah layanan komputasi terkelola sepenuhnya dan berbasis acara. Function Compute mendukung Java, Node.js, dan Python. Untuk informasi lebih lanjut, lihat Cara Menggunakan Function Compute.

  1. Tentukan URL webhook dari chatbot DingTalk.

    1. Masuk ke DingTalk di PC Anda.

    2. Di jendela obrolan DingTalk, klik ikon 群设置. Di panel yang muncul, klik Group Assistant.

    3. Klik Tambah Robot, lalu klik ikon 添加机器人.

    4. Klik Custom, lalu klik Add.

    5. Konfigurasikan parameter Nama Chatbot dan Pengaturan Keamanan, pilih Saya telah membaca dan menyetujui <Ketentuan Layanan Robot Kustom DingTalk>, lalu klik Finished.

    6. Klik Salin untuk menyimpan URL webhook di PC Anda.

  2. Tulis skrip Function Compute.

    Dalam contoh ini, lingkungan runtime Node.js digunakan. Fungsi memperoleh data perangkat dari IoT Platform, memproses data berdasarkan format pesan DingTalk yang ditentukan, lalu mengirimkan data ke URL webhook dari chatbot DingTalk tertentu menggunakan metode HTTPS POST. Data perangkat mencakup lokasi perangkat, SN perangkat, data suhu dan kelembaban real-time, serta waktu ketika perangkat mengirimkan data ke IoT Platform.

    Setelah Anda menulis skrip, beri nama file skrip sebagai index.js, lalu kompres file tersebut menjadi paket bernama index.zip. Contoh kode berikut memberikan contoh skrip.

    Anda harus mengganti accessToken dengan nilai parameter access_token dalam URL webhook.

    // Komentar: Memerlukan modul https
    const https = require('https');
    // Komentar: Tentukan nilai parameter access_token dalam URL webhook.
    const accessToken = 'Tentukan nilai parameter access_token dalam URL webhook.'
    module.exports.handler = function(event, context, callback) {
    var eventJson = JSON.parse(event.toString());
    // Format pesan DingTalk
    const postData = JSON.stringify({
    "msgtype": "markdown",
    "markdown": {
    "title": "Thermo-hygrometer",
    "text": "#### Detail suhu dan kelembaban\n" +
    "> Lokasi perangkat: " + eventJson.tag + "\n\n" +
    "> SN perangkat: " + eventJson.isn+ "\n\n" +
    "> Suhu: " + eventJson.temperature + "℃\n\n" +
    "> Kelembaban: " + eventJson.humidity + "%\n\n" +
    "> ###### " + eventJson.time + " diterbitkan oleh [IoT Platform](https://www.aliyun.com/product/iot) \n"
    },
    "at": {
    "isAtAll": false
    }
    });
    const options = {
    hostname: 'oapi.dingtalk.com',
    port: 443,
    path: '/robot/send?access_token=' + accessToken,
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(postData)
    }
    };
    const req = https.request(options, (res) => {
    res.setEncoding('utf8');
    res.on('data', (chunk) => {});
    res.on('end', () => {
    callback(null, 'success');
    });
    });
    // Mengembalikan kesalahan.
    req.on('error', (e) => {
    callback(e);
    });
    // Tulis data.
    req.write(postData);
    req.end();
    };
  3. Buat Layanan dan Fungsi.

    1. Aktifkan Alibaba Cloud Function Compute. Untuk informasi lebih lanjut, lihat Aktifkan Function Compute.

    2. Masuk ke Konsol Function Compute. Di panel navigasi sisi kiri, klik Layanan & Fungsi.

    3. Klik Buat Layanan, atur parameter Nama ke IoT_Service, lalu klik OK.

    4. Di halaman Layanan, klik IoT_Service, lalu klik Create Function.

    5. Di halaman Buat Fungsi, pilih Use Built-in Runtime.

    6. Konfigurasikan parameter yang ditampilkan pada gambar berikut. Gunakan nilai default untuk parameter lainnya. Lalu, klik Buat.

      • Basic Settings

        Atur parameter Nama Fungsi ke pushData2DingTalk, dan atur parameter Jenis Permintaan ke Event Requests, seperti yang ditunjukkan pada gambar berikut.

        基本设置

      • Code

        Pilih Node.js 14 dari daftar drop-down Lingkungan Runtime, lalu unggah file index.zip yang Anda buat, seperti yang ditunjukkan pada gambar berikut.

        函数代码

Langkah 3: Teruskan data ke Function Compute

Konfigurasikan aturan penerusan data untuk meneruskan data suhu dan kelembaban yang dikirimkan oleh perangkat TH_sensor ke fungsi pushData2DingTalk.

  1. Pergi ke Konsol IoT Platform Konsol IoT Platform, lalu pergi ke halaman detail instance Anda. Di panel navigasi sisi kiri, pilih , lalu klik Create Rule. Masukkan nama aturan Temperature_humidity_forwarding dan klik OK.

    Penting

    Jika halaman Penerusan Data versi terbaru muncul, klik Back to Previous Version di sudut kanan atas halaman. Ketika halaman Penerusan Data versi sebelumnya muncul, klik Create Rule.

  2. Di halaman Aturan Penerusan Data, klik Write SQL Statement untuk menulis pernyataan SQL yang digunakan untuk memproses data.

    Dalam contoh ini, bidang berikut ditentukan untuk menyaring data:

    • Bidang yang menentukan informasi perangkat: deviceName, tag, dan deviceISN.

    • Bidang yang menentukan data yang dikirimkan: suhu dan kelembaban.

    Contoh pernyataan SQL:

    SELECT 
    deviceName() as deviceName, 
    attribute('tag') as tag, attribute('deviceISN') as isn, 
    items.temperature.value as temperature, items.humidity.value as humidity, 
    timestamp('yyyy-MM-dd HH:mm:ss') as time 
    FROM 
    "/g5j3o***/TH_sensorthing/event/property/post"

    编写SQL

  3. Di halaman Aturan Penerusan Data, klik Add Operation untuk meneruskan data ke Function Compute.

    Dalam contoh ini, layanan IoT_Service dan fungsi pushData2DingTalk dipilih. Untuk informasi lebih lanjut, lihat Teruskan Data ke Function Compute.转发数据

  4. Di halaman Penerusan Data, temukan aturan Temperature_humidity_forwarding yang Anda buat, dan klik Start di kolom Aksi untuk mengaktifkan aturan.

Langkah 4: Hubungkan perangkat thermo-hygrometer ke IoT Platform dan kirimkan data suhu dan kelembaban

Hubungkan perangkat ke IoT Platform melalui Message Queuing Telemetry Transport (MQTT) menggunakan sertifikat perangkat. Lalu, simulasi pengiriman data suhu dan kelembaban.

  1. Buat file JavaScript, seperti iot_device.js, di PC Anda untuk menyimpan contoh kode Node.js.

    Contoh kode Node.js berikut memberikan contoh tentang cara menghubungkan perangkat ke IoT Platform dan mengirimkan data.

    const mqtt = require('aliyun-iot-mqtt');
    // 1. Tentukan informasi sertifikat perangkat.
    var options = {
        productKey: "g18l***",
        deviceName: "TH_sensor",
        deviceSecret: "b2e6e4f102458d84***",
        host: "iot-cn-***.mqtt.iothub.aliyuncs.com"
    };
    
    // 2. Bentuk koneksi MQTT.
    const client = mqtt.getAliyunIotMqttClient(options);
    // Berlangganan topik yang digunakan untuk menerima perintah dari IoT Platform.
    client.subscribe(`/${options.productKey}/${options.deviceName}/user/get`)
    client.on('message', function(topic, message) {
        console.log("topic " + topic)
        console.log("message " + message)
    })
    
    setInterval(function() {
        // 3. Kirim data suhu dan kelembaban pada interval tertentu.
        client.publish(`/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`, getPostData(), { qos: 0 });
    }, 5 * 1000);
    
    function getPostData() {
        const payloadJson = {
            id: Date.now(),
            version: "1.0",
            params: {
                temperature: Math.floor((Math.random() * 20) + 10),
                humidity: Math.floor((Math.random() * 20) + 10)
            },
            method: "thing.event.property.post"
    
        }
        console.log("payloadJson " + JSON.stringify(payloadJson))
        return JSON.stringify(payloadJson);
    }

    Parameter

    Contoh

    Deskripsi

    productKey

    g18l***

    Informasi sertifikat perangkat yang Anda simpan setelah membuat perangkat.

    Anda dapat melihat informasi tersebut di halaman Device Details dari perangkat TH_sensor di Konsol IoT Platform.

    deviceName

    TH_sensor

    deviceSecret

    b2e6e4f102458d84***

    host

    iot-cn-***.mqtt.iothub.aliyuncs.com

    Titik akhir yang digunakan oleh perangkat untuk mengakses IoT Platform melalui MQTT.

    Untuk informasi tentang cara mendapatkan titik akhir, lihat Kelola titik akhir instance.

  2. Setelah pustaka MQTT diunduh, masukkan perintah berikut di jendela Command Prompt dan jalankan kode iot_device.js untuk memulai perangkat:

Hasil

Tanggapan berikut menunjukkan bahwa perangkat terhubung ke IoT Platform dan data telah dikirim:

payloadJson {"id":161848***,"version":"1.0","params":{"temperature":22,"humidity":15},"method":"thing.event.property.post"}

Gambar berikut menunjukkan pesan yang diterima oleh chatbot DingTalk.

钉钉机器人