支付宝小程序-MQTT模拟器通过WSS接入阿里云IoT物联网平台
- 准备工作
1.1 注册阿里云账号
开通阿里云账号,并通过支付宝实名认证 https://www.aliyun.com
1.2 免费开通IoT物联网套件
产品官网 https://www.aliyun.com/produc...
- 控制台操作步骤
2.1 创建产品
JSON格式
2.2 产品功能定义
添加产品属性温度 temperature,湿度 humidity
2.3 注册设备
在产品下注册设备,获得身份三元组
- 小程序操作
3.1 设备上线
3.2 上报数据
3.3 订阅主题和数据下行
先点击 订阅主题,再去控制台推送消息。
发布指令日志
小程序效果
- 小程序开发过程
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();
IoT物联网技术
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。