Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!
  • Fermate
    Fermate

    MQTT Komme i gang (2)

    MQTT (Message Queuing Telemetry Transport) er en lettvekts protokoll for maskin til maskin kommunikasjon.

    Av den grunn er den blitt veldig populær i smarthus sammenheng og er supportert av mange smarthus systemer.

    Vi skal bruke den her for å kommunisere med en ESP32 for å lage devicer som kan styres med smarthuset.

     

    Det finnes masse fine artikkler som diskuterer MQTT så google dem selv. Mitt hode forenkler det slik:

    • Du setter opp en MQTT Broker som er et program som kjører kontinuering på en PC eller en Raspberry PI eller tilsvarende. Alle Clientene sender meldinger til denne og den videresender meldinger til dem som har bedt om det.
    • Når en device (MQTT Client) starter, kobler den seg opp til Brokeren ved å vite IP addressen (og noen ganger brukernavn/passord) og port nummeret til Brokeren.  (Ligger i kode på samme måte som SSID og passord til WiFien) Den gir også brokeren "navnet" sitt (ClientID)
    • Når Klienten har fått kontakt med Brokeren sier den ifra hvilke meldinger den ønsker å motta. Vi sier at den abonnerer på et topic
    • Navnet på meldingene gis på formen meldingsnavn /underMeldingsnavn og navnet kan utvides med flere nivåer på  formatet hovedMeldingsnavn/underMeldingsnavn/underUnderMeldingsnavn osv.
    • En kan også bruke # og + som wildcards for å anngi en gruppe meldinger.
    • Når en klient sender en melding til Brokeren gir den den et topic navn på dette formatet.
    • Så om Klient1 abonnerer på meldinger av typen hus/Baderom/vifte og klient2 sender en melding til Brokeren med topic hus/Baderom/vifte vil Brokeren sende denne videre til klient1 (og alle andre klienter som abonnerer på dette topicet)
    • For å folge med i det som skjer kan du koble deg til Brokeren med en klient som sier han vi ha beskjed om ALLE meldingene, en "MQTT Debugger" eller en "MQTT Explorer"

     

    For at vi skal kunne bruke MQTT til å la ESP32en snakke med Smarthus systemet må vi altså ha en MQTT Broker.

    Noen smarthus-systemer har slike innebygget (jeg bruker mscMQTT pluginen i HomeSeer) andre ønsker å ha dem separat kjørende på en Rasberry-PI eller som en service på en (smarthus) PC.

    Jeg overlater til dere å velge en løsning som passer for dere, men for testing tar vi med hvordan du setter opp en enkel MQTT broker:

     

    Mosquitto er en open source MQTT Broker (kan også kjøre som klient om nødvendig) som du kan laste ned herfra:
    https://mosquitto.org/download/

     

    Kjør install men dersom du ikke har tenkt at den skal kjøre i bakgrunn på PCen din som en service, tar du bort krysset på "Service".

    Når den er ferdig med å installere pleier jeg å flytte mosquitto mappen fra Program Filer til C:\ for å slippe alt bråket når jeg skal editere filer.

     

    • Gå til mappen og rename mosquitto.conf til mosquitto.conf-orginal 
    • Lag en ny fil med navnet mosquitto.conf og legg disse linjene i den:
      listener 1883
      allow_anonymous true
    • Lag en ny fil start.bat og legg disse linjene i den:
      ipconfig
      mosquitto -v  -c mosquitto.conf
    • Dobbelklikk denne filen og du skal få opp et vindu som dette:

     

    image.png

     

    Du har nå en MQTT broker kjørende på den IP adressen som vises, og som viser all aktivitet som skjer i den DOS boksen.

     

    Før vi kaster oss på å sende meldinger til den med en ESP32 skal vi teste litt med MQTT Explorer:

    Jeg bruker MQTT Explorer som du finner her:
    https://mqtt-explorer.com/

     

    Last den ned og start opp.

    Skriv inn IP adressen til Brokeren under HOST og trykk Connect. Du skal nå få opp et bilde som dette:


    image.png

     

    Vi kan nå sende en medling til Brokeren og se den ankomme:

    image.png

     

    I Mosquitto vinduet vil du se det raser forbi meldinger men du vil også se at meldingen mottas (Gul) og deretter sendes videre til(bake) til MQTT Exploreren (Grønn)

     

    image.png

     

     

    I neste Guide; ESP32/MQTT Det første programmet skal vi bruke ESP32'en til å sende og motta meldinger og følge med på meldingene på denne måten.

     

    User Feedback

    Recommended Comments

    There are no comments to display.



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.