API-Server - GalileoHome (2 / 4 steg)
Steg 2: kommunikation
Två protokoll användes för att möjliggöra kommunikation mellan app och enheter:
Protokoll MQTT
Vi använde öppna Client Server MQTT protokollet för den anslutningen maskin-till-maskinen (M2M) / Internet of Things (IoT). MQTT bygger på ett system av transport med hjälp av två kommandon/instruktioner, publicera och prenumerera. Detta event baserade protokoll är fördelaktigt för tillämpningar som kräver en mindre mängd minne när du kör och platser med knappa nätverksbandbredd. Du hittar mer information på MQTT hemsida: http://mqtt.org/
MQTT skapar ett system där klienter och server (detta kallas mäklaren) samverkar och utbyter meddelanden som representerar data. Anslutningarna sker via TCP (Transmission Control Protocol). Meddelanden innehåller data från de så kallade ämnena som är en sorts parametrar. Klienterna prenumererar respektive på en rad ämnen och de får de meddelanden som publiceras på dessa frågor genom mäklaren.
HTTP
För att möjliggöra används kommunikationen med programmet var det ett annat protokoll, Hypertext Transfer Protocol (HTTP). HTTP använder också transportprotokollet TCP. App skickar HTTP-begäranden till servern. Dessa begäranden bearbetas via API-servern och skickas till MQTT-servern. För detta ändamål fungerar server API som en enhet och därför det kan publicera information (meddelanden). För att få skicka meddelanden från MQTT-servern till app prenumererar API-servern på alla ämnen från MQTT-server und skriva dem i motsvarande HTTP datafiler. Följaktligen är det möjligt för app och utgör uppgifter genom lätt GET-begäranden till.
Anslutningar är lättare att förstå på bilderna.