Stap 3: Begrip MQTT en werken met MQTT met Edison
MQTT is een Publisher-Subscriber gebaseerd lichtgewicht communicatieprotocol voor machine to machine en dingen-naar-dingen communicatie. Het geeft een veel gewenste flexibiliteit in IoT kader. Over het algemeen communiceren machines en dingen door middel van HTTP via web. HTTP-pakketten hebben hun eigen header die de pakketlengte verhoogt. MQTT pakketten aan de andere kant alleen worden ingesloten gegevens in TCP/UDP-pakketten en is daarom minder byte consumeren die uiteindelijk resulteert in betere communicatiesnelheid met lagere latentie. Het introduceert ook de kwaliteit van Service(QoS) in het protocol veel gewenste betrouwbaarheid. Inherent het protocol is niet-beveiligd, maar als geïmplementeerd via SSL , biedt een beveiligde communicatie.
Bent u een perfectionist en geek, is dit protocol specificatiedocument een goede plek om te leren de details van de protocollen. Dit artikel is voor degenen die alleen maar wil een snel begrip van het mechanisme in plaats van het skelet, een goede bookmark en lezen van de resource.
Dus in het kort verbindt MQTT twee verschillende apparaten via een makelaar. Een van deze apparaat is een uitgever die ofwel het sensor informatie of controlerende gegevens naar de makelaar in een bepaald kanaal, de andere is een abonnee die zich abonneren op dit kanaal kunt publiceren. Wanneer er enkele gegevens beschikbaar in het kanaal, krijgt abonnee de gegevens asynchroon. Beide deze eind-peers worden clients genoemd (Ja, zelfs de uitgever wordt client genoemd).
Mosquitto is een van de meest populaire opensource makelaar die biedt ook clienthulpprogramma's en is daarom een goede keuze. Het is extreem licht gewicht en linux compatibel.
Voor het installeren van Mosquitto, alles wat je hoeft te doen is inloggen op je board Edison via SSH met behulp van een software als Putty.
Als u weten de details wilt van het werken met Edison met behulp van Putty, kunt u de gekoppelde tutorial.
Zodra u bent ingelogd in de Edison-bestuur via Putty, moet u enkele eenvoudige stappen voor het installeren van de Mosquito.
1. downloaden
volgende commando in de shell en druk op invoeren.
wget http://mosquitto.org/files/source/mosquitto-1.3.5...
2. uitpakken
tar-xzf mosquitto-1.3.5.tar.gz
[Opmerking, als u in uw SD kaart directory (/media/sdcard) en wil er installeren, moet u voor untar de volgenden opdracht
tar xzf mosquitto-1.3.5.tar.gz--neen-dezelfde-eigenaar
]
3. Installeer
CD mosquitto-1.3.5
maken WITH_SRV = nee toevoegen gebruiker mosquitto
Dat is gewoon alles. MQTT makelaar en client tools zijn geïnstalleerd en makelaar waarop uw Edison. Na opnieuw opstarten, de makelaar wordt automatisch gestart. Mosquito biedt ook een online broker-test.mosquito.org voor het snel testen pub-sub protocol.
Voor de MQTT online testen, opent u een ander putty sessie en login aan het bestuur via SSH. Type nu volgende opdracht in het venster.
mosquitto_sub -h test.mosquitto.org -p 1883 -t CHANNEL_NAME
u kunt een willekeurige kanaalnaam zinvolle zoals Uw_naam/SOME_CHANNEL_NAME. Ik gebruik een kanaalnaam als "Rupam/Edison/ControlSignal" als mijn naam van het kanaal. U kunt elk gewenst formaat.
Wanneer u de bovenstaande opdracht uitvoeren, zal een proces wachten voor opvang van opdracht.
Nu opent u een andere sessie en voer volgende commando
mosquitto_pub -h test.mosquitto.org -p 1883-t CHANNEL_NAME-m "" SOME_COMMAND" "
(Vergeet niet dubbel citaat te gebruiken terwijl het opdracht geven)
Dit zal "SOME_COMMAND" publiceren in uw kanaal en ziet u de gegevens in het venster van de abonnee. U kunt verschillende commando's invoeren en ziet ze worden weergegeven in het venster van de abonnee.
Om te testen of uw lokale makelaar of niet loopt, vervang gewoon test.mosquitto.org met YOUR_EDISON_IP_ADDRESS in zowel pub en sub windows. Vergeet niet te beëindigen wachten sub client door te drukken ctrl + c.
Dit is waarmee u zich hebt aangemeld in Edison via Putty hetzelfde IP.
Okey. We hebben nu Edison klaar en lopende MQTT aan boord. Tijd om te doen van de houwer van de hardware.