GREENBIT - få det att växa (INTEL IOT) (6 / 13 steg)
Steg 6: Hårdvara flöde
I våra setup, The Client applikationer är aldrig att prata med anläggningen direkt, var allt över molnet eftersom håller det över Wifi enda nederlag hela syftet med 'I' i IOT.
Arduino skiss
Arduino skiss genomförandet innehåller logiken i sensorn datainsamling och befallande manöverdon. Instruktioner från klient app tas emot av noden server och sedan, de var meddelas över Arduino med MQTT protokoll.
Vad är MQTT?
MQTT står för MQ telemetri Transport. Det är en publicera/prenumerera, extremt enkel och lätt meddelandeprotokoll, avsedd för begränsad enheter och låg bandbredd, hög latens eller opålitliga nätverk. Design är att minimera bandbredd och enheten resurskraven samtidigt också försöket att säkerställa tillförlitlighet och viss garanti för leverans. Dessa principer också visa sig för att göra protokollet ideal av den framväxande "maskin-till-maskin" (M2M) eller "Sakernas Internet" världen av anslutna enheter och för mobila applikationer där bandbredd och batteri power är en premie.
NodeJS server
NodeJS servern körs på Intel Edison bara. Servern är ansluten till molnet backend i realtid. En av viktiga arkitektoniska beslut som vi tog för GreenBit är att göra vår arkitektur Två Tier snarare än typiska tre tier arkitekturer.
NodeJS server har tre ansvarsområden:
1) underhålla realtime cloud anslutning med moln - denna anslutning implementeras med Firebase nod Api som i princip ger oss en uppsättning av krokar på vissa parametrar som vi vill behålla under titta. Eventuella ändringar i dessa värden meddelas omedelbart till alla kunder tittar på värdet.
2) OpenCV för klicka bilder- varje gång en begäran för en växt selfie kommer NodeJS server utför våra OpenCV modul som tar en bild och sedan lagrar som i filsystemet i Base64-kodat format. Nod server kommer att läsa filen och sedan överföra bilden i kodad form till servern.
3) få loggar under varje minut - i ett intervall på en minut nod frågar Arduino att ta avläsningar och passera det över till nod på MQTT. Dessa värden sedan loggas i moln.
4) Invoking ställdon - på att få åtgärden samtal från App som ändrar parametrar eller byte av värden, ta foton etc meddelas till Arduino.