Hoe Mosquitto MQTT Broker / Server op Ubuntu 16.04 te installeren

MQTT is een "lichtgewicht" berichtenprotocol op basis van publiceren / abonneren via TCP / IP voor communicatie tussen "Internet of Things" -apparaten zoals ESP8266, Raspberry Pi, enz. Het is erg populair bij lage bronnen en batterijgevoede toepassingen zoals thuis automatisering, alarmsystemen en sensornetwerken op batterijen.

Mosquitto is een open source berichtenmakelaar (of server) die MQTT-protocollen implementeert. Met zijn goede gemeenschapsondersteuning, documentatie en installatiegemak is het een van de meest populaire MQTT-makelaars geworden.

Vereisten

  • Een Ubuntu 16.04-server met roottoegang
  • Open poort TCP:1883op firewall

Stap één: Installeer Mosquitto Broker

Update de pakketlijst van Ubuntu en installeer de nieuwste beschikbare Mosquitto Broker

sudo apt-get update
sudo apt-get install mosquitto

De Mosquitto-service start na installatie.

Stap twee: installeer de clients en test

Installeer MQTT-clients

sudo apt-get install mosquitto-clients

Mosquitto-clients helpen ons om MQTT eenvoudig te testen via een opdrachtregelprogramma. We zullen twee opdrachtvensters gebruiken, één om u te abonneren op een genoemd onderwerp "test"en één om er een bericht naar te publiceren.

Onderwerpen zijn labels die door de broker worden gebruikt om berichten voor elke verbonden klant te filteren. Een clientprogramma dat op een onderwerp "Home1/BedroomTemp"is geabonneerd, luistert alleen naar berichten die door andere clients naar hetzelfde onderwerp zijn gepubliceerd.

Abonneer u op onderwerp "test"

mosquitto_sub -t "test"

Mosquito_subis een abonneerclient die we in de vorige opdracht hebben geïnstalleerd. Hier specificeren we " -t" gevolgd door een onderwerpnaam.

Publiceer een bericht voor het onderwerp "test"

Log als tweede instantie in op de terminal en publiceer een bericht over het "test"onderwerp.

mosquitto_pub -m "message from mosquitto_pub client" -t "test"

Hier wordt de extra parameter " –m" gevolgd door het bericht dat we willen publiceren. Druk op " Enter" en je zou een bericht moeten zien mosquitto_pub clientverschijnen in een andere terminal waar mosquito_sub clientwordt uitgevoerd.

Stap drie: beveilig met een wachtwoord

Mosquitto wordt geleverd met een hulpprogramma voor het genereren van wachtwoordbestanden mosquitto_passwd.

sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password

Maak een configuratiebestand voor Mosquitto dat verwijst naar het wachtwoordbestand dat we zojuist hebben gemaakt.

sudo nano /etc/mosquitto/conf.d/default.conf

Dit opent een leeg bestand. Plak het volgende erin.

allow_anonymous false
password_file /etc/mosquitto/passwd

Sla de teksteditor op en sluit deze af met " Ctrl+O", " Enter" en " Ctrl+X".

Start nu de Mosquitto-server opnieuw op en test onze wijzigingen.

sudo systemctl restart mosquitto

Druk in het venster voor de abonneerclient op " Ctrl+C" om de abonneerclient af te sluiten en start deze opnieuw op met de volgende opdracht.

mosquitto_sub -t "test" -u "dave" -P "password"

Let hier op de hoofdletter -P .

Probeer in het venster Client publiceren een bericht zonder wachtwoord te publiceren.

mosquitto_pub -t "test" -m "message from mosquitto_pub client"

Het bericht wordt afgewezen met het volgende foutbericht.

Connection Refused: not authorised.
Error: The connection was refused.

Publiceer nu een bericht met de usernameen password.

mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"

Druk op " Enter" en je ziet het bericht in het venster van de abonneerclient, zoals in stap twee.

Gevolgtrekking

We hebben nu een met een wachtwoord beveiligde MQTT-server opgezet. U kunt het openbare IP-adres van uw Ubuntu-server gebruiken als MQTT-makelaar voor uw projecten.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.