Innholdsfortegnelse:

Arduino til Laravel kommunikasjon: 4 trinn
Arduino til Laravel kommunikasjon: 4 trinn

Video: Arduino til Laravel kommunikasjon: 4 trinn

Video: Arduino til Laravel kommunikasjon: 4 trinn
Video: CS50 2014 - Week 9 2024, Juli
Anonim
Image
Image
Arduino til Laravel Communication
Arduino til Laravel Communication

Hei alle sammen, I denne instruksen viser jeg deg hvordan du kan sende data fra en Arduino til en Laravel -applikasjon.

Trinn 1: Introduksjon

Introduksjon
Introduksjon
Introduksjon
Introduksjon

Når vi har et prosjekt som krever visning og logging av data, kreves det vanligvis at vi har dataene tilgjengelig på nettet. På denne måten kan vi muligens fjernovervåke tilstanden til et objekt eller til og med kontrollere enhetene våre hvor som helst i verden.

For dette prosjektet bruker vi et NodeMCU v1.0 -kort som har en ESP8266 12e -modul om bord. I tillegg må vi bruke en datamaskin der vi kan være vert for Laravel -applikasjonen vår. Hvis du vil finne ut hvordan du kan konfigurere et slikt miljø, sjekk videoen min om det.

Trinn 2: Forbered Laravel -applikasjonen

Forbered Laravel -applikasjonen
Forbered Laravel -applikasjonen
Forbered Laravel -applikasjonen
Forbered Laravel -applikasjonen

Vårt første trinn er å installere Laravel gjennom Composer. Jeg vil ikke gå inn på detaljer om hvordan du kan gjøre dette, ettersom dokumentasjonen forklarer det i detaljer, og du finner det her.

For å holde denne demoen enkel, vil vi i Laravel logge informasjonen som sendes fra Arduino til en tekstfil, slik at vi kan se dem senere. For det skal vi først opprette en ny POST -rute i "api.php" -filen. I tilbakeringingen injiserer vi forespørselsinformasjonen slik at vi senere kan hente parameterne som sendes.

For å skrive til en fil bruker jeg lagringsfasaden fra Laravel med den praktiske vedleggsmetoden. Når den kalles, mottar denne metoden et filnavn og strengdata der den legger disse dataene til den angitte filen. Hvis filen ikke er tilstede, opprettes den ved den første samtalen.

Dataene vi skriver i hver rad består av gjeldende dato og klokkeslett, etterfulgt av forespørselsverdier for temperatur og fuktighet. Hvis du har flere slike verdier, kan du gjenta den samme henteprosessen for dem alle.

Trinn 3: Forbered Arduino -avsenderen

Forbered Arduino -avsenderen
Forbered Arduino -avsenderen
Forbered Arduino -avsenderen
Forbered Arduino -avsenderen

La oss nå se på Arduino -koden og sending av data.

For at NodeMCU -kortet skal kunne koble seg til WiFi -en vår og sende en forespørsel, må vi først inkludere flere biblioteker i toppen. Deretter må vi spesifisere SSID for nettverket som vi kobler til og passordet. Hvis du bruker en Uno med et Ethernet -skjerm, blir prosessen din annerledes.

Vi lagrer også her rotnettadressen til Laravel -serveren som vi nettopp har opprettet. I mitt tilfelle er dette IP -adressen til min lokale datamaskin, men du kan legge til en hvilken som helst vertsadresse der koden er tilgjengelig.

I oppsettfunksjonen starter vi seriekommunikasjonen slik at vi kan overvåke hva som skjer. I tillegg må vi sette opp NodeMCU -kortet slik at det kan koble seg til WiFi på riktig måte. Når det er gjort, kan vi starte tilkoblingen og vente til vi mottar en IP -adresse fra ruteren.

For dette eksempelet har jeg faktisk ingen sensorer koblet til kortet. I stedet genererer jeg bare noen tilfeldige data ved hjelp av tilfeldig funksjon, og jeg sender det videre.

Disse dataene må utarbeides i form av en spørringsstreng, og etter at HTTP -forespørselen er startet, må vi sende den ved hjelp av POST -metoden på HTTP -klienten. Overskriften som vi la til før, er der for å la serveren vite at det er data i forespørselen som den trenger å samle.

Som et resultat får vi først HTTP -statuskoden og deretter svarets nyttelast. Hvis alt gikk greit, skulle vi få 200 som koden, og siden vi ikke returnerte noe fra Laravel -applikasjonen vår, vil nyttelasten være tom.

Hvis statuskoden av en eller annen grunn ikke er 200, vil nyttelasten vanligvis inneholde feilmeldingen om det som skjedde.

På slutten må vi sørge for å lukke forespørselen og vente en viss tid, 5 sekunder i vårt eksempel for å gjøre den samme prosessen igjen.

Resultatet er at vi lagrer disse verdiene i tekstfilen på hver iterasjon, slik at vi senere kan bruke dette til enten å vise det eller kartlegge det på et diagram.

Trinn 4: Ytterligere trinn

Ytterligere trinn
Ytterligere trinn

Som du kan se, er prosessen ganske enkel og kan lett utvides til å lese verdiene fra forskjellige sensorer og kanskje skrive dem ned i en database. Resultatet av det du kan bygge med dette er bare begrenset av fantasien din. For å hjelpe deg i gang, er det en lenke til hele kildekoden som brukes i eksemplet.

github.com/bkolicoski/arduino-laravel-comm…

Jeg håper at du klarte å lære noe nytt fra denne instruksjonsboken, og hvis du gjorde det, vennligst gi meg beskjed i kommentarene, følg meg på Instructables og ikke glem å abonnere på YouTube -kanalen min.

Takk!

Anbefalt: