Last Updated on : 2023-05-22 06:38:11download
A cloud project provides the message subscription feature. If the device status in the project changes, such as registration, data reporting, and offline events, Message Service is used to actively push event data to external partners with Pulsar. This helps to implement real-time and persistent messages.
Currently, Tuya Smart Message Service is customized and modified based on open source Pulsar. The Pulsar SDK for Python is provided.
In this topic, the Python development tool PyCharm is used to receive messages.
Click Pulsar SDK to download the package to the local computer and decompress the package.
Use PyCharm to open the source code project: Click Open to find the downloaded and decompressed file in the previous step.
Add a dependency environment.
py2 version dependency
py3 version dependency
In this topic, Python for PC is v3.8.
View the dependency package.
Click PyCharm > Preferences on the top navigation bar to view the project environment at Project:python > Python Interpreter.
Modify the parameters in the example/index.js
file. This topic takes the test channel as an example.
# accessId, accessKey,serverUrl,MQ_ENV
ACCESS_ID = "xt*****ff**n1****8ufo"
ACCESS_KEY = "479bcb7345******582d9c******4ef7"
WSS_SERVER_URL = "wss://mqe.tuyacn.com:8285/"
MQ_ENV = MQ_ENV_PROD
The parameters are described as follows.
ACCESS_ID
: Enter the value of Access ID in the Authorization Key section on the Tuya IoT Development Platform.
ACCESS_KEY
: Enter the value of Access Secret in the Authorization Key section on the Tuya IoT Development Platform.
WSS_SERVER_URL
: Be sure to use the URL of the specified domain name where the private cloud is deployed.
MQ_ENV
: the message subscription channel.
MQ_ENV_PROD
represents the production environment.MQ_ENV_TEST
represents the test environment.MQ_ENV_TEST
in MQ_ENV
represents the test environment. MQ_ENV_PROD
represents the production environment.
The messages reported by the test device will be sent through the test channel to accelerate debugging of device functions.
On the development tool PyCharm, right-click the pythonWssConsumerDemo.py
file and select Run to run it.
Control the device with a mobile app.
Automatically get the push messages on PyCharm.
Display the data. For more information about field descriptions, see Message Types.
Received message
received message origin payload: {"data":"5dBU8WiRS1+zydoFTtaVKuL+DnRGSSj1VvrRH4pN1kvawIq2mG/fZTd9TCimqpGPzQtf9wFhkSQ6IBE2P3yYPj6CrsqFEQvL9PFeHpD9Z9KadznFwSQX6sgRa2f2ANFHDTC8pZ0+fLnWge7AqPG4LdxobOPC7kNpk92hmXjB0PEOZ2Du4MbP4NSN49QcJ4MPoKVOkbMxkxYUbynUW5fQ6FgHYZYcTUp+a0vF/oS3VL3jGH5tallpI10RZxofJ72f","protocol":4,"pv":"2.0","sign":"b8a548131304b49b524fca193f9ffd63","t":1630979005761}
Parse payload data
decryptContentData={"dataId":"fe3a7d80-0f7c-11ec-8511-024283c73485","devId":"vdev******86991","productKey":"na****jz","status":[{"1":"true","code":"switch_led","t":1630979005725,"value":true}]}
For more information about the payload data parsing method, see Data Signature. The payload decryption method has been encapsulated in the SDK.
Received message
received message origin payload: {"data":"z/xrNsO26LmxprqP0OaMSXdSXy2jAEiz0blUCnlUZe7awIq2mG/fZTd9TCimqpGPzQtf9wFhkSQ6IBE2P3yYPj6CrsqFEQvL9PFeHpD9Z9KadznFwSQX6sgRa2f2ANFHDTC8pZ0+fLnWge7AqPG4LSlV4VEv7NtZ0T9wsM0xsQe+Gd3lcDRjtoWkeHTaIhvNzw8Y01IymwbZVRlVvpO3bLeIRohJoYtnI0lpflt6tcoKE7H3tlNNyLhx/y903ldy7z0o3iD5KROUiGtsAvdO0WfAsVxl87x4EbH6A7FLPOR2vyfiUckMP3+KlQR/CA6UtuuExvaaSNCeSx8NL2Rpmw==","protocol":4,"pv":"2.0","sign":"7ce23e6fb11386020cc4a58524cf2a4e","t":1630979195061}
Parse data
decryptContentData={"dataId":"6f0f12a7-0f7d-11ec-8511-024283c73485","devId":"vdev******86991","productKey":"na****jz","status":[{"2":"white","code":"work_mode","t":1630979195023,"value":"white"},{"3":"764","code":"bright_value_v2","t":1630979195023,"value":764}]}
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback