MQTT (Message Queuing Telemetry Transport) är ett lättmeddelandeprotokoll som vanligtvis används i IoT (Internet of Things) för tillförlitlig och effektiv kommunikation mellan enheter. Att vara värd för en MQTT -server på en Raspberry PI gör att du kan skapa ett lokalt meddelanden nav för dina IoT -projekt. Den här guiden leder dig genom att ställa in och köra en MQTT -server på en Raspberry Pi.
Vad du behöver
- Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
- MicroSD -kort (minst 8 GB, klass 10 eller bättre)
- Strömförsörjning (5V, 2,5A minsta för PI 3; 5V, 3A för PI 4)
- Raspberry Pi Os (Lite eller Desktop -version)
- Internetanslutning
- MQTT -klienter (t.ex. ESP8266, ESP32 eller MQTT -programvaruverktyg)
Steg 1: Uppdatera Raspberry Pi
- Se till att din Raspberry Pi är uppdaterad:
Steg 2: Installera Mosquitto MQTT -mäklare
Mosquitto är en lätt och allmänt använt MQTT -mäklare.
-
Installera Mosquitto och dess klientverktyg:
-
Aktivera Mosquitto att starta vid start:
-
Starta Mosquitto -tjänsten:
Steg 3: Testa MQTT -mäklaren
-
Öppna två terminalfönster eller SSH -sessioner till din Raspberry Pi.
-
Prenumerera på ett testämne i den första terminalen:
-
I den andra terminalen publicerar du ett testmeddelande:
-
Du bör se meddelandet "Hej, MQTT!" i den första terminalen.
Steg 4: Konfigurera Mosquitto för externa anslutningar
-
Öppna Mosquitto -konfigurationsfilen:
-
Lägg till följande rader för att tillåta externa anslutningar:
listener 1883 allow_anonymous true
Notera: För produktionsmiljöer, ställ in användarverifiering istället för att tillåta anonym åtkomst.
-
Starta om Mosquitto -tjänsten för att tillämpa ändringar:
-
Testa anslutningen från en annan enhet i samma nätverk med ett MQTT -klientverktyg (t.ex. MQTT.FX eller MQTT Explorer).
Steg 5: Säkra MQTT -mäklaren (valfritt)
-
Aktivera lösenordsautentisering:
- Ange och bekräfta ett lösenord för användaren.
-
Uppdatera Mosquitto -konfigurationsfilen för att använda lösenordsfilen:
allow_anonymous false password_file /etc/mosquitto/passwd
-
Starta om Mosquitto -tjänsten:
-
Testa anslutningen med användarnamnet och lösenordet.
Steg 6: Anslut IoT -enheter till MQTT -mäklaren
-
För ESP8266/ESP32: Använd Arduino IDE för att programmera dina IoT -enheter för att publicera/prenumerera på ämnen på din Raspberry Pi MQTT -mäklare.
-
För programvaruklienter: Använd mqtt.fx, mqtt explorer eller python med
paho-mqtt
bibliotek.
Felsökning
-
Det går inte att ansluta till MQTT -mäklare:
- Se till att Mosquitto körs:
sudo systemctl status mosquitto
- Kontrollera brandväggsinställningarna på din Raspberry Pi.
- Se till att Mosquitto körs:
-
Autentiseringsfel:
- Kontrollera användarnamnet och lösenordet i Mosquitto -konfigurationen och klientinställningen.
-
Anslutning vägrade:
- Se till att enheten finns i samma nätverk som Raspberry Pi.
- Kontrollera att Port 1883 är öppen.
Applikationer av MQTT
- IoT -enhetskommunikation
- Hemautomationssystem
- Dataströmning i realtid
- Fjärrövervakning och kontroll
Slutsats
Att vara värd för en MQTT -server på en Raspberry Pi är ett utmärkt sätt att möjliggöra lätt och pålitlig kommunikation för dina IoT -projekt. Genom att följa den här guiden kan du ställa in och säkra en Mosquitto MQTT -mäklare, ansluta IoT -enheter och börja bygga kraftfulla applikationer. Experimentera med olika konfigurationer för att utforska MQTT: s fulla potential!