Stap 6: Hardware Flow
In onze opstelling, de Client-toepassingen zijn nooit te praten met de Plant direct, was alles over de cloud omdat houden over Wifi alleen nederlagen het hele doel van 'Ik' in IOT.
Arduino Sketch
Arduino schets uitvoering bevat de logica van Sensor data-acquisitie en commandant van actuatoren. Instructies van de app van de Client worden ontvangen door het knooppunt server en vervolgens zij werden doorgegeven Arduino via MQTT protocol.
Wat is MQTT?
MQTT staat voor MQ telemetrie vervoer. Het is dat een publiceren/abonneren, zeer eenvoudig en lichtgewicht messaging protocol, ontworpen voor beperkte apparaten en lage bandbreedte, lange wachttijd of onbetrouwbare netwerken. De ontwerpprincipes zijn te minimaliseren netwerk bandbreedte en apparaat resourcevereisten terwijl ook probeert om betrouwbaarheid en een zekere mate van zekerheid van levering. Deze beginselen ook blijken te maken van het protocol van de opkomende "machine-to-machine" (M2M) of het "Internet van dingen" wereld van aangesloten apparaten, en voor mobiele toepassingen ideaal waar bandbreedte en batterij power zijn op een premie.
NodeJS server
NodeJS server draait alleen op Intel Edison. Server is verbonden met Cloud backend in realtime. Een van de cruciale architecturale beslissing die we voor GreenBit namen is te maken van onze architectuur Twee niveaus in plaats van de typische drie-tier-platforms.
NodeJS server heeft drie taken:
1) behouden realtime cloud verbinding met Cloud - deze verbinding wordt geïmplementeerd door middel van Firebase knooppunt Api die in principe geeft ons een aantal haken op bepaalde parameters die we willen houden onder toezicht. Wijzigingen aan deze waarden worden onmiddellijk meegedeeld aan alle Clients die waarde kijken.
2) OpenCV voor klikken foto's - Everytime een verzoek voor een selfie van de plant NodeJS server komt voert onze OpenCV-module die Hiermee maakt u een afbeelding en vervolgens wordt dat opgeslagen in File System in Base64-gecodeerde indeling. Knooppunt server leest dat bestand en klik vervolgens verzenden afbeelding in gecodeerde vorm naar de server.
3) krijgen van de logs in om de één minuut - In een interval van één minuut knooppunt vraagt Arduino doorgeven naar knooppunt MQTT te nemen van de lezingen. Deze waarden worden vervolgens vastgelegd in de cloud.
4) Invoking actuatoren - op het verkrijgen van actie oproepen van de App als veranderen van parameters of switch voor waarden, nemen van foto's etc worden meegedeeld aan de Arduino.