Kazalo:

Komunikacija Arduino do Laravel: 4 koraki
Komunikacija Arduino do Laravel: 4 koraki

Video: Komunikacija Arduino do Laravel: 4 koraki

Video: Komunikacija Arduino do Laravel: 4 koraki
Video: MCP2515 CAN Controller Demo CAN BUS Protocol Diagnostic Tool 2024, November
Anonim
Image
Image
Komunikacija Arduino do Laravel
Komunikacija Arduino do Laravel

Zdravo vsi, V tem navodilu vam bom pokazal, kako lahko pošiljate podatke iz Arduina v aplikacijo Laravel.

1. korak: Uvod

Uvod
Uvod
Uvod
Uvod

Kadar koli imamo projekt, ki zahteva nekaj prikaza podatkov in beleženje, je običajno potrebno, da imamo podatke na voljo v spletu. Na ta način lahko na daljavo spremljamo stanje predmeta ali celo nadzorujemo svoje naprave od koder koli na svetu.

Za ta projekt bomo uporabili ploščo NodeMCU v1.0, ki ima vgrajen modul ESP8266 12e. Poleg tega bomo morali uporabiti računalnik, kjer bomo lahko gostili našo aplikacijo Laravel. Če želite izvedeti, kako lahko nastavite takšno okolje, poglejte moj video o tem.

2. korak: Pripravite aplikacijo Laravel

Pripravite aplikacijo Laravel
Pripravite aplikacijo Laravel
Pripravite aplikacijo Laravel
Pripravite aplikacijo Laravel

Naš prvi korak je namestitev programa Laravel prek programa Composer. Ne bom se spuščal v podrobnosti o tem, kako to lahko storite, saj dokumentacija to podrobno razlaga in jo najdete tukaj.

Za lažjo predstavitev bomo v Laravelu podatke, poslane iz Arduina, zabeležili v besedilno datoteko, da jih bomo lahko pozneje pregledali. Za to bomo najprej ustvarili novo pot POST v datoteki "api.php". V povratnem klicu bomo vnesli podrobnosti zahteve, da bomo lahko kasneje pridobili poslane parametre.

Za pisanje v datoteko uporabljam fasado Storage iz Laravela z njeno priročno metodo dodajanja. Ob klicu ta metoda prejme ime datoteke in podatke o nizu, kjer te podatke doda v podano datoteko. Če datoteke ni, se ustvari ob prvem klicu.

Podatki, ki jih zapišemo v vsako vrstico, so sestavljeni iz trenutnega datuma in časa, ki jim sledijo zahtevane vrednosti za temperaturo in vlažnost. Če imate več takih vrednosti, lahko za vse ponovite isti postopek pridobivanja.

3. korak: Pripravite pošiljatelja Arduino

Pripravite pošiljatelja Arduino
Pripravite pošiljatelja Arduino
Pripravite pošiljatelja Arduino
Pripravite pošiljatelja Arduino

Zdaj pa poglejmo kodo Arduino in pošiljanje podatkov.

Da se lahko plošča NodeMCU poveže z našo WiFi in pošlje zahtevo, moramo najprej na vrh vključiti več knjižnic. Nato moramo določiti SSID omrežja, s katerim se povežemo, in njegovo geslo. Če uporabljate Uno z ethernetnim ščitom, bo vaš postopek drugačen.

Tu shranimo tudi korenski URL strežnika Laravel, ki smo ga pravkar ustvarili. V mojem primeru je to naslov IP mojega lokalnega računalnika, vendar lahko dodate kateri koli URL gostitelja, kjer je koda dostopna.

V nastavitveni funkciji zaženemo serijsko komunikacijo, da lahko spremljamo, kaj se dogaja. Poleg tega moramo nastaviti ploščo NodeMCU, da se lahko pravilno poveže z WiFi. Ko je to storjeno, lahko vzpostavimo povezavo in počakamo, da od usmerjevalnika prejmemo naslov IP.

V tem primeru dejansko nimam nobenih senzorjev, povezanih s ploščo. Namesto tega samo ustvarim nekaj naključnih podatkov z uporabo naključne funkcije in jih pošljem.

Te podatke je treba pripraviti v obliki poizvedbenega niza in po zagonu zahteve HTTP jih moramo poslati z uporabo metode POST na odjemalcu HTTP. Glava, ki smo jo dodali prej, je tam, da strežniku sporoči, da so v zahtevi podatki, ki jih mora zbrati.

Posledično najprej dobimo kodo stanja HTTP in nato odzivno obremenitev. Če bi vse potekalo brez težav, bi morali dobiti 200 kot kodo in ker iz naše aplikacije Laravel nismo vrnili ničesar, bo koristna obremenitev prazna.

Če iz nekega razloga koda stanja ni 200, bo koristna obremenitev običajno vsebovala sporočilo o napaki, kar se je zgodilo.

Na koncu moramo zapreti zahtevo in počakati določen čas, 5 sekund v našem primeru, da ponovimo isti postopek.

Rezultat je, da te vrednosti shranimo v besedilno datoteko na vsaki iteraciji, tako da jih lahko kasneje uporabimo za prikaz ali preslikavo na grafikonu.

4. korak: Nadaljnji koraki

Nadaljnji koraki
Nadaljnji koraki

Kot lahko vidite, je postopek dokaj preprost in ga je mogoče enostavno razširiti, da prebere vrednosti iz različnih senzorjev in jih morda zapiše v bazo podatkov. Rezultat tega, kar lahko s tem zgradite, omejuje le vaša domišljija. Za lažji začetek je spodaj povezava do celotne izvorne kode, uporabljene v primeru.

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

Upam, da ste se iz te Instructable uspeli naučiti kaj novega in če ste, mi to sporočite v komentarjih, sledite mi na Instructables in se ne pozabite naročiti na moj YouTube kanal.

Hvala!

Priporočena: