首页 > 其他分享 >使用阿里云物联网平台流程

使用阿里云物联网平台流程

时间:2024-10-12 19:36:14浏览次数:1  
标签:流程 private 编辑 阿里 云物 import com 设备

  模拟设备连接阿里云物联网平台

​编辑

​编辑

1.找到物联网平台 

阿里云物联网平台是一个集成了设备接入、设备管理、数据安全通信、消息订阅、消息转发和数据服务(存储、分析、过滤、解析、集成等)等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过云端SDK调用云端API将指令下发至设备端,实现远程控制。

​编辑

2.我已经试用过了直接点管理控制台

​编辑

3.实例详情 

​编辑

产品就是你要做的产品类型,如智能手表是一个类型,智能水表是一个类型

设备就是你产品下的设备,比如手表001,手表002 

4.物模型

物模型包括,产品 and 产品属性和事件

​编辑

​编辑

 ​编辑

5.给产品添加设备

 ​编辑

6.下载MQTTX 

MQTTX 是一个跨平台的 MQTT 客户端工具,旨在帮助用户快速、简单地与 MQTT 代理进行交互。它提供了一个图形用户界面,使得用户可以方便地测试和调试 MQTT 应用。

桌面端下载 https://mqttx.app/zh

web浏览器网页地址 https://mqttx.app/web-client

7.使用MQTTX模拟设备连接阿里云物联网平台

​编辑

 ​编辑

参数和MQTTX对应 

​编辑 填好连接信息

​编辑

 连接成功

​编辑

 查看阿里云物联网平台会显示在线

​编辑

8.连接成功设置设备属性值

​编辑

复制到 

​编辑

 把${}中的值换成你自己的设备名

这里设置湿度为例子

​编辑

 ​编辑

查看物联网平台设置成功

​编辑

JAVA连接阿里云物联网平台

1.在maven中导入jar包

<!-- https://mvnrepository.com/artifact/com.aliyun/iot20180120 -->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>iot20180120</artifactId>
    <version>3.0.8</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>tea-openapi</artifactId>
    <version>0.2.2</version>
</dependency>

 2.在yml文件中添加

这个accessKeyId之前oss连接的时候有讲,不会创建回去看

zzyl:
  aliyun:
    accessKeyId: LTAI5tMA5wSWRmeuyYPei9Vk
    accessKeySecret: GSNxohmhEcFa4g7p61RRTzRdABMzcH
    consumerGroupId: DEFAULT_GROUP
    regionId: cn-shanghai
    iotInstanceId: iot-06z00cxspzjxue9
    host: iot-06z00cxspzjxue9.amqp.iothub.aliyuncs.com

​编辑 3.给yml中的数据书写配置类

package com.zzyl.properties;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Setter
@Getter
@NoArgsConstructor
@ToString
@Configuration
@ConfigurationProperties(prefix = "zzyl.aliyun")
public class AliIoTConfigProperties {

    /**
     * 访问Key
     */
    private String accessKeyId;
    /**
     * 访问秘钥
     */
    private String accessKeySecret;
    /**
     * 区域id
     */
    private String regionId;
    /**
     * 实例id
     */
    private String iotInstanceId;
    /**
     * 域名
     */
    private String host;

    /**
     * 消费组
     */
    private String consumerGroupId;

}

 4.添加连接BeanConfig

package com.zzyl.config;

import com.aliyun.iot20180120.Client;
import com.aliyun.teaopenapi.models.Config;
import com.zzyl.properties.AliIoTConfigProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class IotClientConfig {

    @Autowired
    private AliIoTConfigProperties aliIoTConfigProperties;

    /**
     * LTAI5tDQKg9F61aJhbmhqVRK
     * LYUKZH7HQGBoD025pmSq0fQsREaOYD
     * @return
     * @throws Exception
     */
    @Bean(name = "iotClient")
    public Client instance() throws Exception {
        Config config = new Config();
        config.accessKeyId = aliIoTConfigProperties.getAccessKeyId();
        config.accessKeySecret = aliIoTConfigProperties.getAccessKeySecret();
        // 您的可用区ID 默认上海
        config.regionId = aliIoTConfigProperties.getRegionId();
        return new Client(config);
    }
}

 5.使用案例

 @Override
    @Transactional(rollbackFor = Exception.class)
    public ResponseResult deleteDevice(QueryDeviceDetailDTO dto) {
        DeleteDeviceRequest request = new DeleteDeviceRequest();
        request.setIotInstanceId(aliIoTConfigProperties.getIotInstanceId());
        request.setIotId(dto.getIotId());
        request.setIotInstanceId(aliIoTConfigProperties.getIotInstanceId());
        request.setProductKey(dto.getProductKey());
        try {
            DeleteDeviceResponse response = iotClient.deleteDevice(request);
        } catch (Exception e) {
            throw new RuntimeException("删除设备失败");
        }
        deviceMapper.deleteDevice(dto.getIotId());
        return ResponseResult.success("删除成功");
    }


标签:流程,private,编辑,阿里,云物,import,com,设备
From: https://www.cnblogs.com/freps/p/18461305

相关文章

  • 棉花音乐 1.41.2 | 支持百度/阿里云盘的多功能音乐播放器
    棉花音乐是一款简洁的本地及网盘音乐播放器,支持本地歌曲、百度网盘、阿里云盘、WebDAV、GoogleDrive、OneDrive、Dropbox等网盘歌曲播放,支持Plex、Emby、Jellyfin、Subsonic媒体服务器。同时支持Android、Windows、Mac、Linux平台。主要功能包括播放历史记录、支持创建歌......
  • 从HCI层浅析BLE Audio通话建立流程
    背景BLEAUDIO音乐播放已经调通了,接下来调试BLEAUDIO的通话,BLEAUDIO通话跟音乐协议类似,都是走CIS链路,也是用同样的codec,比经典蓝牙音乐和通话分别采用不同的A2DP和HFP显得协调多了,下面还是以手机和2个蓝牙耳机为例,结合HCILOG来分析LEAUDIO通话协议的建立:连接建立过程......
  • 使用Lua语言破解滑块验证码的完整流程解析
    本文将使用Lua语言来破解滑块验证码,带领大家一步步实现验证码破解,包括获取图片、计算滑块移动距离、生成滑动轨迹等。下载验证码图片首先,我们要获取滑块的前景图片和背景图片。使用Lua中的socket.http来进行HTTP请求并下载图片。lualocalhttp=require("socket.ht......
  • 服务器启动基本流程及常见启动方式介绍
    1.服务器启动基本流程1.BIOS自检(POST)当服务器电源被打开时,计算机会首先进行基本输入输出系统(BIOS)自检。这个过程会检查硬件设备是否正常,包括内存、硬盘、CPU等。自检过程:电源自检:计算机启动时,BIOS会首先检查电源是否正常工作,包括电源是否接通、电源电压是否稳定等。CPU自......
  • Android中的View绘制流程
    Android中的View绘制流程是一个复杂而精细的过程,它确保了应用程序中的用户界面能够准确、高效地呈现在用户眼前。以下将详细阐述AndroidView的绘制流程,包括测量(Measure)、布局(Layout)和绘制(Draw)三个核心阶段,以及一些相关的优化策略和回调方法。一、View绘制流程概述Android中......
  • 理解重定向的具体原理:文件描述符表与操作流程
    首先回忆一下我们讲操作系统概念时,画的一张图系统调用接口和库函数的关系,一目了然。所以,可以认为,f#系列的函数,都是对系统调用的封装,方便二次开发也就是说 fopenfclosefreadfwrite都是C标准库当中的函数,我们称之为库函数(libc)。而,openclose......
  • Java 内存的使用流程与机制
    Java的内存结构(MemoryStructure)是Java虚拟机(JVM)在运行时管理内存的方式,它直接关系到Java程序的性能和运行的稳定性。Java的内存结构可以总结为以下几个关键部分:堆内存:存储对象和数组,是垃圾回收的主要目标。栈内存:存储局部变量、方法调用栈帧,线程私有。方法区:存储类......
  • 网络搭建的基本流程包括
    网络搭建的基本流程主要包括以下几个步骤:需求分析:明确网络建设的目的和需求,包括网络规模、用户数量、业务类型等。设计规划:逻辑设计:确定网络拓扑结构,如星型、环型或混合型等。物理设计:选择合适的网络设备(如路由器、交换机等)和布线方案。设备采购:根据设计规划购买所需的硬......
  • ClickHouse 数据保护指南:从备份到迁移的全流程攻略
    一、背景运行3年的clickhouse需要迁移机房,迁移单库单表的140亿条的数据。采用clickhouse-backup的方式进行备份迁移,打包备份,再加上数据拷贝,数据恢复一共花费30分钟。数据在一定量级,避免使用SQL导入导出的方式,效率太低二、clickhouse-backup工具介绍clickhouse-back......
  • python 流程控制
    流程控制(一)条件控制if语句每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试。Python根据条件测试的值是True还是Flase来决定是否执行if语句中的代码。如果条件测试为True,Python就执行紧跟在if语句后的代码;如果为False,python就忽略......