Índice:
- Etapa 1: Materialer
- Etapa 2: Software
- Etapa 3: Arduino
- Etapa 4: Banco de dados
- Etapa 5: Nó vermelho
- Etapa 6: Teste
- Etapa 7: Videreudvikling
- Etapa 8: Konklusion
Vídeo: Amostragem de dados Af Tyverialarm IIOT 4.0: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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 envia lixo besked to Arduinoen om e den skal tilbage to starttilstand.
Etapa 1: Materialer
Arduino projekt tyverialarm
Sensor de toque Arduino
Lampe Arduino RGB
Arduino trykknap
Ledning mellem Arduino e PC
Tábua de pão
Software NODE-red
WAMP SQL Server
Etapa 2: Software
Até a comunidade de banco de dados mellem e Arduino, har jeg brugt programmet NODE-red. Eu detectei o programa kan man ved hjælp af blok programmering kommunikere med Arduinoen. Derfra kan jeg kommunikere med databasen.
Até lagring af data, har jeg brugt WAMP SQL Server, algum banco de dados, med et grafisk designinterface e 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 ved at alarmen er slået til eller fra. Hvis den er slået tog 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 to starttilstanden.
Etapa 3: Arduino
O remetente do Arduino pediu para om hvor lang tid den har kørt og dens
alarmtilstand. Så længe den ikke er aktiveret vil den sende perguntou, 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 em alarmen er aktiv og skal resettes tilbage to normaltilstanden.
Etapa 4: Banco de dados
Hver gang der sker en ændring af tilstanden para alarmes
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 com SQL-sproget mySQL. Jeg har lavet en tabel, som fortæller alarmtilstanden, hvor mange ms Arduinoen har kørt e 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 laveted at jeg selecter den seneste tilføjede linje after data or 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. Seu bruger jeg igen select til at finde den seneste røde alarm.
Etapa 5: Nó vermelho
I NODE-red styrer man kommunikation e databaseopdateringer.
Programmeringen foregår som javascripts.
Herunder ses mit NODE-red program, som består af 11 komponenter.
Komponenten arduino I er en forbindelse to Arduinoen. Os dados do modtager de Arduinoen. Disse data er en alarmtilstand e antal ms Arduinoen har kørt adskilt af et komma e bliver videresendt to både split and tilsql.
Komponenten split modtager data fra arduino I og opdeler dem efter komma, for derefter e sende dem videre til navn e reset.
Komponenten navn er et painel de feltro, som viser aktuel alarmtilstand.
Komponenten reset er en javascript funktion, som underøger om der er kommet rød alarm. Eu så fald sendes reset videre til arduino Q.
Komponenten arduino Q er en proibir até Arduionoen, som resetter den.
Komponenten tilsql er en javascript funktion, som splitter de to beskeder, hvor den første bliver lagt ind som tid e næste som alarm. I denne funktion laves muligheden para at der kun bliver inserido nye værdier når alarmtilstanden ændres. SQL fra denne funktion læser e opdaterer databasen via tyven forbindelsen.
Komponenten tyven er en proibelse to databasen, so tilsql udnytter to select and insert.
Komponenten injetar um periodisk trigger med en periode på 15 sekunder, som læser tidspunktet for sidste røde alarm fra databasen. Dette tidspunkt envia videre to rød alarm.
Komponenten nodered er en forbindelse to databasen, som injetar udnytter to select.
Komponenten msg.payload bruges to debugge komponenterne e tjekke om jeg får det rigtige resultat.
Komponenten rød alarm er et feltro no painel de controle, som modtager tidspunktet fra injetar.
Dashboard er et skærmbillede, hvor alarmtilstanden, som er defineret i komponenten navn, står på venstre side e tidspunktet for sidste røde alarm, some er defineret ved komponenten rød alarm, med det pågældende timestamp står på højre side.
Etapa 6: Teste
Jeg har testet programmet ved at køre simulator med
Arduinoen e kigge i tabellen, om de rigtige data bliver logget. Desuden har jeg holdt øje med dashboardet, og konstateret at det viser den aktuelle alarmtilstand e tidspunktet for sidste røde alarm.
Problemet har været at den sidste røde alarme 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 and resette Arduinoen på er ved and deploy’e i NODE-red. Der er ikke kodet en metode para at rydde tabellen i databasen andet end at gøre det manuelt.
Etapa 7: Videreudvikling
Der kan være udvikling i forhold to databasen i at kunne
rydde tabellen. Man kan også vise tabellen eller udtræk fra den på f.eks. Painel.
På dashboardet kan der være et skema over tabellen, som viser de seneste inserts, e en lampe i stedet for tekst for tilstanden af alarmen.
Der kunne implementeres knap para redefinir um alarme rød. En anden knap til at tømme tabellen para dados. Der kunne være muligheder para no tjekke alarmen para o fim de semana eller helligdage. Hvor den skal kunne resette sig selv.
Etapa 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 para grafik and programmering mens WAMP SQL Server er blevet brugt to lave databasen.
Jeg har med dette projekt lært at lave en database, samt kommunikation mellem forskellige programmeringssystemer. Jeg har brugt NODE-red to and kommunikere data of et Arduino projekt to internettet and en Relationsdatabase. Databasen é anvendt til dataopsamling e som datagrundlag for brugergrænsefladen. Jeg har brugt NODE-red to and lave et funktionelt layout de projektet e to design of brugergrænsefladen.
Recomendado:
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): 3 etapas
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): Todos nós gostamos de brincar com nossa função P … lotter no IDE do Arduino. No entanto, embora possa ser útil para aplicativos básicos, os dados são apagados conforme mais pontos são adicionados e não é particularmente agradável aos olhos. A plotadora IDE Arduino não
Sensores operacionais para bombas de amostragem individuais: 3 etapas
Sensores operacionais para bombas de amostragem individuais: fiz um sistema para controlar o bom funcionamento das bombas de amostragem individuais
Tutorial de amostragem de sinal analógico - MATLAB: 8 etapas
Tutorial de amostragem de sinal analógico | MATLAB: Neste tutorial, mostramos o que é Amostragem? e como amostrar um sinal analógico usando o software MATLAB
Mod de amostragem direta RTL-SDR: 3 etapas
RTL-SDR Direct Sampling Mod: Muitos dongles não são capazes de fazer uso de frequências abaixo de 30Mhz, entretanto é possível modificar alguns dispositivos para fazer isso usando uma chamada de método Direct Sampling. Na amostragem direta, aplicamos um sinal diretamente ao 'cérebro' dos dongles, ignorando
Taxa de amostragem / aliasing instrutível: 8 etapas (com imagens)
Taxa de amostragem / aliasing Instrutível: desejo criar um projeto educacional que demonstre aliasing (e taxas de amostragem) e se destina a ser colocado em um site como um recurso para alunos que estão aprendendo sobre aliasing