Cuprins:
- Pasul 1: Material
- Pasul 2: Software
- Pasul 3: Arduino
- Pasul 4: Baza de date
- Pasul 5: roșu nod
- Pasul 6: Testează
- Pasul 7: Videreudvikling
- Pasul 8: Konklusion
Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 Pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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 și 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 in tidsangivelse (timestamp) from computeren. Når alarmen tænder, skal der kunne sendes besked tilbage til Arduinoen om at den skal tilbage til starttilstand.
Pasul 1: Material
Arduino projekt tyverialarm
Senzor tactil Arduino
Lampă Arduino RGB
Arduino trykknap
Ledning mellem Arduino și PC
Pană de pâine
Software NODE-roșu
WAMP SQL Server
Pasul 2: Software
Până la baza de date pentru comunicații și Arduino, acesta este programat pentru NODE-red. I dette program kan man ved hjælp af blok programmering kommunikere med Arduinoen. Derfra kan jeg kommunikere med databasen.
Până la restrângerea datelor, puteți începe cu WAMP SQL Server, o bază de date, o interfață de design grafică și o interfață MySQL pentru NODE-red.
Tidligere projekt
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 til og en touch sensor bliver aktiveret, 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.
Pasul 3: Arduino
Arduino sender besked om hvor lang tid den har kørt og dens
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 at alarmen er aktiv og skal resettes tilbage til normaltilstanden.
Pasul 4: Baza de date
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. For at skrive disse data ind i databasen, har jeg i NODE-red lavet en funktion, der inserter til tabellen. For 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 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. Her bruger jeg igen select til at finde den seneste røde alarm.
Pasul 5: roșu nod
I NODE-red styrer man kommunikation og databaseopdateringer.
Programare pentru câteva javascripturi.
Aici veți vedea programul NODE-red, care este cel mai bun din 11 componente.
Komponenten arduino I er en forbindelse til Arduinoen. Modificați datele din 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, for derefter at sende dem videre til navn og reset.
Component navn er și dashboard felt, 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.
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 inserat nye værdier når alarmtilstanden ændres. SQL fra denne funktion læser og opdaterer databasen via 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 for sidste røde alarm fra databasen. Dette tidspunkt sendes videre til rød alarm.
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 result.
Komponenten rød alarm is et felt in 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.
Pasul 6: Testează
Jeg har testet programmet ved at køre simulationer med
Arduinoen og kigge i tabellen, to the 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.
Probleme 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.
Pasul 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. Bord.
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. În continuare, puteți înregistra pentru a obține date. Der kunne være muligheder for at tjekke alarmen for weekend eller helligdage. Hvor den skal kunne resette sig selv.
Pasul 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 laved ved hjælp af programmet NODE-red for grafik og programmering men WAMP SQL Server are blevet brugt til at lave databasen.
Jeg har med dette projekt lært at lave en database, samt kommunikation mellem forskellige programmeringssystemer. Jeg har brugt NODE-red til at kommunikere data fra 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 at lave and funktionelt layout af projektet og til design af brugergrænsefladen.
Recomandat:
Tasmota Admin - Tabloul de bord IIoT: 6 pași
Tasmota Admin - Tabloul de bord IIoT: TasmoAdmin este un site administrativ pentru dispozitive cu flash-ul Tasmota. O puteți găsi aici: TasmoAdmin GitHub. Acceptă rularea pe containere Windows, Linux și Docker. CaracteristiciLogin protejatMulti proces de actualizare
UCL - IIoT - Climă interioară 4.0: 8 pași
UCL - IIoT - Indoor-climate 4.0: După ce ați citit și ați lucrat cu acest instructable, veți avea propriul climat interior interior, pe care îl puteți observa online cu ajutorul Node-red. În cazul nostru, am dezvoltat această idee și am prezentat-o într-o casă de tipărire 3D
UCL-IIoT-Drivhus: 5 pași
UCL-IIoT-Drivhus: Scopul acestui proiect a fost de a construi o Garden House folosind Arduino. Prin urmare, cei 3 studenți din grup au decis să facă o seră automată, am decis să facem înregistrarea datelor despre informațiile date de seră, prin Wamp-server, node-re
UCL încorporat „tyverialarm”: 7 pași
UCL încorporat „tyverialarm”: fortæller jeg om min tyverialarm
EAL-Industri4.0-RFID Dataopsamling Til Database: 10 pași (cu imagini)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af v æ gtdata, înregistrare după identitatea vha. RFID, lagring af data i în MySQL database vha. node-RED, în același timp, vă recomandăm să prelucrați date despre programul de operare și programul C # în formularul Windows Form Application