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

开发者社区> IoT> 正文

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

简介: 支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台

支付宝小程序-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();

IoT物联网技术

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
IoT
使用钉钉扫一扫加入圈子
+ 订阅

物联网软硬件开发者一站式基地

其他文章