支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台

本文介绍了支付宝小程序 - MQTT模拟器通过WSS接入阿里云IoT物联网平台的方法。包括准备工作,如注册阿里云账号、开通IoT套件;控制台操作,如创建产品、定义功能、注册设备;小程序操作,如设备上线、上报数据等;以及小程序开发过程,如socket接口适配和身份认证签名。

支付宝小程序-MQTT模拟器通过WSS接入阿里云IoT物联网平台

小程序效果:
 8651cf17ebd564b7b60559722dfd367792f.jpg

1. 准备工作

1.1 注册阿里云账号

开通阿里云账号,并通过支付宝实名认证 https://www.aliyun.com

1.2 免费开通IoT物联网套件

产品官网 https://www.aliyun.com/product/iote54d2be4288a746e0acd2a126754277a009.jpg

2. 控制台操作步骤

2.1 创建产品

 JSON格式 

98af5a51dad62693dd63ad2287dbe14042c.jpg

2.2 产品功能定义

添加产品属性温度 temperature,湿度 humidity151d32d9fab6dd7b874a4dbf21492f06670.jpg

2.3 注册设备

在产品下注册设备,获得身份三元组9e390fcf8879b39f89331d1c74c221e9e64.jpg

3. 小程序操作                  

3.1 设备上线

7e1ff3d1aa34fea509c712c70ee8886f242.jpg

3.2 上报数据

945642f86ea4f3314e6406022b4ef6b8f8f.jpg

3.3 订阅主题和数据下行

先点击 订阅主题,再去控制台推送消息。4318c306ff49e18d0f3efb001c51539ea22.jpg

发布指令日志

e8c3e482cb920420abdd32537d798d08f09.jpg

小程序效果

4. 小程序开发过程

95fdd124af907955284c9a53288579a2e48.jpg 

4.1 支付宝小程序socket接口适配

socket接口my.sendSocketMessage和my.onSocketMessage都是base64的string,不支持ArrayBuffer,需要自己转换

import miniBase64 from 'mini-base64';
miniBase64.arrayBufferToBase64()

4.2 阿里云IoT身份认证签名

const params = {
      productKey: pageThat.data.productKey.trim(),
      deviceName: pageThat.data.deviceName.trim(),
      deviceSecret: pageThat.data.deviceSecret.trim(),
      timestamp: Date.now(),
      clientId: Math.random().toString(36).substr(2),
    }
    //1.生成clientId,username,password
    const contentStr = "clientId" + params.clientId + "deviceName" + params.deviceName + "productKey" + params.productKey + "timestamp" + params.timestamp;

    var clientId = `${params.clientId}|securemode=2,signmethod=hmacsha1,timestamp=${params.timestamp}|`;
    var username = `${params.deviceName}&${params.productKey}`;
    var password = crypto.HmacSHA1(contentStr, params.deviceSecret).toString();

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

转载于:https://my.oschina.net/u/1464083/blog/3056510

### 阿里云 IoT 平台微信小程序开发与集成教程 #### 一、准备工作 为了顺利地在阿里云物联网平台上开发或集成微信小程序,开发者需完成一系列前期准备活动。这包括但不限于注册并登录阿里云账号,创建产品和设备,在阿里云物联网平台配置好相应的权限设置以及获取必要的API Key等资源[^1]。 #### 二、环境搭建 对于想要利用MQTT协议来实现在微信小程序端对ESP8266这类硬件进行控制的应用场景而言,除了上述提到的基础工作外,还需要安装特定版本的`MQTT.js`库以便于后续操作中的消息传递机制得以正常运作[^2]。 ```javascript // 安装 MQTT.js 库 npm install mqtt --save ``` #### 三、连接至阿里云IoT平台 通过WebSocket方式建立与阿里云IoT平台之间的稳定通信链路是整个流程的关键环节之一。在此期间,应特别注意按照官方文档所提供的指导来进行加密算法的选择及参数设定,从而确保数据传输的安全性和可靠性[^3]。 ```javascript const mqtt = require('mqtt'); let client = mqtt.connect(`wss://${your_device_id}.iot-as-mqtt.${region}.aliyuncs.com:443/mqtt`, { clientId: `${productKey}://${deviceName}/${deviceSecret}`, username: productKey, password: deviceSecret, }); client.on('connect', () => console.log('Connected')); ``` #### 四、功能实现 当成功建立起稳定的网络链接之后,则可以根据实际需求定义具体的功能逻辑。比如可以通过监听来自前端界面的颜色变化事件触发向后端发送指令改变LED灯颜色等功能特性。 #### 五、测试优化 最后一步是对所构建的小程序进行全面细致地调试验证过程,及时发现并解决可能出现的各种异常情况,同时不断调整优化用户体验直至达到最佳效果为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值