Cuprins:

Comunicare Arduino către Laravel: 4 pași
Comunicare Arduino către Laravel: 4 pași

Video: Comunicare Arduino către Laravel: 4 pași

Video: Comunicare Arduino către Laravel: 4 pași
Video: CS50 2014 - Week 9 2024, Iulie
Anonim
Image
Image
Comunicare Arduino către Laravel
Comunicare Arduino către Laravel

Buna tuturor, În acest Instructable, vă voi arăta cum puteți trimite date de la un Arduino la o aplicație Laravel.

Pasul 1: Introducere

Introducere
Introducere
Introducere
Introducere

Ori de câte ori avem un proiect care necesită afișarea și înregistrarea datelor, este de obicei necesar să avem datele disponibile pe web. În acest fel, putem monitoriza starea unui obiect de la distanță sau chiar să ne controlăm dispozitivele de oriunde din lume.

Pentru acest proiect vom folosi o placă NodeMCU v1.0 care are un modul ESP8266 12e la bord. În plus, va trebui să folosim un computer unde putem găzdui aplicația noastră Laravel. Dacă doriți să aflați cum puteți configura un astfel de mediu, verificați videoclipul meu despre asta.

Pasul 2: Pregătiți aplicația Laravel

Pregătiți aplicația Laravel
Pregătiți aplicația Laravel
Pregătiți aplicația Laravel
Pregătiți aplicația Laravel

Primul nostru pas este instalarea Laravel prin Composer. Nu voi intra în detalii despre cum puteți face acest lucru, deoarece documentația o explică în detalii și o puteți găsi aici.

Pentru a simplifica această demonstrație, în cadrul Laravel vom înregistra informațiile trimise de la Arduino într-un fișier text, astfel încât să le putem revedea mai târziu. Pentru asta vom crea mai întâi o nouă rută POST în fișierul „api.php”. În callback, vom injecta detaliile solicitării, astfel încât să putem prelua ulterior parametrii trimiși.

Pentru a scrie într-un fișier, folosesc fațada de stocare de la Laravel cu metoda sa de a adăuga la îndemână. Când este apelată, această metodă primește un nume de fișier și date de șir în care adaugă aceste date în fișierul specificat. Dacă fișierul nu este prezent, atunci este creat la primul apel.

Datele pe care le scriem în fiecare rând sunt formate din data și ora curente, urmate de valorile solicitate pentru temperatură și umiditate. Dacă aveți mai multe astfel de valori, puteți repeta același proces de recuperare pentru toate.

Pasul 3: Pregătiți expeditorul Arduino

Pregătiți expeditorul Arduino
Pregătiți expeditorul Arduino
Pregătiți expeditorul Arduino
Pregătiți expeditorul Arduino

Să vedem acum codul Arduino și trimiterea de date.

Pentru ca placa NodeMCU să se poată conecta la WiFi-ul nostru și să trimită o cerere, trebuie mai întâi să includem mai multe biblioteci în partea de sus. În continuare trebuie să specificăm SSID-ul rețelei la care ne conectăm și parola acesteia. Dacă utilizați un Uno cu un ecran Ethernet, atunci procesul dvs. va fi diferit.

De asemenea, salvăm aici adresa URL rădăcină a serverului Laravel pe care tocmai l-am creat. În cazul meu, aceasta este adresa IP a computerului meu local, dar puteți adăuga orice adresă URL de gazdă unde codul este accesibil.

În funcția de configurare, începem comunicarea serială, astfel încât să putem monitoriza ce se întâmplă. În plus, trebuie să configurăm placa NodeMCU, astfel încât să se poată conecta corect la WiFi. Odată ce ați terminat, putem iniția conexiunea și putem aștepta până când vom primi o adresă IP de la router.

Pentru acest exemplu, de fapt nu am senzori conectați la placă. În schimb, generez doar niște date aleatorii folosind funcția aleatorie și le trimit.

Aceste date trebuie să fie pregătite sub forma unui șir de interogare și după începerea cererii HTTP, trebuie să le trimitem folosind metoda POST de pe clientul HTTP. Antetul pe care l-am adăugat înainte este acolo pentru a informa serverul că există date în cererea pe care trebuie să o adune.

Ca rezultat, primim mai întâi codul de stare HTTP și apoi sarcina utilă de răspuns. Dacă totul a decurs fără probleme, ar trebui să obținem 200 ca cod și din moment ce nu am returnat nimic din aplicația noastră Laravel, sarcina utilă va fi goală.

Dacă, dintr-un anumit motiv, codul de stare nu este 200, atunci sarcina utilă va conține de obicei mesajul de eroare al celor întâmplate.

La final, trebuie să ne asigurăm că închidem solicitarea și să așteptăm un anumit timp, 5 secunde în exemplul nostru pentru a face din nou același proces.

Rezultatul este că obținem acele valori salvate în fișierul text pe fiecare iterație, astfel încât să putem folosi ulterior aceasta fie pentru a o afișa, fie pentru a o mapa pe o diagramă.

Pasul 4: Pași suplimentari

Următorii pași
Următorii pași

După cum puteți vedea, procesul este destul de simplu și poate fi extins cu ușurință pentru a citi valorile de la diferiți senzori și pentru a le putea scrie într-o bază de date. Rezultatul a ceea ce puteți construi cu acest lucru este limitat doar de imaginația voastră. Pentru a vă ajuta să începeți, mai jos este un link către codul sursă complet utilizat în exemplu.

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

Sper că ați reușit să aflați ceva nou din acest Instructable și, dacă ați făcut-o, vă rog să-mi spuneți în comentarii, să mă urmați pe Instructables și să nu uitați să vă abonați la canalul meu YouTube.

Mulțumiri!

Recomandat: