Bygg en bevægelses- og tilstedeværelsesproduktionstæller ved hjælp af en Feather HUZZAH programmeret med Arduino og drevet af Ubidots.
Effektiv fysisk bevægelse og tilstedeværelsesdetektion i Smart Homes og Smart Manufacturing kan være meget nyttigt i applikationer lige fra ældre Ambient Assisted Living (AAL) løsninger eller et Production Counting System, der feeds en større MES. Andre applikationer til bevægelses- og nærværsdetektion omfatter, men er ikke begrænset til:
- Dør- og portautomatisering
- Parkeringssensorer til at betegne frie pletter
- Fjernstyring af tankniveau
- Smarte boliger og faciliteter til belysning og sikkerhed
- Enheder registrerer og tæller i transportbånd
- Markedetektion på trykte materialer
- Væsketektering inden for pap, plast og papirfliser
- Afstandsdetektion
- Mennesker tæller
Selvom der er mange applikationer til tilstedeværelse og bevægelse, er der lige så mange sensorer at indsamle data, såsom kapacitive, induktive, fotoelektriske og ultralydssensorer. Afhængigt af omkostningerne, miljøforholdene og nøjagtighedskravene skal man vælge den bedste passende hardware til et miljø- og applikationskrav.
Til denne øvelse vil vi fokusere på at opbygge en realtids produktionstæller; applikationen tæller hver enhed, der passerer på et transportbånd. Vi vil bruge Arduino IDE til at programmere en Feather HUZZAH ESP8266, en ultralydssensor og Ubidots til at udvikle vores applikation og vise vores IoT dashboard.
forsyninger:
Trin 1: Krav
- Feather HUZZAH med ESP8266MB7389-100
- Ultralydssensor
- Arduino IDE 1.8.2 eller højere
- Ubidots konto - eller - Uddannelseslicens
Trin 2: Opsætning
- Jeg Hardwareopsætning
- II. Firmware Setup
- III. Ubidots Application Development (begivenheder, variabler og dashboards)
Trin 3: Hardwareopsætning
Ultrasonic Sensor MB7389-100 er en billig løsning til industrielle applikationer med bredspændings- og lavt strømforbrugskrav under udfordrende vejrforhold takket være IPv67-klassificeringen.
For at komme i gang skal du spejle nedenstående diagram for at fastgøre ultralydssensoren til Feather HUZZAH ESP8266.
BEMÆRK: Sensoraflæsningen kan tages som analoge aflæsninger eller PWM; nedenfor skal vi forklare opsætningen til PWM-læsningen, for yderligere information, se venligst eksemplerne ovenfor.
Eventuelt Placer mikrokontrolenheden og sensorerne inde i IP67-sagen for at beskytte dem mod støv, vand og andre truende miljøfaktorer. Standard sagen ligner den som vist i billederne ovenfor.
Trin 4: Firmware Setup
Først skal du installere Feather Huzzah i Arduino IDE og kompilere koden. Husk at kontrollere denne opsætning ved at lave en simpel blinkende test. For yderligere oplysninger om tilslutning af din fjer-enhed, se denne nyttige hardwareopsætningsguide.
For at sende sensordata til Ubidots IoT Development Platform skal du kopiere og indsætte koden nedenfor i Arduino IDE. Husk at tildele Wi-Fi-netværksnavnet, adgangskoden og din Ubidots-konto-Token, hvis det er angivet i koden.
/ ******************************** Biblioteker inkluderet *************** ****************/#omfatte
protip: Du kan kontrollere, om din enhed er korrekt forbundet ved at åbne serielt skærmen i Arduino IDE.
Du kan kontrollere, at en enhed er oprettet i din Ubidots-backend ved at se den i din konto Enhedshåndtering -> Enheder.
Ved at klikke på din enhed finder du en variabel kaldet "afstand", hvor sensorens aflæsninger er gemt. Dette navn blev tildelt i den kode, du lige har indsat i Arduino IDE. Hvis du ønsker at justere dine automatiske variabler, gør du det ved at redigere enhedskortet eller ved at blinke en opdateret kode med den korrekte variabelnomenklatur for din ansøgning.
Med Feather HUZZAH ESP8266 tilsluttet og rapporterende data til Ubidots, er det nu tid til at bygge programmet ved hjælp af Ubidots omhyggeligt designet kodefri applikationskonfiguration.
Trin 5: Ubidots Application Development
Ubidots begivenhedskonfiguration
De aktuelle aflæsninger, vi sender til Ubidots, er afstandsindgange. For at oversætte disse aflæsninger til det ønskede output, som vi ønsker - antal enheder - skal vi oprette en begivenhed som følger disse trin:
- Inden for den nuværende enhed "motion-control" oprettes en ny standardvariabel kaldet "bokse", som vil modtage en 1 hver gang en ny enhed tælles.
- Gå til Enhedshåndtering -> Begivenheder, og klik på det blå plusikon i øverste højre hjørne af siden for at tilføje en ny begivenhed.
- Konfigurer din begivenhed, der begynder med "Hvis udløsere":
- Vælg en variabel: "afstand"
- Værdi: værdi (standard)
- Er mindre end eller lig med den maksimale forventede afstand} mellem sensoren og boksene der går forbi * vores ansøgning kræver 500mm
- Til 0 minutter
- Gemme
4. Når udløserne er konfigureret til dine ansøgnings specifikationer, skal du klikke på det orange "plus" -ikon i øverste højre hjørne for at tilføje en betinget handling.
5. Vælg "Set Variable" som handling.
6. Vælg derefter den tidligere oprettede standardvariabel "bokse" og værdi "1".
7. Gem ændringer. Hvis arrangementet er korrekt oprettet, sender det en "1" hver gang afstanden mellem sensoren og enheden er længere end en angivet tærskel, hvilket tyder på, at der ikke er noget objekt i nærheden - og skal tælle en ny enhed, der netop er gået forbi .
I Feather Specific Device-kortet finder du, at variablen "bokse", hvor en "1" sendes, når en enhed er til stede, registreres.
Specielt anvendelig til industrielle transportbånd og enhedstælling af denne prototype kan tilpasses til forskellige miljøer eller hardware, simpelthen i din kodning eller din applikationsudvikling.
8. Visualiser antallet af registrerede enheder (eller gange et objekt blev registreret)
Nu skal vi ved hjælp af variablen "bokse" oprette en ny rullende variabel for at summere den samlede mængde af læsninger, der modtages fra variablen "bokse" i en defineret spam (minutter, timer, dage, uger osv.). Følg disse enkle trin for at udføre denne udvikling:
Tildel følgende legitimationsoplysninger til din nye rullende vinduesvariabel
Vælg en enhed: bevægelsesstyring (eller navnet på den enhed, du sender dine data)
Vælg en variabel: kasser
Beregn: sum
Hver: "1" time (eller i henhold til dine ansøgningsanmodninger)
Nu tildele et navn til den nye variabel, der angiver antallet af kasser (eller bevægelser) talt i en time, ligesom "kasser / time" eller "enheder / timer.
Trin 6: Dashboard-konfigurationer
Endelig opretter du et dashboard for at vise antallet af registrerede enheder.
Gå til Enhedshåndtering -> Dashboards og tilføj en ny widget. Denne widget viser mængden af kasser, der tælles i dag, fordelt efter time.
Tildel følgende legitimationsoplysninger til din nye widget for at visualisere dit antal.
Hvordan vil du se dine data ?: Diagram
Vælg en type widget: linjediagram
Tilføj en enhed: motion-kontrol
Tilføj en variabel: kasser / time
Afslut. Og med denne endelige dashboardudvikling - du er ansøgningen færdig, og du har nu et effektivt og effektivt bevægelses- og tilstedeværelsesdetekteringssystem. Her er et sidste kig på vores resultater.