IoT RC bil med Intel Edison (IntelIoT) (3 / 5 steg)
Steg 3: Förståelse MQTT och arbetar med MQTT med Edison
MQTT är en Publisher-prenumerant baserat lätta kommunikationsprotokoll för maskin till maskin- och saker-att-saker. Det ger en mycket önskad flexibilitet i IoT ram. Allmänt kommunicera-maskiner och saker via HTTP över webben. HTTP-paket har sin egen header vilket ökar paketlängden. MQTT paket å andra sidan bäddar in bara data i TCP/UDP-paket och är därför mindre byte konsumerar vilket i slutändan resulterar i bättre kommunikationshastighet med lägre latens. Det introducerar också kvaliteten av Service(QoS) i protokollet som ger mycket önskad tillförlitlighet. Sin natur protokollet är utan säkerhet, men om det genomförs över SSL , det ger en säker kommunikation.
Om du är en perfektionist och geek, är detta protokoll i dokumentet ett bra ställe att lära dig Detaljer av protokollen. För dem som bara vill ha en snabb förståelse av mekanismen i stället för skelettet, ärdenna artikel en bra bokmärke och läsa resurs.
Så kort sagt ansluter MQTT två olika enheter via en mäklare. En av dessa enheter är en utgivare som antingen kan publicera det är sensorn information eller kontrollera data till mäklaren i en viss kanal, den andra är en abonnent som prenumerera på kanalen. När det finns vissa data i kanalen, får abonnenten data asynkront. Båda dessa avsluta peer kallas klienter (Ja, även förlaget kallas klient).
Mosquitto är en av de mest populära öppen källkod fondkommissionär som också ger klientverktyg och är därför ett utmärkt val. Det är extremt lätta vikt och linux-kompatibel.
För att installera Mosquitto, allt du behöver göra är logik till din Edison styrelse igenom SSH användande en mjukvaran som spackel.
Om du vill veta detaljer om arbetar med Edison använder Putty, kan du kontrollera den länkade handledningen.
När du har loggat in i Edison styrelsen genom Putty, måste du följa några enkla steg för att installera mygga.
1. Ladda ner
typ följande kommando i din shell och tryck Ange.
wget http://mosquitto.org/files/source/mosquitto-1.3.5...
2. untar
tar xzf mosquitto-1.3.5.tar.gz
[Not, om du är i katalogen SD kort (/media/sdcard) och vill installera det där, måste du använda följande kommando för untar
tar xzf mosquitto-1.3.5.tar.gz--no-samma-ägare
]
3. installera
CD-mosquitto-1.3.5
göra WITH_SRV = ingen lägga till användaren mosquitto
Det är bara allt. MQTT mäklare och klienten verktyg installeras och mäklare körs på din Edison. Mäklaren startar automatiskt efter omstart. Mygga erbjuder även en online mäklare test.mosquito.org för att snabbt testa pub-sub protokoll.
För att testa MQTT online, öppna en annan putty session och logga in till styrelsen via SSH. Skriv nu följande befalla i fönstret.
mosquitto_sub -h test.mosquitto.org -p 1883 -t CHANNEL_NAME
Du kan använda någon meningsfull Kanalnamn som YOUR_NAME/SOME_CHANNEL_NAME. Jag använder en Kanalnamn som "Kjell/Edison/ControlSignal" som min kanalnamn. Du kan använda valfritt format du önskar.
När du kör kommandot ovan, väntar en process för mottagning av kommandot.
Nu öppna en annan session och kör följande befalla
mosquitto_pub -h test.mosquitto.org -p 1883-t CHANNEL_NAME-m "SOME_COMMAND"
(Glöm inte att använda dubbel citera samtidigt ange kommando)
Detta kommer att publicera "SOME_COMMAND" i din kanal och du kommer att se data i abonnent fönster. Du kan ange olika kommandon och kan se dem visas i abonnent-fönstret.
För att testa om din lokala mäklare är igång eller inte, bara ersätta test.mosquitto.org med YOUR_EDISON_IP_ADDRESS i både pub och sub Fönstren. Glöm inte att avsluta väntar sub klienten genom att trycka ctrl + c.
Detta är samma IP som du har loggat in Edison genom Putty.
Okey. Vi har nu Edison ombord redo och löpande MQTT. Tid att göra hårdvara hacka.