Sommario:
- Passaggio 1: materiale
- Passaggio 2: software
- Passaggio 3: Arduino
- Passaggio 4: banca dati
- Passaggio 5: nodo rosso
- Passaggio 6: test
- Passaggio 7: Videreudvikling
- Passaggio 8: Konklusion
Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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, in tabel med 3 kolonner, der Fortæller Tilstanden, Hvor lang tid Arduinoen Har Kørt Programt og En Tidsangivelse (timestamp) tra computeren. Når alarmen tænder, skal der kunne sendes besked tilbage til Arduinoen om at den skal tilbage til starttilstand.
Passaggio 1: materiale
Progetto Arduino Tyverialarm
Sensore tattile Arduino
Lampada RGB Arduino
Arduino trykknap
Memorie Arduino e PC
tagliere
Software NODE-rosso
WAMP SQL Server
Passaggio 2: software
Fino alla connessione al database di Arduino e al programma NODE-red. I dette program kan man ved hjælp af blok programmering kommunikere med Arduinoen. Derfra kan jeg kommunikere med databasen.
Fino alla lagring af data, har jeg brugt WAMP SQL Server, alcuni database, med et grafisk designinterface ot et mySQL interface fino a NODE-red.
Tidligere progetto
I et tidligere projekt har jeg lavet en tyverialarm på Arduinoen. Denne tyverialarm har jeg genbrugt. Den virker ved at alarmen er slået til eller fra. Hvis den er slået fino al sensore tattile attivato, vil alarmen gå i gang. Den skal så kunne slås fra igen ved at trykke på en knap, som sætter den tilbage til starttilstanden.
Passaggio 3: Arduino
Il mittente di Arduino ti ha chiesto di non farlo mai
allarme. 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 at alarmen er aktiv og skal resettes tilbage til normaltilstanden.
Passaggio 4: banca dati
Hver gang der sker en ndring af tilstanden per allarmi
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.
Il collegamento completo con database e SQL-sproget mySQL. Jeg har lavet en tabel, som fortæller alarmtilstanden, hvor mange ms Arduinoen har kørt et timestamp der Fortæller tidspunktet det er blevet registreret. For at skrive disse data ind i databasen, har jeg i NODE-red lavet en funktion, der inserter til tabellen. Per at 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 at jeg selecter den seneste tilføjede linje after data og sammenligner med alarmtilstanden from Arduinoen.
Jeg bruger en inject til at finde den seneste aktivering af alarmen hvor den Fortæller hvornår det skete. Il suo bruger jeg igen select til at finde den seneste røde alarm.
Passaggio 5: nodo rosso
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 anntal 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, for derefter at sende dem videre til navn og reset.
Komponenten navn er et cruscotto feltro, som viser aktuel alarmtilstand.
Komponenten reset er en javascript funktion, som undersøger om der er kommet rød alarm. I så fald sendes reset videre til arduino Q.
Komponenten arduino Q er en forbindelse til Arduionoen, som resetter den.
Compone la funzione di javascript, alcuni splitter per il beskeder, prima di tutto, non c'è più allarme. I denne funktion laves muligheden for at der kun bliver inserito nye værdier når alarmtilstanden ændres. SQL tra denne funzione visualizza e aggiorna databasen tramite 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, som læser tidspunktet per sidste røde alarm fra databasen. Dette tidspunkt invia l'allarme video fino alla fine.
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 felt på dashboard, 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ågldende timestamp.
Passaggio 6: test
Jeg har testet programt ved at køre simulatorer med
Arduinoen e kigge i tabellen, om de rigtige data bliver logget. Desuden har jeg holdt øje med dashboard, and konstateret and det viser den aktuelle alarmtilstand eg tidspunktet per sidste røde alarm.
Problemet har været at den sidste røde alarm bliver printet som object, hvor jeg ville foretrække at det var en tekst. Det betyder, at det skal konverteres fra object til string. Dette har jeg ikke fundet løsningen på.
Den eneste måde at resette Arduinoen på er ved at deploy'e i NODE-red. Der er ikke kodet en metode for at rydde tabellen i databasen andet end at gøre det manuelt.
Passaggio 7: Videreudvikling
Der kan være udvikling i forhold til databasen i at kunne
rydde tabulazioni. Man kan også vise tabulan eller udtræk fra den på f.eks. Pannello di controllo.
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 implementeres knap for reset af rød alarm. En anden knap til at tømme tabellen for data. Der kunne være muligheder for at tjekke alarmen for weekend eller helligdage. Hvor den skal kunne resette sig selv.
Passaggio 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 programt NODE-red for grafik og programmering mens WAMP SQL Server er blevet brugt til at lave databasen.
Jeg har med dette projekt lært at lave en database, samt kommunikation mellem forskellige programmeringssystemer. Non importa il NODE-red fino alla connessione di dati tra e Arduino projekt fino a Internettet o nel database delle relazioni. Databasen er anvendt til dataopsamling og som datagrundlag per brugergrænsefladen. Guarda il progetto NODE-red fino al layout e funktionelt fino al progetto e al design af brugergrænsefladen.
Consigliato:
Tasmota Admin - Dashboard IIoT: 6 passaggi
Tasmota Admin - Dashboard IIoT: TasmoAdmin è un sito Web amministrativo per dispositivi flashati con Tasmota. Puoi trovarlo qui: TasmoAdmin GitHub. Supporta l'esecuzione su contenitori Windows, Linux e Docker. CaratteristicheProcesso di accesso protetto Multi processo di aggiornamentoSeleziona i dispositivi per ag
UCL - IIoT - Clima interno 4.0: 8 passaggi
UCL - IIoT - Clima interno 4.0: dopo aver letto e lavorato con questa istruzione, avrai il tuo clima interno automatico, che puoi osservare online con l'aiuto di Node-red. Nel nostro caso abbiamo sviluppato questa idea e l'abbiamo presentata in una casa di stampa 3D
UCL-IIoT-Drivhus: 5 passaggi
UCL-IIoT-Drivhus: Lo scopo di questo progetto era costruire una Garden House usando Arduino. Pertanto i 3 studenti del gruppo hanno deciso di realizzare una serra automatica, abbiamo deciso di effettuare il datalogging sulle informazioni fornite dalla serra, tramite Wamp-server, node-re
UCL Embedded "tyverialarm": 7 passaggi
UCL Embedded "tyverialarm": il suo forteller jeg om min tyverialarm
EAL-Industri4.0-RFID Dataopsamling Til Database: 10 passaggi (con immagini)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af vægtdata, registrering af identiteter vha. RFID, lagring di dati nel database MySQL vha. node-RED, samt fremvisning og behandling af de opsamlede data et programma C# form af en Windows Form Application