Mosquittopaho 和Paho MQTT的一些事情

46 篇文章 4 订阅
46 篇文章 6 订阅

  MQTT 协议已经非常普及了。我们在程序中使用Mosquittopaho 作为linux 上的MQTT 代理,而客户端使用Paho MQTT库。用起来非常简单,但是有些细节还是值得记录下来。

端口和协议

    Mosquittopaho 开放了个端口(1883和9001),端口 1883 使用基于MQTT 的协议,在TCP上接收直接MQTT包。而9001 使用基于MQTT over websocket协议。在Http/websocket 上接收MQTT 包。websocket 适合于浏览器客户端使用。

开放websocket 端口需要在配置文件(mosquitto.conf)中打开。也可以自己定义一个default.conf. 运行时要指定default.conf 文件

mosquitto -c /etc/mosquitto/conf.d/default.conf

mosquitto.conf 和default.conf 文件的内容

listener 1883
protocol mqtt 
listener 9001
protocol websockets
 

 

使用websocket ,需要在usr/local/lib 中有 libwebsockets.so 共享库,在window wsl 下,发现没有

sudo apt-get update
sudo apt-get install libwebsockets-dev

也遵循网路的内容,打了下面的命令:

ln -s /usr/local/lib/libwebsockets.so.10 /usr/lib/libwebsockets.so.10

结果好了。

 

 

Paho MQTT  客户端

javascript 库

在paho 官网https://projects.eclipse.org/projects/iot.paho/downloads 下载的是paho-mqtt.js和paho-mqtt-min.js 的压缩包。

记住:使用时, paho-mqtt.js 只支持websoket 协议,所以要使用9001 端口。

C 库

    我使用的是 C client source 1.3.0  同样在paho 官网上下载。下载之后,编译成了一个静态库libpahomqtt3.c.a.  在src/sample 下由例子,我使用MQTTClient_publish 和MQTTClient_subscribe 两个例程。使用clang 编译。

 mqtt app文件目录

mqtt_app

   -  pahomqtt

         libpahomqtt3.c.a

         -include

   MQTTClient_publish.c

  MQTTClient_subscribe.c

编译CMD

结果

浏览器端的MQTT 程序可以和C语言的MQTT 程序相互通信。

 

 

 

 

 

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值