OneNET MQTT 微信小程序
时间: 2024-05-24 22:09:25 浏览: 303
OneNET MQTT 微信小程序是基于OneNET平台的MQTT协议开发的一款微信小程序。通过该小程序,用户可以方便地将设备连接到OneNET平台,并通过MQTT协议实现设备的数据收发、远程控制等功能。
该小程序提供了以下主要功能:
1. 设备列表:显示用户所拥有的设备列表。
2. 设备详情:查看设备的详细信息,包括设备ID、设备名称、设备状态等。
3. 数据收发:实时查看设备数据,并通过MQTT协议向设备发送指令。
4. 设备控制:通过MQTT协议远程控制设备,例如打开灯光、关闭电器等。
如果您想了解更多关于OneNET MQTT 微信小程序的信息,可以访问OneNET官网或者微信小程序商店进行查看和下载。
相关问题
微信小程序通过ONEnet的mqtt
微信小程序通过OneNET的MQTT协议可以实现设备数据的实时接收、发送以及控制功能。以下是详细说明:
### 一、背景知识
**1. OneNET平台**
- OneNET是中国移动推出的一站式物联网开放平台,支持多种通信协议(如HTTP、TCP、CoAP等),其中也包括广泛应用于物联网场景下的轻量级消息传输协议——MQTT。
**2. MQTT协议简介**
- MQTT是一种基于发布/订阅模式的消息传递协议,特别适合网络环境较差或者需要低带宽消耗的应用场景。
- 它的主要特点有:高可靠性和稳定性;极简的数据包设计降低系统开销;心跳检测机制保证长连接的有效性。
---
### 二、如何在微信小程序中接入OneNET的MQTT服务?
#### **步骤1:准备工作**
- 注册并登录到[中国移动OneNET官网](https://open.iot.10086.cn/)创建项目,并获取所需的`设备ID` 和 `APIKey` 等基本信息。
- 下载官方提供的SDK文档或其他第三方库用于简化开发流程。(例如github上有许多封装好的mqtt客户端)
#### **步骤2:引入Mqtt.js SDK**
为了方便操作,在前端可以直接引用 [Eclipse Paho JavaScript Client] 这样的开源工具集来处理WebSocket+MQTT 的交互需求。
```javascript
// 示例代码
import { client } from 'mqtt'; // 假设这是加载mqtt库的方式
```
#### **步骤3:建立MQTT连接**
设置好必要的参数比如主机地址(`broker`)端口号等等之后就可以尝试发起一次握手动作了。
```javascript
const mqttClient = mqtt.connect('wss://mq.yourdomain.com/mqtt', {
clientId: "your_client_id", // 可选唯一标识符
username: "your_api_key_or_deviceid",
password: "" // 根据实际情况填写密码字段内容
});
mqttClient.on("connect", function () {
console.log("Connected to broker!");
});
```
这里需要注意的是实际使用的url可能会因为具体的oneNet实例部署而有所不同,请参照各自账户后台给出的确切信息为准。
#### **步骤4:订阅主题和监听回调函数**
一旦成功建立了链接就要告诉服务器我们关心哪些特定的主题(topic),以便当对应事件发生时能够及时收到通知。
```javascript
mqttClient.subscribe("/devices/{device_id}/datastreams/*", (err) => {
if (!err){
console.log("Successfully subscribed topics.");
}
});
mqttClient.on("message",(topic,message)=>{
const parsedMessage=JSON.parse(message.toString());
alert(`${parsedMessage.name}:${parsedMessage.value}`);
});
```
上述例子展示了简单地从指定设备读取所有传感器数值的情况。当然也可以针对某单一属性点制定更精确规则。
#### **步骤5:推送指令给远程硬件终端**
如果希望反过来主动影响联网装置的状态,则需采用publish命令向其广播自定义荷载payload.
```js
let cmdPayload={
command:"turnOnLed"
};
mqttClient.publish(`/devices/${deviceId}/commands`, JSON.stringify(cmdPayload),{qos:1},(error)=>{})
```
---
### §三、总结优势
利用这样的架构模型可以让开发者轻松构建起跨地域分布式的互动型应用方案,同时由于采用了标准化接口规范故具备良好的兼容性和扩展能力。
---
新版onenet 微信小程序
### 关于新版 OneNET 平台与微信小程序集成的信息
#### 一、前言
随着物联网技术的发展,越来越多的应用场景需要通过便捷的方式实现设备管理与控制。微信小程序作为一种轻量级应用开发方式,在结合OneNET平台后能够快速构建具备物联网特性的应用程序。
#### 二、准备工作
为了使微信小程序成功对接OneNET平台的新版本,开发者需完成如下准备事项:
- 注册并登录OneNET官网账号;
- 创建所需的产品和设备实例;
- 获取API Key用于鉴权访问[^1];
#### 三、核心功能实现
##### (一)建立连接
利用WebSocket协议或者RESTful API形式向OneNET发送请求来获取实时数据流或执行特定命令。对于前者而言,建议采用MQTT over WebSocket的形式以降低网络延迟并提高通信效率[^2]。
##### (二)读写操作
借助OneNET提供的标准化HTTP接口进行设备属性查询及设置工作。例如,可以通过POST /devices/{device_id}/datapoints 接口上传传感器采集到的数据点至云端存储空间内[^3]。
```javascript
wx.request({
url: 'https://api.heclouds.com/devices/<your_device_id>/datapoints',
method: 'POST',
header: {
'content-type': 'application/json;charset=utf-8',
'api-key': '<Your_API_Key>'
},
data: JSON.stringify({ "datastreams": [{ "id": "<stream_name>", "datapoints": [{"value": value}]}]})
})
```
##### (三)事件监听
针对某些重要业务逻辑(如报警通知),可订阅相应主题的消息推送服务以便及时响应外部变化情况。这通常涉及到创建自定义Topic以及配置回调函数处理机制等内容。
#### 四、注意事项
在整个过程中需要注意安全性和稳定性方面的要求,比如合理规划权限范围防止越权行为发生;定期维护更新依赖库确保兼容性良好等措施都是必不可少的环节之一。
阅读全文
相关推荐














