支付寶小程式-MQTT模拟器通過WSS接入阿裡雲IoT物聯網平台
小程式效果:

1. 準備工作
1.1 注冊阿裡雲賬号
開通阿裡雲賬号,并通過支付寶實名認證
https://www.aliyun.com1.2 免費開通IoT物聯網套件
産品官網
https://www.aliyun.com/product/iot2. 控制台操作步驟
2.1 建立産品
JSON格式
2.2 産品功能定義
添加産品屬性溫度 temperature,濕度 humidity
2.3 注冊裝置
在産品下注冊裝置,獲得身份三元組
3. 小程式操作
3.1 裝置上線
3.2 上報資料
3.3 訂閱主題和資料下行
先點選 訂閱主題,再去控制台推送消息。
釋出指令日志
小程式效果
4. 小程式開發過程
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物聯網技術