Indholdsfortegnelse:

Arduino til Laravel Kommunikation: 4 trin
Arduino til Laravel Kommunikation: 4 trin

Video: Arduino til Laravel Kommunikation: 4 trin

Video: Arduino til Laravel Kommunikation: 4 trin
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, November
Anonim
Image
Image
Arduino til Laravel Communication
Arduino til Laravel Communication

Hej allesammen, I denne Instructable viser jeg dig, hvordan du kan sende data fra en Arduino til en Laravel -applikation.

Trin 1: Introduktion

Introduktion
Introduktion
Introduktion
Introduktion

Når vi har et projekt, der kræver visning af data og logning, kræves det normalt, at vi har dataene tilgængelige på internettet. På denne måde kan vi muligvis eksternt overvåge tilstanden for et objekt eller endda styre vores enheder overalt i verden.

Til dette projekt bruger vi et NodeMCU v1.0 -kort, der har et ESP8266 12e -modul ombord. Derudover skal vi bruge en computer, hvor vi kan være vært for vores Laravel -applikation. Hvis du vil finde ud af, hvordan du kan opsætte et sådant miljø, kan du tjekke min video om det.

Trin 2: Forbered Laravel -applikationen

Forbered Laravel -applikationen
Forbered Laravel -applikationen
Forbered Laravel -applikationen
Forbered Laravel -applikationen

Vores første trin er at installere Laravel gennem Composer. Jeg vil ikke gå i detaljer om, hvordan du kan gøre dette, da dokumentationen forklarer det detaljeret, og du kan finde det her.

For at holde denne demo enkel, logger vi inden for Laravel de oplysninger, der sendes fra Arduino, til en tekstfil, så vi kan gennemgå dem senere. Til det opretter vi først en ny POST -rute i "api.php" -filen. I tilbagekaldelsen injicerer vi anmodningsoplysningerne, så vi senere kan hente de parametre, der sendes.

For at skrive til en fil bruger jeg Storage -facaden fra Laravel med den praktiske tilføjelsesmetode. Når den kaldes, modtager denne metode et filnavn og strengedata, hvor den tilføjer disse data til den angivne fil. Hvis filen ikke er til stede, oprettes den ved det første opkald.

De data, vi skriver i hver række, består af den aktuelle dato og klokkeslæt efterfulgt af anmodningsværdierne for temperatur og fugtighed. Hvis du har flere sådanne værdier, kan du gentage den samme hentningsproces for dem alle.

Trin 3: Forbered Arduino -afsenderen

Forbered Arduino -afsenderen
Forbered Arduino -afsenderen
Forbered Arduino -afsenderen
Forbered Arduino -afsenderen

Lad os nu se på Arduino -koden og afsendelse af data.

For at NodeMCU -kortet kan oprette forbindelse til vores WiFi og sende en anmodning, skal vi først medtage flere biblioteker i toppen. Dernæst skal vi angive SSID for det netværk, vi opretter forbindelse til, og dets adgangskode. Hvis du bruger en Uno med et Ethernet -skjold, vil din proces være en anden.

Vi gemmer også her root -URL'en til Laravel -serveren, som vi lige har oprettet. I mit tilfælde er dette IP -adressen på min lokale computer, men du kan tilføje enhver værts -URL, hvor koden er tilgængelig.

I opsætningsfunktionen starter vi den serielle kommunikation, så vi kan overvåge, hvad der foregår. Derudover skal vi konfigurere NodeMCU -kortet, så det korrekt kan oprette forbindelse til WiFi. Når det er gjort, kan vi starte forbindelsen og vente, indtil vi modtager en IP -adresse fra routeren.

For dette eksempel har jeg faktisk ingen sensorer forbundet til kortet. I stedet genererer jeg bare nogle tilfældige data ved hjælp af tilfældig funktion, og jeg sender det videre.

Disse data skal udarbejdes i form af en forespørgselsstreng, og efter at HTTP -anmodningen er startet, skal vi sende dem ved hjælp af POST -metoden på HTTP -klienten. Overskriften, som vi tilføjede før, er der for at lade serveren vide, at der er data i anmodningen, som den skal indsamle.

Som et resultat får vi først HTTP -statuskoden og derefter svarets nyttelast. Hvis alt gik glat, skulle vi få 200 som koden, og da vi ikke returnerede noget fra vores Laravel -applikation, vil nyttelasten være tom.

Hvis statuskoden af en eller anden grund ikke er 200, indeholder nyttelasten normalt fejlmeddelelsen om, hvad der skete.

I slutningen skal vi sørge for at lukke anmodningen og vente et bestemt tidspunkt, 5 sekunder i vores eksempel for at gøre den samme proces igen.

Resultatet er, at vi får disse værdier gemt i tekstfilen på hver iteration, så vi senere kan bruge dette til enten at vise det eller kortlægge det på et diagram.

Trin 4: Yderligere trin

Yderligere trin
Yderligere trin

Som du kan se, er processen temmelig enkel og kan let udvides til at læse værdierne fra forskellige sensorer og måske skrive dem ned i en database. Resultatet af hvad du kan bygge med dette er kun begrænset af din fantasi. For at hjælpe dig i gang er der et link til den fulde kildekode, der bruges i eksemplet.

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

Jeg håber, at det lykkedes dig at lære noget nyt af denne instruktør, og hvis du gjorde det, så lad mig vide det i kommentarerne, følg mig på Instructables og glem ikke at abonnere på min YouTube -kanal.

Tak!

Anbefalede: