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
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
Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado
Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês
Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão
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 > eAplique todas as regras específicas do idioma rigorosamente
Aplique as regras de stopwords com tolerância zero
Use o modo imperativo em passos numerados e listas de procedimentos
Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento
Varie os inícios de frase em listas e tabelas — nenhum iniciador deve se repetir mais de 3 vezes
Retorne APENAS o documento markdown em português do Brasil, sem explicações