【小程序案例】支付宝小程序-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 

原文连接 

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

相关文章
相关标签/搜索