写点什么

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

作者:阿里云AIoT
  • 2023-03-15
    浙江
  • 本文字数:787 字

    阅读完需:约 3 分钟

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

小程序效果: 

image.png


1. 准备工作

1.1 注册阿里云账号

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

1.2 免费开通 IoT 物联网套件

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

image.png


2. 控制台操作步骤

2.1 创建产品

 JSON 格式

image.png


2.2 产品功能定义

添加产品属性温度 temperature,湿度 humidity

image.png


2.3 注册设备

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

image.png


3. 小程序操作                  

3.1 设备上线


image.png


3.2 上报数据


image.png


3.3 订阅主题和数据下行

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

image.png


发布指令日志

image.png


小程序效果

image.png


4. 小程序开发过程


image.png

 

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://www.aliyun.com/product/iot/iot_instc_public_cn


阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台——设备接入类_JavaScript_阿里云AIoT_InfoQ写作社区