Innehållsförteckning:

Dataopsamling Af Tyverialarm IIOT 4.0: 8 steg
Dataopsamling Af Tyverialarm IIOT 4.0: 8 steg

Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 steg

Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 steg
Video: Парусная навигация и связь в море / Sextant-Ipad, SSB-Iridium Go! Патрик Чилдресс Парусный спорт 2024, November
Anonim
Dataopsamling av Tyverialarm IIOT 4.0
Dataopsamling av Tyverialarm IIOT 4.0

Detta projekt i faget IIOT är en vidareudvikling af en

tyverialarm, som jag har gjort på en Arduino i och tidigare projekt. Det här projektet blev fokuserat på lagring av data, jag får från min tyverialarm, samt att lave och användargränssnitt. Data blir lagt till i databasen, och en tabell med 3 kolonner, där information om tillstånd, hur lång tid Arduinoen har ett program och en tidsangivelse (tidsstämpel) från computeren. När alarmen tänder, ska jag kunna skicka besked tillbaka till Arduinoen om att den ska återgå till starttilstand.

Steg 1: Materialer

Arduino projekt tyverialarm

Arduino touch sensor

Arduino RGB lampa

Arduino trycknap

Ledning mellan Arduino och PC

Bakbord

NODE-röd programvara

WAMP SQL Server

Steg 2: Programvara

Till kommunikation mellan databasen och Arduino, jag har använt programmet NODE-red. Jag kan använda programmet för att programmera kommunikation med Arduinoen. Derfra kan jag kommunikere med databasen.

För att lagra data, har jag använt WAMP SQL Server, som är en databas, grafisk designinterface och mySQL-gränssnitt till NODE-red.

Tidigare projekt

I et tidigare projekt har jag gjort en tyverialarm på Arduinoen. Denna tyverialarm har jag genbrugt. Den fungerar ved at alarmen är slået til eller fra. Om den kan slå till och en beröringssensor blir aktiverad, kommer alarmen gå i gäng. Den ska så kunde slås från igen ved at trycka på en knap, som sætter den tillbaka till starttilstanden.

Steg 3: Arduino

Arduino avsändare besked om hur lång tid den har kørt och dens

larmställning. Så länge den inte kan aktiveras kommer den skickade besked, varje gång der skiftar tillstånd. Om den blir aktiverad, kommer den att bli ved med att skicka besked om, att den är aktiv. Samtidigt mottager den besked fra NODE-red om at alarmen is active and should resettes back to normalilstanden.

Steg 4: Databas

Databas
Databas

Varje gang der skär en ändring af tillstånden för alarmen

blir följande data lagret i databasen: Den nuvarande tillståndet, hur lång tid Arduinoen har kørt, samt en tidsstämpel, där den aktuella tiden anges.

Der blir kommunikeret med databasen med SQL-sproget mySQL. Jag har gjort en tabell, som säger alarmtilstanden, hur många ms Arduinoen har kørt och en tidsstämpel där informationen har blivit registrerad. För att skriva dessa data i databaser, har jag i NODE-red gjort en funktion, der inserter to tabellen. För att hitta gentagelser, har jag gjort en regel, att om alarmtilstanden är den samma som den förrige, blir det inte tilföjliga linjer. Den är gjord vid och jag har valt den senaste tilläggsraden efter datum och jämfört med alarmtillstånden från Arduinoen.

Jag kan använda en injektion för att hitta den senaste aktiveringen av alarmen där den tidigare berättade för vilken det skete. Her kan jag igen välja för att hitta den senaste röda larmet.

Steg 5: Nod-röd

Noderöd
Noderöd
Noderöd
Noderöd

I NODE-red styrer man kommunikation och databaseopdateringer.

Programmeringen foregår som javascripts.

Här finns ett NODE-rött program, som består av 11 komponenter.

Komponenter arduino Jag har en anslutning till Arduinoen. Den mottager data från Arduinoen. Dessa data är en larmtillstånd och antal ms Arduinoen har kørt adskilt av och komma och de blir videresendt till både split och tilsql.

Komponenter delade mottagaruppgifter från arduino Jag skickar dem efter komma för att sedan skicka dem vidare till namn och reset.

Komponenten namn är och instrumentpanel filt, som visar aktuell alarmtilstand.

Komponenten reset är en javascript funktion, som undersöker om det har kommit rött alarm. I så fald sendes reset vidare to arduino Q.

Komponenter arduino Q är en koppling till Arduionoen, som resetter den.

Komponenter tilsql är en javascript -funktion, som splitter de till beskeder, där den första blir lagt till som tid och nästa som alarm. I denna funktion laves muligheden för att der kun blir införda nya värden när alarmtilstanden ändres. SQL från denna funktion läser och uppdaterar databasen via tyven -förbindelser.

Komponenter tyven är en anslutning till databasen, som kan användas för att välja och infoga.

Komponenter injicerar en periodisk utlösning med en period på 15 sekunder, som läser tid för sista röda larm från databasen. Denna tid skickar vidare till rött larm.

Komponenter som är anslutna till databaser, som kan användas för att välja.

Komponenter msg.payload kan användas för att felsöka komponenter och för att få de riktiga resultaten.

Komponenter röda larm är och kände på instrumentpanelen, som fick en tidpunkt från injektion.

Dashboard är och skärmbillede, där larmtillstånd, som är definierat i komponentnamn, står på vänster sida och tid för sista röda larm, som är definierat av komponenter rött larm, med den där tidsstämpeln står på den bästa sidan.

Steg 6: Testa

Jag har testet programmet vid att köra simulering med

Arduinoen och kigge i tabellen, om de riktiga uppgifterna blir logget. Desuden har jag hållit öje med instrumentpanel, och säkerställt att det visar den aktuella larmtiden och tiden för sista röda larm.

Problemet har varit att den sista röda larmet kan skrivas ut som ett objekt, där jag vill förutrække att det var en text. Det betyder att det ska konverteras från objekt till sträng. Detta har jag inte funnet lösningen på.

Den enda sättet att återställa Arduinoen på er ved at deploy’e i NODE-red. Det är inte kodet en metod för att rydde tabellen i databasen annat än att göra det manuelt.

Steg 7: Videreudvikling

Det kan vara utveckling i förhållanden till databaser i och kan

rydde tabellen. Man kan även visa tabellen eller utträda från den på t.ex. Instrumentbräda.

På instrumentpanelen kan det vara ett skema över tabeller, som visar de senaste insatserna, och en lampa i stället för text för tillstånd av alarmen.

Der kunne implementeres knap for reset av rød alarm. En annan knap för att tømme tabellen för data. Der kunne vara möjligheter för at tjekke alarmen för helg eller helligdage. Hvor den ska kunna resette sig själv.

Steg 8: Konklusion

Jag har gjort en datalagring på en databas för lagring av alarmtilstanden

i en tabell, hurfra kan man ta senaste alarmtilstanden. Det är gjort en grafisk användargränseflade, som visar nuvarande tillstånd samt tid för senaste alarmtilstand. Dessa funktioner har skapats med hjälp av programmet NODE-red för grafik och programmering av WAMP SQL Server har använts för att ladda databaser.

Jag har med detta projekt lärt at lave en database, samt kommunikation mellan olika programmeringssystemer. Jag har använt NODE-red för att kommunikera data från och Arduino projekt till internet och relationsdatabase. Databasen är användbar för dataopsamling och som datagrundlag för användargränsefladen. Jag har använt NODE-röd för att göra låga och funktionella layouter av projektet och för design av användargränsefladen.

Rekommenderad: