关于MACBOOK配置MQTT服务器,并且使用LInux连接

1.安装环境

1.1安装homebrew

        本人使用的是M1芯片的MACBOOK,首先需要安装mosquitto,如果你的MAC曾安装过homebrew,可以跳过安装homebrew的步骤,如果没有homebrew,可以进入网站Download | Eclipse Mosquitto

        如图所示点击brew.sh

        多种安装方法可供选择,我选择的是第二种,下载.pkg包来安装        

        安装完成Homebrew后,这个界面就是配置环境的方法

        以我的电脑为例,打开~/.bash_profile文件,把文件修改为

export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
eval "$(/opt/homebrew/bin/brew shellenv)"

        然后保存文件。完成后,你可以打开Shell输入命令重新加载 ~/.bash_profile 文件以使更改生效:

source ~/.bash_profile

不同电脑可能文件不一样,你的可能不是文件 ~/.bash_profile,可以通过复制你的Shell发给ChatGPT解决问题,我在配置途中遇到的大部分问题都是寻求的GPT,效率真的很高。

1.2安装mosquitto

        可以直接打开Shell,输入brew install mosquitto即可安装mosquitto。

2.测试MQTT

2.1开启mosquitto

         在开启服务器之前需要配置/opt/homebrew/etc/mosquitto/mosquitto.conf文件(我没修改文件前只能通过MAC的MQTTX软件通过127.0.0.1连接MQTT服务器,让Linux通过自己需要使用的ip却无法连接)。

        

listener 1883
#通过自己的ip设置ip地址,确保此ip能够通过linux ping通
listener 10.211.55.2:1883
allow_anonymous true

        安装成功后有两种方法可以启动 Mosquitto MQTT 代理服务器:

#1.使用 Homebrew 服务启动:你可以运行以下命令来使用 Homebrew 服务启动 Mosquitto,并在登录时重新启动:
brew services start mosquitto
#关闭就是brew services stop mosquitto

#2.手动启动:如果你不想要后台服务,可以手动运行 Mosquitto。运行以下命令:
/opt/homebrew/opt/mosquitto/sbin/mosquitto -c /opt/homebrew/etc/mosquitto/mosquitto.conf

        在这里,我使用的是手动启动。

 2.2使用MQTT连接

        这里我用的127.0.0.1连接

 

        连接的一瞬间我们的Shell里面便有了反应

        通过MQTTX发送信息看一看

2.3使用Linux连接

        使用LInux时候,我使用的ip为10.211.55.2,首先ping一下看看

        这里我使用的是和韦东山老师教学同款的源码,来自于大神JieJieTOP,感谢开源。这里我们开始运行程序./build/bin/emqx,可以看出连接的非常成功。

        通过MQTT发送一个topic为topic1的信息,信息内容为Hello kod,试试看

        可以看见在发送的那一刻,我们的Linux也马上收到了信息

        成功!!!!!!!!!!!!!

3.总结

        我觉得在学习的过程中遇到问题并且解决是一种非常开心的事情,安装环境固然艰难,但是成功后的快乐是很满足的,本人也是在学习韦东山老师的《基于所有Linux开发板-使用MQTT实现智能家居》视频时候配置的环境。本视频适合于MACBOOK用户。

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android Studio中连接MQTT服务器并读取数据,您需要使用MQTT客户端库和相应的代码。以下是一个简单的示例: 1.添加依赖项 在build.gradle文件的dependencies部分中添加以下依赖项: implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' 2.连接MQTT服务器 在代码中,您需要创建一个MqttClient对象并使用连接MQTT服务器。以下是一个示例: String broker = "tcp://mqtt.example.com:1883"; String clientId = "AndroidClient1"; MqttClient mqttClient = new MqttClient(broker, clientId); mqttClient.connect(); 3.订阅主题 一旦连接成功,您可以订阅一个或多个主题以接收来自MQTT服务器的消息。以下是一个示例: String topic = "my/topic"; mqttClient.subscribe(topic); 4.接收消息 一旦订阅了主题,您需要实现MqttCallback接口中的相应方法来处理接收到的消息。以下是一个示例: mqttClient.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable cause) { //处理连接丢失事件 } @Override public void messageArrived(String topic, MqttMessage message) throws Exception { //处理接收到的消息 String payload = new String(message.getPayload()); Log.d(TAG, "Received message: " + payload); } @Override public void deliveryComplete(IMqttDeliveryToken token) { //处理消息传递完成事件 } }); 5.断开连接 在完成所有操作后,您需要断开与MQTT服务器连接。以下是一个示例: mqttClient.disconnect(); 以上是一个简单的示例,您可以根据您的需求进行更改和扩展。请注意,您需要在AndroidManifest.xml文件中声明INTERNET权限才能连接MQTT服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值