最简单的MATLAB MQTT工具箱安装教程(适用于22之前版本)

说明

        本文教程适用于MATLABR2022a版本之前的版本。

        本文方法安装的Mqtt工具箱不需要在MATLAB中添加额外的路径。

        本文安装方法,适用于大部分.mltbx格式的工具箱。

1.工具箱获取

        在MATLAB官网可以直接获取到需要的工具箱。打开下面链接:

MQTT in MATLAB - File Exchange - MATLAB Central

        跳转到界面如下:

        点击下载,选择下载Toolbox格式,若下载Zip格式,请参见其他教程:MQTT在matlab中的应用_matlab mqtt-CSDN博客

        下载完毕,可以看到下载了一个.mltbx格式的文件。

        若无法打开官网,可跳转:MatlabMqttTest: MATLAB2022版本之前的MQTT工具箱。

2.安装

        打开MATLAB。点击“打开”,选择打开.mltbx文件。

        点击“安装”。

       勾选“我同意”,点击“确定”,即可。

3.测试

        安装完成后,依次点击:MATLAB主页——>附加功能——>管理附加功能。弹出的附加功能管理器中,可以看MQTT的图标,即表示安装成功。

        使用此方法安装的Mqtt工具箱,不需要在预设路径中额外添加安装路径。在代码中,不需要添加:
 

javaaddpath('Matlab安装路径\toolbox\matlab mqtt\jar\org.eclipse.paho.client.mqttv3-1.1.0.jar');

javaaddpath('Matlab安装路径\toolbox\matlab mqtt\mqttasync.jar');

4.代码测试

        为确保成功安装了MQTT工具箱,可通过try-catch语句进行判断。代码如下:

Broker ='tcp://xxx';  %此处输入自己的信息
Client = 'xxx';       %三元组
UserName='XXX';
Password='xxx';
TranPort=1883;
SubTopic = 'xxx';     %订阅
PubTopic = 'xxx';     %发布

try
    % 尝试调用Mqtt函数或变量
    myMQTT=mqtt(Broker,...
    'Username',UserName,...
    'Password',Password,...
    'ClientID',Client,...
    'Port',TranPort);
catch ME
    % 检查错误类型
    switch ME.identifier
        case 'MATLAB:UndefinedFunction'
            % 弹出提示窗
            msgbox(sprintf(['检测到未安装Mqtt工具箱\n'...
                '请安装工具箱。']),...
                '错误', 'error');
        otherwise
            % 处理其他类型的错误
            msgbox('发生了未知错误,请联系开发人员。',...
             '错误', 'error');
    end
    return;
end

% 订阅主题
mySub = subscribe(myMQTT,SubTopic,...
                'callback',@(topic, data) ShowMessage(topic, data) ,...
                'Qos',0);
% 发布信息
msg=“OK”;
publish(myMQTT,PubTopic,msg,'Qos',0);

% 回调函数
function ShowMessage(topic,data)
disp(topic);
disp(data);
%此处可添加其他消息处理程序

end

        上述代码使用mqtt函数创建了一个 MQTT 客户端实例 myMQTT,使用subscribe函数,订阅了SubTopic这个主题,并设置了订阅主题的回调函数ShowMessage,当接收到订阅主题的发布消息,程序调用ShowMessage函数显示当前订阅主题与接收到的消息。

        使用publish函数发布了一条消息“OK”到PubTopic这个主题。

        如果出现错误(例如未安装 MQTT 工具箱),则捕获错误并弹出提示框。

          将用户信息填写完毕后,运行代码得到如下结果,可以看到,MQTT客户端接收到了MATLAB发布到“/4G/RB/”主题的“OK”,通过MQTT客户端工具,发布了两条信息:OK和“好了”到主题“/4G/RA”,亦被MATLAB所接收到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值