Table des matières:
- Étape 1: Matérialiste
- Étape 2: Logiciel
- Étape 3: Arduino
- Étape 4: Base de données
- Étape 5: Nœud-rouge
- Étape 6: Testez
- Étape 7: Videreudvikling
- Étape 8: Konklusion
Vidéo: Dataopsamling Af Tyverialarm IIOT 4.0 : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
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 for 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. Ni alarmen tænder, skal der kunne sendes besked tilbage til Arduinoen om at den skal tilbage til starttilstand.
Étape 1: Matérialiste
Arduino projet tyverialarm
Capteur tactile Arduino
Lampe Arduino RVB
Trykknap Arduino
Ledning melem Arduino et PC
Planche à pain
Logiciel NODE-rouge
Serveur SQL WAMP
Étape 2: Logiciel
Til kommunikation mellem database og Arduino, har jeg brugt programmet NODE-red. Je dette programme kan man ved hjælp af blok programmation kommunikere med Arduinoen. Derfra kan jeg kommunikere med databasen.
Jusqu'à la fin des données, har jeg brugt WAMP SQL Server, une certaine base de données, med et grafisk designinterface og et mySQL interface jusqu'à NODE-red.
Projet Tidligere
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 capteur 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.
Étape 3: Arduino
L'expéditeur Arduino a été envoyé à l'étranger
alarmetilstand. 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.
Étape 4: Base de données
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. Pour à skrive disse data ind i databasen, har jeg i NODE-red lavet en funktion, der inserter til tabellen. Pour chez undgå gentagelser, har jeg lavet en regel, chez 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 et injecter jusqu'à trouver den seneste aktivering af alarmen hvor den fortæller hvornår det skite. Son bruger jeg igen sélectionne jusqu'à l'alarme finde den seneste røde.
Étape 5: Nœud-rouge
Je NODE-rouge 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, for derefter at sende dem videre til navn og reset.
Komponenten navn er et tableau de bord feutre, som viser aktuel alarmtilstand.
Komponenten reset er en fonction javascript, som undersøger om der er kommet rød alarm. J'ai 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 premier bliver lagt ind som tid og næste som alarme. Je denne funktion laves muligheden pour at der kun bliver inséré nye værdier ni 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 injecter en periodisk trigger med en periode på 15 sekunder, som læser tidspunktet for sidste røde alarm fra databasen. Dette tidspunkt envoie l'alarme jusqu'à l'alarme.
Komponenten nodered er en forbindelse til databasen, som inject udnytter til select.
Komponenten msg.payload bruges jusqu'au debugge komponenterne og jusqu'à tjekke om jeg for det rigtige resultat.
Komponenten rød alarm er et feutre på dashboardet, som modtager tidspunktet fra inject.
Tableau de bord 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 time times
Étape 6: Testez
Jeg har testet programmet 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 for 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 objet til string. Dette har jeg ikke fundet løsningen på.
Den eneste måde at resette Arduinoen per 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.
Étape 7: Videreudvikling
Der kan være udvikling i forhold til databasen i at kunne
rydde tabellen. Man kan også vis tabellen eller udtræk fra den på f.eks. Tableau de 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 pour réinitialiser l'alarme rød. En anden knap til at tømme tabellen pour les données. Der kunne være muligheder for at tjekke alarmen for week-end eller helligdage. Hvor den skal kunne resette sig selv.
Étape 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 pour seneste alarmtilstand. Disse ting er lavet ved hjælp af programt NODE-red for grafik og programmation 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. Jeg har brugt NODE-red jusqu'à 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 jusqu'à lave et funktionelt layout af projektet og til design af brugergrænsefladen.
Conseillé:
Tasmota Admin - Tableau de bord IIoT : 6 étapes
Tasmota Admin - Tableau de bord IIoT : TasmoAdmin est un site Web administratif pour les appareils flashés avec Tasmota. Vous pouvez le trouver ici : TasmoAdmin GitHub. Il prend en charge l'exécution sur les conteneurs Windows, Linux et Docker.CaractéristiquesLogin protectedMulti Update ProcessSelect appareils pour mettre à jour Autom
UCL - IIoT - Indoor-climat 4.0 : 8 étapes
UCL - IIoT - Indoor-climate 4.0 : Après avoir lu et travaillé avec cette instructable, vous aurez votre propre climat intérieur automatique, que vous pourrez observer en ligne à l'aide de Node-red. Dans notre cas, nous avons développé cette idée et l'avons présentée dans une maison d'impression 3D
UCL-IIoT-Drivhus : 5 étapes
UCL-IIoT-Drivhus : Le but de ce projet était de construire une maison de jardin en utilisant Arduino. C'est pourquoi les 3 étudiants du groupe ont décidé de faire une Serre automatique, nous avons décidé de faire un datalogging sur les informations données par la serre, via Wamp-server, node-re
UCL Embedded "tyverialarm": 7 étapes
UCL Embedded "tyverialarm": son fortæller jeg om min tyverialarm
Base de données EAL-Industri4.0-RFID Dataopsamling Til : 10 étapes (avec images)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af vægtdata, registrationing af identiteter vha. RFID, lagring af data i en MySQL vha de base de données. node-RED, samt fremvisning og behandling af de opsamlede data i et C# program i form af en Windows Form Application