阿里云IOT 用MQTT.fx 连接 生成用户密码 swing桌面工具

阿里云IoT设备连接地址生成器

 

package license.aliyuniot;


import com.formdev.flatlaf.FlatDarculaLaf;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SignatureException;
import java.util.Formatter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.swing.*;
import javax.swing.border.*;

/**
 * @author 1
 */
public class AliyunIot extends JFrame {
    public static void main(String[] args) {
        FlatDarculaLaf.install();
        new AliyunIot().setVisible(true);
    }
    public AliyunIot() {

        initComponents();

        //655 540

        setTitle("三元组生成连接地址");  // 标题
        setResizable(false); // 固定窗体
        //setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //退出窗口不适用
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口 ,退出进程

        //显示屏幕中央
        int width = 400;  //宽度
        int height =  300;  // 高度
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        /** 屏幕宽度 */
        int screenWidth = screenSize.width;
        /** 屏幕高度 */
        int screenHeight = screenSize.height;
        setLocation((screenWidth - width) / 2, (screenHeight - height) / 2);
        setMinimumSize(new Dimension(width,height));  //窗体大小




        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String productKey = textField1.getText();
                String deviceName = textField2.getText();
                String deviceSecret = textField3.getText();

                if(productKey == null || "".equals(productKey)){
                    JOptionPane.showMessageDialog(null,"productKey 不能为空");
                    return;
                }else if(deviceName == null || "".equals(deviceName)){
                    JOptionPane.showMessageDialog(null,"deviceName 不能为空");
                    return;
                }else if(deviceSecret == null || "".equals(deviceSecret)){
                    JOptionPane.showMessageDialog(
### 使用 MQTT.fx 连接到 AWS IoT 网关 为了成功使用 MQTT.fx 客户端连接至 AWS IoT 平台,需遵循一系列特定配置步骤以确保安全性和功能性。 #### 获取终端节点信息 在开始之前,需要从 AWS IoT 控制面板中获取终端节点信息。这一步骤至关重要,因为此信息用于指定客户端尝试建立连接的目标地址[^1]。进入 AWS IoT 的控制界面,在左侧导航栏找到并点击“设置”。页面会展示出终端节点详情,务必复制这一信息以便后续操作中应用。 #### 准备认证材料 AWS IoT 对于每一个试图与其通信的应用程序都实施严格的验证机制。这意味着除了上述提到的终端节点外,还需准备由 AWS 提供的身份验证文件——通常是一组包含 CA 根证书、设备专属证书及其对应的私钥在内的三份文件。这些资料可以在创建事物时自动生成,并可通过 AWS IoT 控制台下载获得[^4]。 #### 配置 MQTT.fx 参数 打开 MQTT.fx 应用程序后,按照如下指南调整其参数设定: - **Broker URL**: 将先前取得的终端节点粘贴于此处作为 Broker 地址; - **ClientID**: 输入独一无二的字符串代表当前客户实例身份; - **Username & Password (可选)**: 如果启用了用户密码模式,则在此输入相应凭证; - **TLS Settings**: 启用 SSL/TLS 加密选项,并加载前述提及的三个证书文件路径; - **Will Message (遗嘱消息, 可选)**: 设置当异常断开连接时发送的通知内容; - **LWT Topic (Last Will and Testament 主题, 可选)**: 指定接收 LWT 消息的主题名称。 完成以上各项配置之后,即可点击 Connect 按钮测试连通性。如果一切正常,MQTT.fx 就能够顺利地与 AWS IoT Core 建立起基于 TLS 协议的安全通道了[^2]。 ```bash mosquitto_pub \ --cafile /path/to/root-ca.pem \ --cert /path/to/device-certificate.crt \ --key /path/to/private-key.key \ --tls-version tlsv1.2 \ -h your-endpoint.amazonaws.com \ -p 8883 \ -t '$aws/things/thingName/shadow/update' \ -m '{"state":{"desired":{"property":"value"}}}' ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值