Internet av saker (IoT) förlängningssladd (9 / 13 steg)
Steg 9: Installera MQTT mäklare
Du behöver en "Message Broker" [MQTT servern], vilka klienter publicera och prenumerera på "Ämnen". I det här fallet Raspberry Pi kommer att köra Message Broker, och också kommer att prenumerera på ämnena för varje förlängning uttagen.
Pre-Requitsites
Ange följande kommandon i konsolen Raspberry Pi...
CD
apt-get update #always bra
apt-get install gcc g ++ gör #essentials
lämplig-få installera libc-ares-dev uuid-dev daemon xsltproc docbook-xsl #mosquitto
Installera MQTT
Ange följande kommandon i konsolen Raspberry Pi...
CD
wget < en href = "http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz" rel = "nofollow" > http://mosquitto.org/files/source/mosquitto-1.4.2...</a>
tar zxf mosquitto-1.4.2.tar.gz
CD-mosquitto-1.4.2
se installera
ldconfig
mkdir/etc/mosquitto
CP mosquitto.conf/etc/mosquitto
nano /etc/mosquitto/mosquitto.conf
Avkommentera och uppdatera följande rader i "mosquitto.conf"...
pid_file /var/run/mosquitto.pid
användare mosquitto
Port 1883
protokoll mqtt
lyssnaren 9001
.. .exit redaktör och spara filen. Därefter lägger till användaren "mosquitto" - du kan behöva ange ett lösenord. Tryck enter på alla andra användare fält...
adduser mosquitto
nano /etc/init.d/mosquitto
.. .add följande kod i Tom "mosquitto" init script...
#! / bin/sh
### BÖRJA INIT INFORMATION
# Ger: mosquitto
# Krävs-Start: $remote_fs $syslog
# Krävs-Stop: $remote_fs $syslog
# Standard-Start: 2 3 4 5
# Standard-Stop: 0 1 6
# Kort-beskrivning: mosquitto MQTT v3.1 message broker
# Beskrivning:
# Det här är en meddelande mäklare som stöder version 3.1 av MQ telemetri
# (MQTT) transportprotokoll.
#
# MQTT ger en metod för genomförandet av meddelanden med hjälp av en publicera/prenumerera
# modell. Det är lätt, både vad gäller användning av bandbredd och användarvänlighet
# genomförandet. Detta gör det särskilt användbart i utkanten av nätverket
# där en sensor eller annan enkel enhet kan vara implementerats med en arduino för
# exempel.
### AVSLUTA INIT INFO
ställa in -e
PIDFILE=/var/run/mosquitto.PID
DAEMON = / usr/lokal/sbin/mosquitto
# /etc/init.d/mosquitto: starta och stoppa mosquitto MQTT message broker
testa - x ${DAEMON} || utgång 0
umask 022
. /lib/lsb/init-functions
# Vi kör från init?
run_by_init() {
(["$previous"] & & ["$runlevel"]) || ["$runlevel" = S]
}
exportera sökväg = "${sökväg: + $PATH:} / usr/sbin: / sbin"
fallet "$1" i
Start)
log_daemon_msg "Starting Mosquitto message broker" "mosquitto"
om start-stop-daemon--start--quiet--oknodo--bakgrunden--make-pidfile--pidfile ${PIDFILE}--exec ${DAEMON}--- c /etc/mosquitto/mosquitto.conf; sedan
log_end_msg 0
annat
log_end_msg 1
Fi
;;
Stop)
log_daemon_msg "Stoppa Mosquitto message broker" "mosquitto"
om start-stop-daemon--sluta--quiet--oknodo--pidfile ${PIDFILE}; sedan
log_end_msg 0
RM -f ${PIDFILE}
annat
log_end_msg 1
Fi
;;
reload|Force-reload)
log_daemon_msg "Ladda konfiguration stöds inte" "mosquitto"
;;
starta om)
log_daemon_msg "Restarting Mosquitto message broker" "mosquitto"
om start-stop-daemon--sluta--lugnt--oknodo--retry 30--pidfile ${PIDFILE}; sedan
RM -f ${PIDFILE}
Fi
om start-stop-daemon--start--quiet--oknodo--bakgrunden--make-pidfile--pidfile ${PIDFILE}--exec ${DAEMON}--- c /etc/mosquitto/mosquitto.conf; sedan
log_end_msg 0
annat
log_end_msg 1
Fi
;;
försök-omstart)
log_daemon_msg "Restarting Mosquitto message broker" "mosquitto"
Set + e
start-stop-daemon--stop--lugnt--retry 30--pidfile ${PIDFILE}
RET = "$?"
ställa in -e
fallet $RET i
0)
# gamla daemon stannade
RM -f ${PIDFILE}
om start-stop-daemon--start--quiet--oknodo--bakgrunden--make-pidfile--pidfile ${PIDFILE}--exec ${DAEMON}--- c /etc/mosquitto/mosquitto.conf; sedan
log_end_msg 0
annat
log_end_msg 1
Fi
;;
1)
# daemon inte körs
log_progress_msg "\ (inte running\)"
log_end_msg 0
;;
*)
# gick inte att stoppa
log_progress_msg "\ (inte stop\)"
log_end_msg 1
;;
ESAC
;;
status)
status_of_proc -p ${PIDFILE} ${DAEMON} mosquitto & & exit 0 || avsluta $?
;;
*)
log_action_msg "användning: /etc/init.d/mosquitto \{start|stop|reload|force-reload|restart|try-restart|status\}"
utgång 1
ESAC
utgång 0
.. .configure init-skript som körs vid uppstart...
chown root: roten /etc/init.d/mosquitto
chmod + x /etc/init.d/mosquitto
uppdatera-rc.d mosquitto försummelsen
uppdatera-rc.d mosquitto aktiverar
/etc/init.d/mosquitto start
.. .och slutligen starta Raspberry Pi...
omstart