Isi kandungan:
- Langkah 1: Materialer
- Langkah 2: Perisian
- Langkah 3: Arduino
- Langkah 4: Pangkalan Data
- Langkah 5: Node-red
- Langkah 6: Uji
- Langkah 7: Videreudvikling
- Langkah 8: Konklusi
Video: Dataopsamling Af Tyverialarm IIOT 4.0: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
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å tertinggal af de data, jeg får fra min tyverialarm, samt at lave et brugerinterface. Data bliver lagt ind i database, saya lihat jadual 3 kolonner, der fortæller tilstanden, hvor lang tid Arduinoen har kørt programmet og en tidsangivelse (cap waktu) dari komputer. Sebaliknya, skal der kunne menghantar tilbed dikemaskan hingga Arduinoen om at den skal tilbage til starttilstand.
Langkah 1: Materialer
Arduino projekt tyverialarm
Sensor sentuhan Arduino
Arduino RGB lampe
Arduino trykknap
Ledning mellem Arduino og PC
Papan roti
Perisian NODE-red
Pelayan SQL WAMP
Langkah 2: Perisian
Til kommunikation mellem database o Arduino, har jeg brugt programmet NODE-red. Saya dette program kan man ved hjælp af blok programmer kommunikere med Arduinoen. Derfra kan jeg kommunikere med databaseasen.
Hingga ketinggalan data, harjeg brugt WAMP SQL Server, beberapa pangkalan data, med et grafisk designinterface og et mySQL interface to NODE-red.
Tidligere projekt
I et tidligere projekt har jeg lavet en tyverialarm på Arduinoen. Denne tyverialarm har jeg genbrugt. Den virker mengarahkan alarmer er slået til eller fra. Hvis den er slået til og en touch sensor bliver aktiveret, vil alarmen gå i geng. Den skal sn kunne slas fra igen di trykke på en knap, som sætter den tilbage til starttilstanden.
Langkah 3: Arduino
Pengirim Arduino meminta om hvor lang tid den har kørt og dens
meja penggera. S den 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 dikelilingi NODE-red om at alarmen er aktiv og skal resettes tilbage til normaltilstanden.
Langkah 4: Pangkalan Data
Hver geng der sker dan memerintahkan untuk mengejutkan
bliver følgende data lagret i databaseasen: Den nuværende tilstand, hvor lang tid Arduinoen har kørt, samt et timestamp, der fortæller nuværende tidspunkt.
Der bliver kommunikeret med databaseasen 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. Untuk di skrive disse data ind i databaseasen, har jeg i NODE-red lavet en funktion, der inserter til tabellen. Untuk di undgå gentagelser, har jeg lavet en regel, di 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. Bruger jeg igen pilih til di finde den seneste røde alarm.
Langkah 5: Node-red
Saya NODE-red styrer man kommunikation og databaseopdateringer.
Programmeringen foregår som javascripts.
Program Herunder ses mit NODE-red, komponenter terbaik 11 af.
Komponenten arduino I er en banindelse til Arduinoen. Den data modtager dari 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 o opdeler dem efter komma, untuk derefter at sende dem videre til navn og reset.
Komponenten navn er et dashboard feel, som viser aktuel alarmtilstand.
Komponenten reset er en javascript function, som undersøger om der er kommet rød alarm. Saya masih menghantar semula videre til arduino Q.
Komponenten arduino Q er en banindelse 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 dimasukkan nye værdier når alarmtilstanden ændres. SQL fra denne funktion lsser og opdaterer pangkalan data melalui tyven banindelsen.
Komponenten tyven er en banindelse til databaseasen, som tilsql udnytter til select og insert.
Komponenten inject er en periodisk trigger med en period på 15 sekunder, som læser tidspunktet for sidste røde alarm fra databaseasen. Dette tidspunkt menghantar penggera sehingga penggera.
Komponenten mengangguk-angguk dan melarang data pangkalan data.
Komponenten msg.payload bruges til on debugge komponenterne og til at tjekke om jeg får det rigtige resultat.
Komponenten rød alarm er et feel pashboardet, 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øj
Langkah 6: Uji
Jeg har testet programmeters ved at 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 untuk sidste røde alarm.
Problemet har været at den sidste røde alarm bliver printet som object, hvor jeg ville foretrække di det var en tekst. Det betyder, pada det skal konverteres fra objek til string. Dette har jeg ikke fundet løsningen på.
Den eneste måde di resette Arduinoen péded at deploy'e i NODE-red. Der er ikke kodet en kaedah untuk di rydde tabellen i databaseasen andet end at gøre det manuelt.
Langkah 7: Videreudvikling
Der kan være udvikling saya menjauhkan diri daripada pangkalan data di kunne
rydde tabellen. Man kan også vise tabellen eller udtræk fra den på f.eks. Papan Pemuka.
Skema dashboardet kan der være et tabellen, som viser de seneste, og en lampe i stedet for text for tilstanden af alarmen.
Der kunne implementeres knap untuk menetapkan semula penggera penggera. En anden mengemas kini tømme tabellen untuk mendapatkan data. Der kunne være muligheder untuk di tjekke alarmen untuk hujung minggu eller helligdage. Hvor den skal kunne resette sig selv.
Langkah 8: Konklusi
Jeg har lavet en datalagring på en database der lagrer alarmtilstanden
saya lihat jadual, 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 untuk grafik og programm mens WAMP SQL Server er blvet brugt til at lave databaseasen.
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 projekt til internettet og en communicationsdatabase. Databasen er anvendt til dataopsamling og som datagrundlag untuk brugergrænsefladen. Jeg har brugt NODE-red til at lave et funktionelt layout dan projektet og til design af brugergrænsefladen.
Disyorkan:
Tasmota Admin - Papan Pemuka IIoT: 6 Langkah
Tasmota Admin - IIoT Dashboard: TasmoAdmin adalah Laman web pentadbiran untuk Peranti yang dikemas kini dengan Tasmota. Anda boleh menemuinya di sini: TasmoAdmin GitHub. Ia menyokong berjalan di Windows, Linux, dan Docker container.FeaturesLogin protectedMulti Update ProcessPilih peranti untuk mengemas kini Autom
UCL - IIoT - Iklim Dalaman 4.0: 8 Langkah
UCL - IIoT - Iklim Dalaman 4.0: Setelah membaca dan bekerja dengan petunjuk ini, anda akan mempunyai iklim dalaman automatik anda sendiri, yang dapat anda perhatikan dalam talian dengan bantuan Node-red. Dalam kes kami, kami mengembangkan idea ini dan mengemukakannya di rumah cetak 3D
UCL-IIoT-Drivhus: 5 Langkah
UCL-IIoT-Drivhus: Tujuan projek ini adalah untuk membina Garden House menggunakan Arduino. Oleh itu, 3 pelajar dalam kumpulan itu memutuskan untuk membuat Rumah Hijau automatik, kami memutuskan untuk membuat pengkatalogan mengenai maklumat yang diberikan oleh rumah hijau, melalui pelayan Wamp, node-re
UCL Embedded "tyverialarm": 7 Langkah
UCL Embedded "tyverialarm": her fortæller jeg om min tyverialarm
EAL-Industri4.0-RFID Dataopsamling Til Pangkalan Data: 10 Langkah (dengan Gambar)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af v æ gtdata, mendaftarkan af identiteter vha. RFID, ketinggalan data di pangkalan data MySQL. node-RED, samt fremvisning og behandling af de opsamlede data i et C # program i form a Windows Form Application