Tüm Ürünler
Search
Belge Merkezi

IoT Platform:TSL verilerini ayrıştırmak için betik gönderme

Son Güncelleme:Oct 03, 2026

Bu konu, Veri Türü parametresi Özel olarak ayarlanmış ürünler için Thing Specification Language (TSL) verilerini ayrıştıran bir betiğin nasıl yazılacağını ve betiğin nasıl gönderileceğini açıklar. Ayrıca, yukarı ve aşağı yönlü özellik verilerini ayrıştırmak için kullanılabilecek örnek betikler sunar.

Önkoşullar

Ürünü oluştururken ürünün Veri Türü parametresini Custom olarak ayarlamış olmanız gerekir. Daha fazla bilgi için bkz. Create a product.

Arka plan bilgileri

Veri Türü parametresi ICA Standard Data Format (Alink JSON) olarak ayarlanır. Bu durumda, cihazlar Alink JSON formatında veri oluşturur ve bu verileri IoT Platform'a bildirir. Alink JSON veri formatı hakkında daha fazla bilgi için bkz. Device properties, events, and services.

Veri Türü parametresi Custom olarak ayarlanır. Bu durumda, cihazlar IoT Platform ile iletişim kurarken IoT Platform, gönderdiğiniz veri ayrıştırma betiklerini kullanarak yukarı yönlü TSL verilerini Alink JSON formatlı verilere dönüştürür ve aşağı yönlü TSL verilerini özel formatta cihaz verilerine dönüştürür.

Not

Bu örnekte varsayılan modülün özellikleri kullanılır. Özel bir modül kullanıyorsanız, her tanımlayıcıyı şu formatta belirtmeniz gerekir: ${Module identifier}:${Property identifier}. Örnek: model1:prop_int16.

Adım 1: Betik yazma

  1. Create a product. IoT Platform console içinde bir ürün oluşturun ve Data Type parametresini Custom olarak ayarlayın.

  2. Add a TSL feature: Ürün için bir TSL modeli tanımlayın.

    Bu örnekte üç özellik tanımlanmıştır. Aşağıdaki tabloda bu özellikler açıklanmaktadır.


    Identifier


    Data type


    Valid value


    Read/write type


    prop_float


    FLOAT


    -100~100


    Read and write


    prop_int16


    INT32


    -100~100


    Read and write


    prop_bool


    BOOLEAN


    0: enabled and 1: disabled


    Read and write

    Betik, TSL modeline dayalı olarak yukarı ve aşağı yönlü TSL verilerini ayrıştıracak şekilde yazılır.

    Bu örnekte, veri iletişimi için kullanılan parametrelerin değerlerinin uzunlukları belirtilmiştir. Aşağıdaki tabloda bu uzunluklar açıklanmaktadır.

    • Cihazların veri bildirmek için gönderdiği istekler


      Parameter


      Number of bytes


      Frame Type


      1 byte


      The ID of the request


      4 bytes


      prop_int16


      2 bytes


      prop_bool


      1 byte


      prop_float


      4 bytes

    • Veri bildirme isteklerine verilen yanıtlar


      Parameter


      Number of bytes


      Frame Type


      1 byte


      The ID of the request


      4 bytes


      Result code


      1 byte

    • Özellikleri yapılandırmaya yönelik istekler


      Parameter


      Number of bytes


      Frame Type


      1 byte


      The ID of the request


      4 bytes


      prop_int16


      2 bytes


      prop_bool


      1 byte


      prop_float


      4 bytes

    • Özellik yapılandırma isteklerine verilen yanıtlar


      Parameter


      Number of bytes


      Frame Type


      1 byte


      The ID of the request


      4 bytes


      Result code


      1 byte

  3. Bir betik yazın.

    1. Products sayfasında yönetmek istediğiniz ürünü bulun ve Actions sütununda View seçeneğine tıklayın.

    2. product details sayfasında Message Analysis seçeneğine tıklayın.

    3. Bir programlama dili seçin ve Edit Script alanında bir betik yazın.


      Supported scripting language


      The function that converts upstream data in a custom format to Alink JSON-formatted data:


      The function that converts Alink JSON-formatted data to downstream data in a custom format:


      Sample code


      JavaScript (ECMAScript 5)


      rawDataToProtocol


      protocolToRawData


      Sample JavaScript script


      Python 2.7


      raw_data_to_protocol


      protocol_to_raw_data


      Python sample script


      PHP 7.2


      rawDataToProtocol


      protocolToRawData


      PHP sample script

      Not

      Özel konulara gönderilen verileri ayrıştırmak için kullanılabilecek bir betik yazmanız gerekir. Betiğin nasıl yazılacağı hakkında bilgi için bkz. Submit a message parsing script.

      Özel konulara gönderilen verileri ve TSL verilerini ayrıştırmak için kullanılabilecek tam örnek betikler hakkında bilgi için bkz. Sample JavaScript code used to parse custom data, Complete sample code for parsing pass-through or custom data in Python ve Sample PHP code used to parse custom data.

Adım 2: Betiği çevrimiçi test etme

Önemli

Bu örnekte belirtilen ve döndürülen onaltılık dize ve JSON formatlı veriler yalnızca test amaçlıdır ve gerçek senaryolarda hata ayıklama için kullanılamaz.

Betiği yazdıktan sonra, Simulation Type parametresini yapılandırın ve betiği test etmek için Input Simulation sekmesinde simüle edilmiş veriler belirtin.

  • Bir cihazın IoT Platform'a bildirdiği simüle edilmiş özellik verilerini kullanarak betiği test edin.

    Simulation Type parametresini Upstreamed Device Data olarak ayarlayın, aşağıdaki simüle edilmiş verileri girin ve ardından Run seçeneğine tıklayın.

    Not

    Bu örnekte simüle edilmiş JavaScript verileri kullanılır. Örnek JavaScript betikleri hakkında daha fazla bilgi için bkz. Sample JavaScript script.

    Örnek Python ve PHP betikleri hakkında bilgi için bkz. Python sample script ve PHP sample script.

    JSON formatlı verileri onaltılık verilere dönüştürmek için dizeleri onaltılık verilere dönüştüren bir araç kullanabilirsiniz. Örneğin, dönüştürülen onaltılık veri 00002233441232013fa00000 ise aşağıdaki verileri belirtin:

    0x00002233441232013fa00000

    Veri ayrıştırma motoru, geçiş verilerini betikte tanımlanan kurallara göre JSON formatlı verilere dönüştürür.

    Parsing Results seçeneğine tıklayın. Parsing Results sekmesi ayrıştırılmış verileri görüntüler.

    {
        "method": "thing.event.property.post", 
        "id": "2241348", 
        "params": {
            "prop_float": 1.25, 
            "prop_int16": 4658, 
            "prop_bool": 1
        }, 
        "version": "1.0"
    }
  • IoT Platform'un bir cihaza döndürdüğü simüle edilmiş sonuç verilerini kullanarak betiği test edin.

    Simulation Type parametresini Received Device Data olarak ayarlayın, aşağıdaki JSON formatlı verileri girin ve ardından Run seçeneğine tıklayın.

    {
      "id": "12345",
      "version": "1.0",
      "code": 200,
      "method": "thing.event.property.post",
      "data": {}
    }

    Veri ayrıştırma motoru JSON formatlı verileri aşağıdaki verilere dönüştürür:

    0x0200003039c8
  • IoT Platform'un bir cihaza özellikleri değiştirmesini istemek için gönderdiği simüle edilmiş verileri kullanarak betiği test edin.

    Simulation Type parametresini Received Device Data olarak ayarlayın, aşağıdaki JSON formatlı verileri girin ve ardından Run seçeneğine tıklayın.

    {
        "method": "thing.service.property.set", 
        "id": "12345", 
        "version": "1.0", 
        "params": {
            "prop_float": 123.452, 
            "prop_int16": 333, 
            "prop_bool": 1
        }
    }

    Veri ayrıştırma motoru JSON formatlı verileri aşağıdaki verilere dönüştürür:

    0x0100003039014d0142f6e76d
  • Bir cihazın özellikleri değiştirdikten sonra IoT Platform'a döndürdüğü simüle edilmiş sonuç verilerini kullanarak betiği test edin.

    Simulation Type parametresini Upstreamed Device Data olarak ayarlayın, aşağıdaki verileri girin ve ardından Run seçeneğine tıklayın.

    0x0300223344c8

    Veri ayrıştırma motoru geçiş verilerini aşağıdaki JSON formatlı verilere dönüştürür:

    {
      "code": "200",
      "data": {},
      "id": "2241348",
      "version": "1.0"
    }

