Innholdsfortegnelse:

Dataopsamling Af Tyverialarm IIOT 4.0: 8 trinn
Dataopsamling Af Tyverialarm IIOT 4.0: 8 trinn

Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 trinn

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

Dette prosjektet i faget IIOT er en videreudvikling af en

tyverialarm, som jeg har laget på en Arduino i et tidligere prosjekt. Der er dette prosjektet blitt fokusert på lagring av data, jeg får fra min tyverialarm, samt at lave og brukerinterface. Data blir lagt til i databasen, og en tabell med 3 kolonner, der forteller tilstanden, hvor lang tid Arduinoen har et program og en tidsangivelse (tidsstempel) fra computeren. Når alarmen tenker, skal der kunne sendes besked tilbake til Arduinoen om at den skal tilbake til starttilstand.

Trinn 1: Materialer

Arduino prosjekt tyverialarm

Arduino berøringssensor

Arduino RGB lampe

Arduino trykknap

Ledning mellom Arduino og PC

Brødbrett

NODE-rød programvare

WAMP SQL Server

Trinn 2: Programvare

Til kommunikasjon mellom database og Arduino, jeg har brukt programmet NODE-red. Jeg kan bruke dette programmet til å programmere kommunikasjon med Arduinoen. Derfra kan jeg kommunikere med databasen.

Til lagring av data har jeg brukt WAMP SQL Server, som er en database, et grafisk designinterface og et mySQL-grensesnitt til NODE-red.

Tidligere prosjekt

I et tidligere prosjekt har jeg laget en tyverialarm på Arduinoen. Denne tyverialarm har jeg genbrugt. Den virker ved at alarmen er slået til eller fra. Hvis den er slått til og en berøringssensor blir aktivert, vil alarmen gå i gjengen. Den skal så kunne slås fra igjen ved at trykke på en knap, som sætter den tilbake til starttilstanden.

Trinn 3: Arduino

Arduino sender besked om hvor lang tid den har kørt og dens

alarmtilstand. Så lenge den ikke er aktivert vil den sende beskjeden, hver gang der skiftes tilstand. Hvis den blir aktivert, vil den bli ved å sende besked om, at den er aktiv. Samtidig mottager den besked fra NODE-red om at alarmen er aktiv og skal resettes tilbake til normaltilstanden.

Trinn 4: Database

Database
Database

Hver gang der er en endring av tilstanden for alarmen

blir følgende data lagret i databasen: Den nåværende tilstanden, hvor lang tid Arduinoen har kørt, samt et tidsstempel, der den aktuelle tiden er angitt.

Der blir kommunikeret med databasen med SQL-sproget mySQL. Jeg har laget en tabell, som forteller alarmtilstanden, hvor mange ms Arduinoen har kørt og et tidsstempel der informasjonen ble registrert. For at skrive disse dataene i databaser, har jeg i NODE-rød laget og funksjon, der innsetter til tabellen. For at ikke noen gentagelser, har jeg gjort en regel, at hvis alarmtilstanden er den samme som den forrige, blir der ikke tilføyde linjer. Den er laget ved å velge den siste tilfeldige serien etter dato og sammenligne med alarmtilstanden fra Arduinoen.

Jeg bruker en injeksjon for å finne den siste aktiveringen av alarmen hvor den forteller hvor lenge det skulle skje. Her kan jeg velge igjen for å finne den siste røde alarmen.

Trinn 5: Node-rød

Noderød
Noderød
Noderød
Noderød

I NODE-red styrer man kommunikation og databaseopdateringer.

Programmeringen foregår som javascripts.

Herunder ses med NODE-rødt program, som består av 11 komponenter.

Komponenter arduino Jeg har en forbindelse til Arduinoen. Den mottager data fra Arduinoen. Disse dataene er en alarmtilstand og antall ms.

Komponenter delt mottaker data fra arduino I og opdeler dem etter komma, for deretter å sende dem videre til navn og reset.

Komponentenavn er og dashbordfilt, som viser aktuell alarmtilstand.

Komponenter reset er en javascript -funksjon, som undersøger om der er kommet rød alarm. I så fald sendes reset videre to arduino Q.

Komponenter arduino Q er en forbindelse til Arduionoen, som resetter den.

Komponenter tilsql er en javascript -funksjon, som splitter de til beskeder, hvor den første blir lagt inn som tid og neste som alarm. I denne funksjonen kan vi sette inn nye verdier når alarmtilstanden endres. SQL fra denne funksjonen leser og oppdaterer databasen via tyven forbindelser.

Komponenter tyven er en forbindelse til databasen, som tilsql utnytter for å velge og sette inn.

Komponenter injiserer en periodisk utløser med en periode på 15 sekunder, som leser tidspunkt for siste røde alarm fra databasen. Denne gangen sender jeg videre til rød alarm.

Komponenter som er koblet til databaser, kan injiseres for å velge.

Komponenter msg.payload kan brukes til å feilsøke komponenter og til å tjekke om jeg får det riktige resultatet.

Komponenter rød alarm er et felt på dashbordet, som mottar tidspunktet fra injeksjon.

Dashboard er et skjermbillede, hvor alarmtilstanden, som er definineret i komponentnavn, står på venstre side og tidspunktet for siste røde alarm, som er defineret ved komponenter rød alarm, med det spesielle tidsstempelet står på høyre side.

Trinn 6: Test

Jeg har testet programmet ved at kjøre simulering med

Arduinoen og kigge i tabellen, om de riktige dataene blir logget. Desuden har jeg holdt øje med dashboardet, og viste at det viser den aktuelle alarmtilstanden og tiden for siste røde alarm.

Problemet har vært at den siste røde alarmen blir trykt som objekt, hvor jeg ville foreta rekkevidden at det var en tekst. Det betyr at det skal konverteres fra objekt til streng. Dette har jeg ikke funnet løsningen på.

Den eneste måten å resette Arduinoen på er ved at deploy’e i NODE-red. Det er ikke kodet en metode for at rydde tabellen i databasen annet end at gjøre det manuelt.

Trinn 7: Videreudvikling

Der kan være utvikling i forhold til databaser i at kunne

rydde tabellen. Man kan også vise tabellen eller uttræk fra den på f.eks. Dashboard.

På dashbordet kan det være et skema over tabeller, som viser de siste innsatsene, og en lampe i stedet for tekst for tilstanden av alarmen.

Der kunne implementeres knap for reset av rød alarm. En annen knap til at tømme tabellen for data. Der kunne være muligheter for at tjekke alarmen for weekend eller helligdage. Hvor den skal kunne resette sig selv.

Trinn 8: Konklusjon

Jeg har laget en datalagring på en database der lagrer alarmtilstanden

i en tabell, hvorfra jeg kan ta siste alarmtilstand. Der er laget en grafisk brukergrænseflade, som viser nåværende tilstand samt tidspunkt for siste alarmtilstand. Disse tingene er laget ved hjelp av programmet NODE-red for grafikk og programmering av WAMP SQL Server er blitt brukt til lave databaser.

Jeg har med dette prosjektet lært at lave en database, samt kommunikasjon mellom forskjellige programmeringssystemer. Jeg har brukt NODE-red til kommunikasjonsdata fra et Arduino-prosjekt til internett og relasjonsdatabase. Databasen er brukt til dataopsamling og som datagrundlag for brukergrænsefladen. Jeg har brukt NODE-red til at lave og funksjonelle layout av prosjekt og til design av brukergrænsefladen.

Anbefalt: