Satura rādītājs:

Datu paraugu ņemšana Af Tyverialarm IIOT 4.0: 8 soļi
Datu paraugu ņemšana Af Tyverialarm IIOT 4.0: 8 soļi

Video: Datu paraugu ņemšana Af Tyverialarm IIOT 4.0: 8 soļi

Video: Datu paraugu ņemšana Af Tyverialarm IIOT 4.0: 8 soļi
Video: CS50 2015 - Week 9, continued 2024, Novembris
Anonim
Datu paraugu ņemšana Af Tyverialarm IIOT 4.0
Datu paraugu ņemšana Af Tyverialarm IIOT 4.0

Dette projekt in faget IIOT er en videreudvikling af en

tyverialarm, som jeg har lavet på en Arduino i et tidligere projekt. Der er i dette projekt blevet fokuseret på lagring af de data, jeg får fra min tyverialarm, samt at lave et brugerinterface. Datu bliver ir datubāzē, tabulā ir 3 kolonner, der fortæller tilstanden, hvor lang tid Arduinoen har kørt programmet og en tidsangivelse (timestamp) from computer. Når alarmen tænder, skal der kunne sendes besked tilbage til Arduinoen om at den skal tilbage til starttilstand.

1. solis: Materialer

Arduino projekt tyverialarm

Arduino pieskāriena sensors

Arduino RGB lampa

Arduino trykknap

Ledning mellem Arduino og PC

Maizes dēlis

NODE-red programmatūra

WAMP SQL Server

2. darbība: programmatūra

Til komunikation mellem database og Arduino, har jeg brugt programmet NODE-red. Es dette programmu kan man ved hjælp af blok programmering kommunikere med Arduinoen. Derfra kan jeg komunikere med datubāzes.

Lai iegūtu lielākus datus, būtu pieejams WAMP SQL Server, cita datubāze, grafiska dizaina saskarne un mySQL saskarne līdz NODE-red.

Tidligere projekts

I et tidligere projekt har jeg lavet en tyverialarm på Arduinoen. Denne tyverialarm har jeg genbrugt. Den virker ved un alarmen er slået til eller fra. Hvis den er slået til og en touch sensor bliver aktiveret, vil alarmen gå i band. Den skal så kunne slås fra igen ved at trykke på en knap, som sætter den tilbage til starttilstanden.

3. darbība: Arduino

Arduino sūtītājs sniedza om hvor lang tid den har kørt og dens

trauksmes stends. Så længe den ikke er aktiveret vil den sende besked, hver gang der skiftes tilstand. Hvis den bliver aktiveret, vil den blive ved med at sende besked om, at den er aktiv. Samazinot modifikāciju, tika saņemts NODE-red om un alarms er aktiv og skal resettes tilbage til normaltilstanden.

4. darbība. Datu bāze

Datu bāze
Datu bāze

Hver gang der sker en ændring af tilstanden for alarms

bliver følgende data lagret in dataasen: Den nuværende tilstand, hvor lang tid Arduinoen har kørt, samt et timestamp, der fortæller nuværende tidspunkt.

Sazinieties ar datu bāzēm, izmantojot SQL-sproget mySQL. Jeg har lavet en tabel, som fortæller alarmtilstanden, hvor mange ms Arduinoen har kørt og et timestamp der fortæller tidspunktet det er blevet registreret. Par skrive disse datu indiv datu bāzē, har jeg i NODE-red lavet en funktion, der inserter til tabellen. For undgå gentagelser, har jeg lavet en regel, at hvis alarmtilstanden er den samme som den forrige, bliver der ikke tilføjet linjer. Den er lavet ved un jeg selecter den seneste tilføjede linje efter data and sammenligner med alarmtilstanden fra Arduinoen.

Jeg bruger en injicēt līdz atrašanas vietai, aktivizējot trauksmes signālus, pēc tam dodoties uz priekšu. Her bruger jeg igen select til at finde den seneste røde alarm.

5. solis: mezgls sarkans

Mezgls sarkans
Mezgls sarkans
Mezgls sarkans
Mezgls sarkans

I NODE-red styrer man communicationation and databaseopdateringer.

Programmeringengen foregår som javascripts.

