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 | ||
| + | </ | ||