【小程序案例】支付寶小程序-MQTT模器,IoT設備經過WSS接入阿里雲IoT物聯網平臺

支付寶小程序-MQTT模擬器經過WSS接入阿里雲IoT物聯網平臺

小程序效果:
小程序

1. 準備工做

1.1 註冊阿里雲帳號

開通阿里雲帳號,並經過支付寶實名認證 https://www.aliyun.comdom

1.2 免費開通IoT物聯網套件

產品官網 https://www.aliyun.com/product/iot
image.pngsocket

2. 控制檯操做步驟

2.1 建立產品

 JSON格式 
image.png阿里雲

2.2 產品功能定義

添加產品屬性溫度 temperature,溼度 humidity
image.pngspa

2.3 註冊設備

在產品下注冊設備,得到身份三元組
image.png3d

3. 小程序操做                  

3.1 設備上線

image.png

3.2 上報數據

image.png

3.3 訂閱主題和數據下行

先點擊 訂閱主題,再去控制檯推送消息。
image.png日誌

發佈指令日誌
image.pngcode

小程序效果
image.pngblog

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();

 

本文做者:wongxmig 

原文連接 

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索