GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit Mosquitto MQTT Server na Ubuntu 16.04

Mosquitto MQTT Server je zprostředkovatel zpráv, který pracuje přes protokol MQTT. MQTT je lehký protokol pro zasílání zpráv, který je standardem ISO pro použití nad protokolem TCP/IP. Většinou se používá pro komunikaci se zařízeními internetu věcí. Chystáme se nainstalovat Mosquitto na server Ubuntu 16.04 a budeme odesílat zprávy z MQTT-spy softwaru. Mosquitto je projekt Eclipse a je distribuován pod licencí EDL. Takže začneme.

Kompilace serveru Mosquitto MQTT ze zdroje

Chcete-li nainstalovat komár, musíme provést následující kroky. Nejprve aktualizujte seznam zdrojů a získejte závislosti

apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc

Přidejte uživatele mosquitto, protože ve výchozím nastavení běží jako non-root.

adduser mosquitto

Pro pohodlí přidáme tomuto uživateli práva sudo, protože zbytek instalačního procesu provedeme jako tento uživatel

usermod -aG sudo mosquitto

Poté se přihlásíme jako tento uživatel a cd do jeho domovského adresáře

su mosquitto

cd

Dále si stáhneme zdrojový kód Mosquitto, nejnovější verze je v době psaní článku 1.4.9, ale doporučuji vám zkontrolovat stránku pro stahování, abyste zjistili, zda není nová verze. Pojďme si tedy stáhnout nejnovější verzi

wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

Rozbalíme jej a cd do adresáře

tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/

A pak zkompilujeme a nainstalujeme software

make && sudo make install

Konfigurace serveru Mosquitto MQTT

Po dokončení instalace musíme vytvořit heslo pro nového uživatele.

sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy

Budete vyzváni k vytvoření hesla pro nového uživatele mqtt-spy, které použijeme pro připojení z klienta. To se liší od uživatele komára, tedy systémového uživatele pro provoz komárového serveru. Tomuto uživateli komára musíme přidat oprávnění do všech relevantních adresářů

sudo mkdir /var/lib/mosquitto/

sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/

Dále musíme vytvořit konfigurační soubor pro Mosquitto MQTT Server, takže k vytvoření nového souboru použijte nano

sudo nano /etc/mosquitto/mosquitto.conf

Zde můžete vložit toto

persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

Konfigurace se zdá dlouhá, ale přidali jsme podrobnější protokoly a soubor s hesly.

Po uložení konfigurace spustíme ldconfig

sudo ldconfig

Pojďme přidat soubor systemd unit

sudo nano /etc/systemd/system/mosquitto.service

Vložte toto:

[Unit]
Description=Insite MQTT Broker

[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

Spusťte službu

sudo systemctl start mosquitto.service

A zkontrolujte jeho stav

systemctl status mosquitto.service

Chcete-li jej spustit při spouštění, proveďte tento příkaz

sudo systemctl enable mosquitto.service

Nastavení MQTT-Spy a připojení

MQTT-Spy je Java klient, který budeme používat pro připojení k MQTT serveru. Můžete jej získat z githubu, ale musíte mít nainstalovaný Oracle JDK. NEFUNGUJE s OpenJDK. První věc, kterou musíte udělat po spuštění MQTT-spy, je vytvořit nové připojení. Přidáte IP svého serveru a výchozí port 1883.

Poté přidáte heslo a uživatelské jméno, které jsme vytvořili dříve, v mém případě je to mqtt-spy a heslo je heslo.

Poté můžeme otevřít okno terminálu na serveru a zadat následující příkaz

mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password

Pro vysvětlení parametrů, -v je pro podrobnost, -t je pro téma následované tématem v uvozovkách, -u je pro uživatele a -P je heslo. Po zadání tohoto příkazu se zdá, že se zasekne, ale pak musíme použít MQTT-spy k vytvoření nového tématu a odeslání zprávy do stejného tématu, jako na obrázku níže.

Závěr

Úspěšně jsme nainstalovali server Mosquitto MQTT, který vám umožňuje mít síť připojených zařízení IoT přes protokol MQTT 3.1. Nainstalovali jsme jej na Ubuntu na klasickém x86 PC, které většina lidí používá pro účely vývoje a učení. Pro skutečný IoT byste chtěli zařízení ARM. To je pro tento článek vše, děkuji za přečtení.


Ubuntu
  1. Jak nastavit Zimbra Mail Server na Ubuntu 16

  2. Jak nastavit NTP server na Ubuntu a LinuxMint

  3. Nastavení serveru Rsyslog na Ubuntu 20.04 – Jak na to?

  1. Jak nastavit server OpenVPN na Ubuntu 20.04

  2. Jak nastavit Rsyslog Server na Ubuntu 18.04 LTS

  3. Jak nastavit MySecureShell SFTP Server na Ubuntu 18.04

  1. Jak nastavit FTP server s VSFTPD na Ubuntu 20.04

  2. Jak nastavit FTP server s VSFTPD na Ubuntu 18.04

  3. Jak nastavit místní server úložiště APT na Ubuntu 20.04