登录/注册

怎么通过MQTT协议接入OneNET平台

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传递协议,专为资源受限的设备和低带宽、不可靠网络环境设计。它最初由IBM开发,现已成为物联网领域的标准协议之一。那设备通过MQTT协议接入OneNET平台要怎么办?

更多

以下是使用MQTT协议接入中国移动OneNET物联网平台的简明步骤:

1. 平台准备

2. MQTT连接参数

密码生成示例(Token方式):

import hashlib
product_id = "your_product_id"
device_name = "your_device_name"
api_key = "your_api_key"

# 生成过期时间戳(示例为1小时后)
expire = int(time.time()) + 3600

# 计算签名
sign_str = f"products/{product_id}/devices/{device_name}".encode()
sign = hashlib.sha1(sign_str + api_key.encode()).hexdigest()

# 组合最终密码
password = f"version=2018-10-31&res={sign_str}&et={expire}&method=sha1&sign={sign}"

3. 连接示例(Python伪代码)

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("连接成功")
        # 订阅命令主题
        client.subscribe(f"$sys/{product_id}/{device_name}/thing/command/post")
    else:
        print(f"连接失败,错误码: {rc}")

client = mqtt.Client(client_id=device_name, protocol=mqtt.MQTTv311)
client.username_pw_set(username=product_id, password=password)
client.connect("mqtt.heclouds.com", 1883, 60)
client.on_connect = on_connect
client.loop_start()

4. 数据上传

使用标准物模型格式(JSON)发布数据到属性主题:

topic = f"$sys/{product_id}/{device_name}/thing/property/post"
payload = {
    "id": "123",
    "version": "1.0",
    "params": {
        "temperature": 25.6,
        "humidity": 45
    }
}
client.publish(topic, json.dumps(payload), qos=1)

5. 命令接收

订阅命令响应主题并处理消息:

def on_message(client, userdata, msg):
    payload = json.loads(msg.payload)
    print("收到命令:", payload)
    # 处理命令并回复
    reply_topic = f"$sys/{product_id}/{device_name}/thing/property/post/reply"
    client.publish(reply_topic, json.dumps({"id": payload["id"], "code":200}))

client.on_message = on_message

注意事项

  1. 保持心跳:默认keepalive为60秒,网络不稳定时可适当缩短
  2. QoS建议:关键数据使用QoS1保证送达
  3. 重连机制:实现自动重连逻辑应对网络波动
  4. 证书验证:使用8883端口时需要配置CA证书
  5. 数据格式:遵循OneNET物模型规范或自定义数据格式

建议测试时使用MQTT.fx工具进行协议调试,正式开发时参考OneNET官方文档获取最新接口规范。

MQTT.fx 连接Onenet协议接入平台 MQTT协议(旧版)详解

TCP dtu.heclouds.com 183.230.40.40 1811 打开Onenet平台,多协议

2024-09-30 15:20:04

如何使用OneNET平台MQTT功能?

MQTT是一种轻量级的通信协议,适用于物联网设备之间的可靠通信。本教程将介绍如何使用OneNET

2023-10-20 08:21:23

如何接入OneNET平台

下面介绍下如何接入OneNET平台,采用MQTT

2023-05-26 11:04:45

如何轻松实现MQTT接入阿里云IoT平台

教你轻松实现使用MQTT协议接入阿里云平台

资料下载 蓝蜂物联网 2023-03-29 11:05:43

ESP8266通过MQTT协议连接ONENET

ESP8266通过MQTT协议连接ONENET一、设计目标二、

资料下载 萧持毅 2022-01-12 19:58:56

NodeMCU学习(十)--发送数据到OneNET物联网平台

通过NodeMCU发送数据到OneNET平台,序号先在OneNET

资料下载 佚名 2021-10-25 17:06:04

鸿蒙开发板上使用MQTT协议OneNET实现第一个物联网项目

通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、

资料下载 ah此生不换 2020-10-26 17:27:17

M5310-A MQTT接入OneNET平台的指导手册资料免费下载

本手册描述 M5310-A 模组与 OneNET 平台对接流程示例,对接时,采用 OneNET

资料下载 物联网小程 2019-06-17 08:00:00

OneNET Studio云平台STM32物联网开发(1)- MQTT协议设备接入数据上报测试

OneNET Studio云平台STM32物联网开发(1)- MQTT协议

2022-09-25 01:01:26

怎样通过MQTT实现ESP8266与ONENET平台数据交互呢

本文将介绍通过MQTT协议连接ONENET,实现ESP8266与

2022-02-24 07:50:30

使用CC3200通过MQTT协议Onenet平台完成基本的连接

I2C可以和这两个传感器通信,获取对应的数据。Onenet是中国移动推出的物联网云平台,支持主流的物联网协议,本次实验将使用CC3200

2022-02-22 08:23:20

OpenHarmony轻量系统开发【12】OneNET接入

/hihope-3861-smart-home-kit12.1 OneNET云介绍通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植

2022-01-26 14:19:41

NodeMCU通过MQTT协议接入OneNET语言

本章主要讲解NodeMCU通过MQTT协议接入

2021-11-01 06:19:43

在鸿蒙开发板上使用MQTT协议OneNET实现第一个物联网项目 精选资料分享

通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、

2021-07-13 07:13:15

【HarmonyOS】在鸿蒙开发板上使用MQTT协议OneNET实现第一个物联网项目

产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET

2020-10-26 16:59:44
7天热门专题 换一换
相关标签