Adım 3: Betiği gönderme

Önemli

IoT Platform betikleri çalıştırabilmek için önce betikleri IoT Platform'a göndermeniz gerekir. Taslak durumundaki betikler çağrılamaz.

Betiğin verileri beklendiği gibi ayrıştırdığını onayladıktan sonra, betiği IoT Platform'a göndermek için Submit seçeneğine tıklayın. IoT Platform, yukarı ve aşağı yönlü verileri ayrıştırmak için bu betiği kullanabilir.

Adım 4: Fiziksel bir cihaz kullanarak hata ayıklama

Betiği işinizde kullanmadan önce, IoT Platform'un betiği çağırıp çağıramadığını ve yukarı/aşağı yönlü verileri ayrıştırıp ayrıştıramadığını kontrol etmek amacıyla fiziksel bir cihaz kullanarak IoT Platform ile iletişim kurun.

Bir cihazı yapılandırmak ve IoT Platform'a bağlamak için IoT Platform Link SDK'yı kullanabilirsiniz. Daha fazla bilgi için bkz. Link SDK.

  • IoT Platform'un yukarı yönlü özellik verilerini ayrıştırmak için betiği çağırabildiğini doğrulayın.

    1. Cihazı kullanarak 0x00002233441232013fa00000 gibi özellik verilerini IoT Platform'a bildirin.

    2. IoT Platform konsolunda sol gezinme bölmesinden Devices > Devices seçeneğini belirleyin.

    3. Devices sayfasında cihazı bulun ve Actions sütununda View seçeneğine tıklayın. Device Details sayfasında TSL Data sekmesine ve ardından Status sekmesine tıklayın. Bildirilen özellik verilerinin mevcut olup olmadığını kontrol edin.

  • IoT Platform'un aşağı yönlü özellik verilerini ayrıştırmak için betiği çağırabildiğini doğrulayın.

    1. IoT Platform konsoluna oturum açın. Sol gezinme sayfasında Maintenance > Online Debug seçeneğini belirleyin.

    2. Online Debug sayfasında hata ayıklamak istediğiniz ürünü ve cihazı seçin ve ardından Default Module seçeneğini belirleyin. Hata ayıklamak istediğiniz özelliğin tanımlayıcısını seçin (örneğin prop_int16). Yöntemi Set olarak ayarlayın. Aşağıdaki verileri girin ve Send Command seçeneğine tıklayın.

      {
          "method": "thing.service.property.set", 
          "id": "12345", 
          "version": "1.0", 
          "params": {
              "prop_float": 123.452, 
              "prop_int16": 333, 
              "prop_bool": 1
          }
      }
    3. Cihazın özellikleri yapılandırma komutunu alıp almadığını kontrol edin.

    4. Device Details sayfasında TSL Data > Status seçeneğini belirleyin. Görüntülenen sekmede geçerli özellik verilerinin cihaz tarafından bildirilip bildirilmediğini kontrol edin.

İsteğe bağlı: Mesaj ayrıştırma betiğini güncelleme

Bir mesaj ayrıştırma betiği gönderdikten sonra, betiği değiştirmek veya silmek için Message Parsing sekmesine dönebilirsiniz. Değişikliklerinizi test etmek ve göndermek için Procedure bölümündeki adımları izleyin. Değişiklikler yaklaşık bir dakika içinde etkili olur. Güncellenen betik, ürünle ilişkili tüm mevcut ve yeni cihazlara uygulanır.

Uyarı
  • Betiği değiştirip yeniden gönderirseniz, mesaj ayrıştırma hizmeti için ilgili iş mantığını da güncellemeniz gerekir. Aksi takdirde hizmetleriniz kesintiye uğrayabilir.

  • Betiği silerseniz, ürünle ilişkili cihazlar için mesaj ayrıştırma hizmeti kullanılamaz hale gelir. Bu durum hizmetlerinizi kesintiye uğratabilir.

Dikkatli ilerleyin.

İlgili konular