电子学生证开发·MQTT
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
MQTT 的使用方法
MQTT 订阅有很多中用法,一种是使用多个 TOPIC 订阅,另一种是使用单个 Topic ,其中单个 TOPIC 订阅,还能使用通配符匹配.
MQTT 服务器 mosquitto 安装
安装 mosquitto: Open Source MQTT v5/v3.1.x Broker
dnf install -y mosquitto systemctl enable mosquitto systemctl start mosquitto
检查是否工作正常,开启两个终端窗口,分别运行下面两个命令。
[root@netkiller ~]# mosquitto_sub -h localhost -t "sensor/temperature" 23 [root@netkiller ~]# mosquitto_pub -h localhost -t sensor/temperature -m 23
190.2.2. 配置
[root@netkiller ~]# grep -v "^#" /etc/mosquitto/mosquitto.conf | grep -v "^$" listener 1883 0.0.0.0 allow_anonymous false password_file /etc/mosquitto/pwfile [root@netkiller ~]# touch /etc/mosquitto/pwfile [root@netkiller ~]# mosquitto_passwd -b /etc/mosquitto/pwfile homeassistant fag9iaTaix8nohL2cheenai7nua3sohjohfah7iuz1ileSheiRahs0och9Aedai8
190.2.3. Docker 方式安装
生成配置文件
mkdir -p /opt/mosquitto/ docker run --rm --entrypoint cat eclip