Tabla de contenido:
- Paso 1: Materialer
- Paso 2: software
- Paso 3: Arduino
- Paso 4: base de datos
- Paso 5: Node-red
- Paso 6: prueba
- Paso 7: Videreudvikling
- Paso 8: Konklusion
Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Dette projekt i 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. Data bliver lagt ind i database, i en tabel med 3 kolonner, der fortæller tilstanden, hvor lang tid Arduinoen har kørt programmet og en tidsangivelse (timestamp) fra computeren. Når alarmen tænder, skal der kunne sendes besked tilbage til Arduinoen om y den skal tilbage til starttilstand.
Paso 1: Materialer
Arduino projekt tyverialarm
Sensor táctil Arduino
Lámpara Arduino RGB
Arduino trykknap
Ledning mellem Arduino og PC
Tablero de circuitos
Software NODE-red
WAMP SQL Server
Paso 2: software
Hasta que comuniquen la base de datos de mellem og Arduino, el programa har jeg brugt NODE-red. Dette program kan man ved hjælp af blok programmering kommunikere med Arduinoen. Derfra kan jeg kommunikere med base de datos.
Hasta que los datos se retrasen, har jeg brugt WAMP SQL Server, alguna base de datos, interfaz de diseño med et grafisk o interfaz mySQL hasta NODE-red.
Tidligere projekt
I et tidligere projekt har jeg lavet en tyverialarm på Arduinoen. Denne tyverialarm har jeg genbrugt. Den virker ved y alarmen er slået til eller fra. Hvis den er slået til og en touch sensor bliver aktiveret, vil alarmen gå i gang. Den skal så kunne slås fra igen ved en trykke på en knap, som sætter den tilbage til starttilstanden.
Paso 3: Arduino
Arduino sender besked om hvor lang tid den har kørt og dens
puesto de alarma. 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. Samtidig modtager den besked fra NODE-red om en alarmen er aktiv og skal resettes tilbage til normalltilstanden.
Paso 4: base de datos
Hver gang der sker en ændring af tilstanden for alarmen
bliver følgende data lagret i databasen: Den nuværende tilstand, hvor lang tid Arduinoen har kørt, samt et timestamp, der fortæller nuværende tidspunkt.
Der bliver kommunikeret med databasen med 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. Para en skrive, la base de datos de ind i data de dise, har jeg i NODE-red lavet en funktion, der inserter til tabellen. Para en undgå gentagelser, har jeg lavet en regel, en hvis alarmtilstanden er den samme som den forrige, bliver der ikke tilføjet linjer. Den er lavet ved y jeg selecter den seneste tilføjede linje efter dato og sammenligner med alarmtilstanden fra Arduinoen.
Jeg bruger en inject til at finde den seneste aktivering af alarmen hvor den fortæller hvornår det skete. Su bruger jeg igen select til at finde den seneste røde alarm.
Paso 5: Node-red
I NODE-red styrer man kommunikation og databaseopdateringer.
Programmeringen foregår som javascripts.
Herunder ses mit NODE-red program, som består af 11 komponenter.
Komponenten arduino I er en forbindelse til Arduinoen. Den modtager data fra 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.
Komponenten split modtager data fra arduino I og opdeler dem efter komma, para luego en el envío de video hasta que se reinicie la navegación.
Komponenten navn er et dashboard fieltro, som viser aktuel alarmtilstand.
Komponenten reset er en javascript funktion, som underger om der er kommet rød alarm. Så fald sendes restablecer videre hasta arduino Q.
Komponenten arduino Q er en forbindelse til Arduionoen, som resetter den.
Komponenten 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 kun bliver insertado nye værdier når alarmtilstanden ændres. SQL fra denne funktion læser og opdaterer databasen a través de tyven forbindelsen.
Komponenten tyven er en forbindelse til databasen, som tilsql udnytter til select og insert.
Komponenten inject er en periodisk trigger med en periode på 15 sekunder, más læser tidspunktet for sidste røde alarm fra databasen. Dette tidspunkt envía la alarma videre til rød.
Komponenten nodered er en forbindelse til databasen, som inject udnytter til select.
Komponenten msg.payload bruges til at debugge komponenterne og til at tjekke om jeg får det rigtige resultat.
Komponenten rød alarm er et fieltro på dashboardet, som modtager tidspunktet fra inject.
Dashboard er et skærmbillede, hvor alarmtilstanden, som er defineret i komponenten navn, står på venstre side og tidspunktet for sidste røde alarm, som er defineret ved komponenten rød alarm, med det pågældende timestamp står på højre side.
Paso 6: prueba
Jeg har testet programmet ved en køre simulationer med
Arduinoen og kigge i tabellen, om de rigtige data bliver logget. Desuden har jeg holdt øje med dashboardet, og konstateret at det viser den aktuelle alarmtilstand og tidspunktet for sidste røde alarm.
Problemet har været en den sidste røde alarm bliver printet som object, hvor jeg ville foretrække en det var en tekst. Det betyder, en det skal konverteres fra object til string. Dette har jeg ikke fundet løsningen på.
Den eneste måde y resette Arduinoen på er ved en deploy'e i NODE-red. Der er ikke kodet en metode para en rydde tabellen i base de datos y termina en gøre det manuelt.
Paso 7: Videreudvikling
Der kan være udvikling i forhold til databasen i at kunne
rydde tabellen. Man kan også vise tabellen eller udtræk fra den på f.eks. Tablero.
På dashboardet kan der være et skema over tabellen, som viser de seneste inserts, og en lampe i stedet for tekst for tilstanden af alarmen.
Der kunne implementa knap para restablecer una alarma. En anden knap til at tømme tabellen para obtener datos. Der kunne være muligheder for at tjekke alarmen para el fin de semana eller helligdage. Hvor den skal kunne resette sig selv.
Paso 8: Konklusion
Jeg har lavet en datalagring på en database der 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 mens WAMP SQL Server er blevet brugt til at lave base de datos.
Jeg har med dette projekt lært y lave en database, samt kommunikation mellem forskellige programmeringssystemer. Jeg har brugt NODE-red hasta kommunikere data fra et Arduino projekt til internettet og en Relationsdatabase. Databasen er anvendt til dataopsamling og som datagrundlag for brugergrænsefladen. Jeg har brugt NODE-red til at lave et funktionelt layout af projektet og til design af brugergrænsefladen.
Recomendado:
Administrador de Tasmota - Panel de IIoT: 6 pasos
Tasmota Admin - Panel de control de IIoT: TasmoAdmin es un sitio web administrativo para dispositivos con Tasmota. Puede encontrarlo aquí: TasmoAdmin GitHub. Admite la ejecución en contenedores de Windows, Linux y Docker. CaracterísticasInicio de sesión protegidoProceso de actualización múltipleSeleccione dispositivos para actualizar Autom
UCL - IIoT - Clima interior 4.0: 8 pasos
UCL - IIoT - Clima interior 4.0: Después de leer y trabajar con este instructivo, tendrá su propio clima interior automático, que puede observar en línea con la ayuda de Node-red. En nuestro caso, desarrollamos esta idea y la presentamos en una casa impresa en 3D
UCL-IIoT-Drivhus: 5 pasos
UCL-IIoT-Drivhus: El propósito de este proyecto era construir una casa de jardín usando Arduino. Por eso los 3 alumnos del grupo decidieron hacer un Invernadero automático, decidimos hacer un registro de datos sobre la información proporcionada por el invernadero, vía Wamp-server, node-re
"Tyverialarm" integrado de UCL: 7 pasos
UCL Embedded "tyverialarm": su fortæller jeg om min tyverialarm
EAL-Industri4.0-RFID Dataopsamling Til Database: 10 pasos (con imágenes)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af v æ gtdata, registrando un identiteter vha. RFID, datos rezagados en base de datos MySQL vha. node-RED, samt fremvisning og behandling después de opsamlede data i et C # program i for en Windows Form Application