Todos os produtos
Search
Central de documentação

IoT Platform:Script de exemplo em Python

Última atualização: Jun 26, 2026

Utilize o modelo e o script de exemplo em Python a seguir para analisar mensagens enviadas a tópicos personalizados.

Modelo de script

SELF_DEFINE_TOPIC_UPDATE_FLAG = '/user/update' # The custom topic /user/update. 
SELF_DEFINE_TOPIC_ERROR_FLAG = '/user/update/error' # The custom topic /user/update/error. 

# Call a function to convert the data of the messages in a custom topic to JSON data when the device submits data to IoT Platform. 
# topic: the input parameter that specifies the topic to which the device sends messages. The value is a string.    
#rawData: the input parameter. The value is a list of integers that cannot be empty. 
# jsonObj: the output parameter. The value is a JSON object that indicates a dictionary.     
def transform_payload(topic, rawData):
   jsonObj = {}
   return jsonObj

Script de exemplo

Nota

O script de exemplo a seguir analisa apenas mensagens enviadas a tópicos personalizados. Se você definir o parâmetro

Data Type

do produto como

Custom

, também será necessário escrever um script para analisar mensagens da Thing Specification Language (TSL). Para mais informações, consulte

Enviar um script de análise de mensagem do modelo TSL

.

Para obter informações sobre custom data formats, consulte Criar um produto.

# coding=UTF-8
SELF_DEFINE_TOPIC_UPDATE_FLAG = '/user/update' # The custom topic /user/update. 
SELF_DEFINE_TOPIC_ERROR_FLAG = '/user/update/error' # The custom topic /user/update/error. 

#  Sample data:
#  Custom topic: /user/update, to which data is sent. 
#  Input:
#     topic: /${productKey}/${deviceName}/user/update
#     bytes: 0x000000000100320100000000
#  Output:
#  {
#     "prop_float": 0,
#     "prop_int16": 50,
#     "prop_bool": 1,
#     "topic": "/${productKey}/${deviceName}/user/update"
#   }
def transform_payload(topic, bytes):
    uint8Array = []
    for byteValue in bytes:
        uint8Array.append(byteValue & 0xff)

    jsonMap = {}
    if SELF_DEFINE_TOPIC_ERROR_FLAG in topic:
        jsonMap['topic'] = topic
        jsonMap['errorCode'] = bytes_to_int(uint8Array[0:1])

    elif SELF_DEFINE_TOPIC_UPDATE_FLAG in topic:
        jsonMap['topic'] = topic
        jsonMap['prop_int16'] = bytes_to_int(uint8Array[5:7])
        jsonMap['prop_bool'] = bytes_to_int(uint8Array[7: 8])
        jsonMap['prop_float'] = bytes_to_int(uint8Array[8:])

    return jsonMap

# Convert a byte array into data of the INT type. 
def bytes_to_int(bytes):
    data = ['%02X' % i for i in bytes]
    return int(''.join(data), 16)

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum iniciador deve se repetir mais de 3 vezes

  10. Retorne APENAS o documento markdown em português do Brasil, sem explicações