Herunder ses mit NODE-red programma, som består af 11 komponenter.

Komponenten arduino I er en aizliegts til Arduinoen. Ir pieejami dati par Arduinoen. Disse data er en alarmtilstand og antal ms Arduinoen har kørt adskilt af et komma og de bliver videresendt til både split og tilsql.

Komponentu sadalīt modtager datus no arduino I un opdeler dem efter komma, for derefter and sende dem videre til navn og reset.

Komponentu navn er et dashboard felt, som viser aktuel alarmtilstand.

Komponentu atiestatīšana ar en javascript funkciju, som underøger om der er kommet rød alarm. I så fald sendes reset videre til arduino Q.

Komponenten arduino Q er en aizliegums līdz Arduionoen, som resetter den.

Komponentu tilsql er en javascript funktion, som splitter de to beskeder, hvor den første bliver lagt ind som tid og næste som alarm. I denne funktion laves muligheden for at der bliver ievietots nye værdier når alarmtilstanden ændres. SQL no funktion funktion læser un opdaterer datubāzes, izmantojot tyven aizliegumu.

Komponenten tyven er en en aizliegt til til dataasen, som tilsql udnytter til select og insert.

Komponents injicēt ar periodisku sprūdu med en periode på 15 sekunde, som læser tidspunktet for side røde alarm from datubāzes. Dette tidspunkt sūta videre til rød alarm.

Komponents pamāja ar galvu un aizliedza datu bāzi, pēc tam injicējiet udnytter til select.

Komponents msg.payload bruges til at debugge komponenterne un til at tjekke om jeg får det rigtige resultat.

Sastāvdaļa ir modinātājs, un tas ir redzams paneļa panelī, dažkārt modernajā tidspunktā no injekcijas.

Dashboard er et skærmbillede, hvor alarmtilstanden, som er defineret i komponenten navn, står på venstre side og tidspunktet for side røde alarm, som er defineeret komponent komponent rød alarm, med det pågældende timestamp står på højre side.

6. darbība: pārbaudiet

Jeg har testet programmet ved and køre simulationer med

Arduinoen og kigge and tabellen, om de rigtige data bliver logget. Desuden har jeg holdt øje med dashboardet, og konstateret and det viser den aktuelle alarmtilstand og tidspunktet for side røde alarm.

Problēma var būt saistīta ar trauksmes bliver drukātu objektu, kā arī priekšplānā un detalizētā tekstā. Det Betyder, un det skal konverteres no objekta til string. Dette har jeg ikke fundet løsningen på.

Atjaunojiet Arduinoen på er ved un deploy’e i NODE-red. Der er ikke kodet en method for at rydde tabellen i dataasen andet end at gøre det manuelt.

7. solis: Videreudvikling

Der kan være udvikling i forhold till datubāzes i at kunne

Rydde Tabellen. Man kan også vise tabellen eller udtræk fra den på f.eks. Mērinstrumentu panelis.

Dashboardet kan der være et skema over tabellen, som viser de seneste insertes, og en lampe i stedet for text for tiltstanden af alarmmen.

Der kunne implementeres knap, lai atiestatītu modinātāju. En anden knap til at tømme tabellen for data. Der kunne være muligheder for at tjekke alarms for weekend eller helligdage. Hvor den skal kunne resette sig selv.

8. solis: Konklusion

Jeg har lavet en datalagring på en database at lagrer alarmtilstanden

i en tabel, hvorfra kan man tage seneste alarmtilstand. Der er lavet en grafisk brugergrænseflade, som viser nuværende tilstand samt tidspunktet for seneste alarmtilstand. Disse ting er lavet ved hjælp af programmet NODE-red for grafik og programmering wens WAMP SQL Server er blevet brugt till at lave databaseasen.

Jeg har med dette projekt lært at lave en database, samt communicationation mellem forskellige programmeringssystemer. Jeg har brugt NODE-red til and komunikere data from et Arduino project to internettet og en relationsdatabase. Databasen er anvendt til dataopsamling og som datagrundlag for brugergrænsefladen. Jeg har brugt NODE-red til un lave et funktionelt layout af projektet og til design af brugergrænsefladen.

Ieteicams: