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

news/2024/10/12 19:37:45

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

编辑

编辑

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: LTAI5tMA5wSWRmeuyYPei9VkaccessKeySecret: GSNxohmhEcFa4g7p61RRTzRdABMzcHconsumerGroupId: DEFAULT_GROUPregionId: cn-shanghaiiotInstanceId: iot-06z00cxspzjxue9host: 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 {@Autowiredprivate 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("删除成功");}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70783.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【应急响应+Linux】常见的rootkit隐藏手段:通过劫持shell环境,实现文件、进程名隐藏等操作

原理 修改或构造/etc/profile.d/ 下sh文件,劫持环境变量,从而实现覆盖常见的命令,如:ps、ls、lsof等; 实现: 1、配置环境变量 shell脚本:重新登录用户之后;或者使用命令source /etc/profile 更新配置,使生效; 2、根目录下存在的myshell.sh文件被隐藏:执行ls命令效果…

UPX 脱壳 学习

加壳是什么? 程序保护机制,保护程序不那么容易呗逆向。upx是一种开源的压缩壳软件 命令行执行: 加壳:UPX + sample.exe 脱壳:upx -d sqmlp.exe(一般不管用) 手动脱壳 1.找到原始程序的入口地址(OEP) 2.在原始程序入口地址处设置**硬件断点**(下次调试可快速进入原始代…

【应急响应+Linux】常见的rootkit隐藏手段:通过挂载/proc/pid实现pid隐藏

原理 ps 、netstat 是遍历/proc 来显示pid的原理,通过隐藏相关 /proc/pid 文件夹来实现pid隐藏 实现 运行如下命令,将pid对应文件夹挂载到隐藏目录上面 mount -o bind /home/.hidden /proc/9212现象: 如下图,使用root权限调用 netstat 发现 PID和Programname 都是空:排查方…

ton发起交易的时候需要先设置一点value作为gasfee,用完它会退回。

如果不设置gasfee,ton就不会处理的: // Send Msglet msg = beginCell().storeBuffer(Buffer.from("c5341626", "hex")) // 发送结构体.storeStringTail("1").endCell()let seqno: number = await wallet_contract.getSeqno()console.log(&qu…

什么是AI网关?AI网关在企业系统中承担什么角色?

AI 大模型的发展正在推动各行业的增长,据有关报告显示:“未来十年内预计年均增长率将达到37.3%,全球企业预计在2027年之前将在AI领域投入8000亿美元"。这一迅猛发展促使许多企业进行战略转型,技术团队也需要调整其构建、运行、扩展及保护AI应用、网络和基础设施的方式…

Issac_GYM对Go2机器人的仿真心得

override 覆盖 torques 扭矩 1 args()参数信息等 cd /home/yyds/桌面/Gym2/legged_robot_competition-master/legged_gym/legged_gym/utils/helpers.py这里对 train等参数的调用情况进行了说明 比如: python play.py --task=go2 --num_envs=64 --checkpoint=50 --load_run=/…

2024-2025-1 20241401 《计算机基础与程序设计》 第三周学习总结

班级的链接 2024计算机基础与程序设计作业要求 第三周作业作业目标 1、数字分类与计数法位置计数法,2、进制转换,3、模拟数据与数字数据,4、压缩与解压,5、数字化,6、信息安全作业正文 本博客教材学习内容总结 《计算机科学概论》第二章、第三章二进制数值 计数系统(进制…

lnav: 用于 Linux 的高级日志文件浏览器

原创 咬到舌头的小蛇 IT开DD那点小事如果你想调试或排除问题,使用像 lnav 这样的高级日志文件查看器是非常必要的。它在任何 Linux 系统的终端中都能发挥巨大的作用。 lnav: 日志文件查看器 lnav 可以即时解压缩所有的压缩日志文件,并将它们合并在一起进行漂亮的显示。显示是…