This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
mqtt [2022/02/14 16:48] – [Bash MQTT RaspberryPI] Jan Forman | mqtt [2022/02/15 14:57] (current) – Jan Forman | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== MQTT ====== | ||
+ | ===== Mosquitto ===== | ||
+ | < | ||
+ | mosquitto_passwd -c / | ||
+ | </ | ||
+ | < | ||
+ | allow_anonymous false | ||
+ | password_file / | ||
+ | </ | ||
+ | ...\\ | ||
+ | configure websocket | ||
+ | < | ||
+ | listener 8083 | ||
+ | protocol websockets | ||
+ | certfile / | ||
+ | cafile / | ||
+ | keyfile / | ||
+ | </ | ||
+ | |||
+ | ===== QoS ===== | ||
+ | ^ Level ^ ^ | ||
+ | | QoS 0 - at most once | There is no guarantee of delivery | | ||
+ | | QoS 1 - at least once | Message is delivered at least one time | | ||
+ | | QoS 2 - exactly once | Safest and slowest quality of service level | | ||
+ | |||
+ | ===== Bash MQTT RaspberryPI ===== | ||
+ | Install client libraries | ||
+ | < | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | ########################## | ||
+ | cd /tmp | ||
+ | host=10.0.0.1 | ||
+ | user=user | ||
+ | pass=pass | ||
+ | topic=/ | ||
+ | pin_a=2 | ||
+ | pin_b=3 | ||
+ | |||
+ | if [ ! -f / | ||
+ | echo " | ||
+ | fi | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | if [ ! -f / | ||
+ | echo " | ||
+ | fi | ||
+ | echo " | ||
+ | echo " | ||
+ | ########################## | ||
+ | |||
+ | while true | ||
+ | do | ||
+ | rm -f /tmp/cmds | ||
+ | mosquitto_sub --remove-retained -i 10.0.0.254 -C 1 -h $host -u $user -P $pass -t $topic >/ | ||
+ | |||
+ | if grep -q " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | if grep -q " | ||
+ | echo " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | date >>/ | ||
+ | sleep 2 | ||
+ | echo " | ||
+ | echo " | ||
+ | sleep 4 | ||
+ | done | ||
+ | </ |