Kazalo:
- 1. korak: Uvod
- 2. korak: Pripravite aplikacijo Laravel
- 3. korak: Pripravite pošiljatelja Arduino
- 4. korak: Nadaljnji koraki
Video: Komunikacija Arduino do Laravel: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zdravo vsi, V tem navodilu vam bom pokazal, kako lahko pošiljate podatke iz Arduina v aplikacijo Laravel.
1. korak: 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
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
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
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:
Komunikacija Modbus TCP med Arduino in industrijskimi napravami: 3 koraki
Komunikacija Modbus TCP med Arduino in industrijskimi napravami: Industrijski način za nadzor plošče Arduino z industrijskim HMI in njeno povezavo z industrijskim omrežjem s komunikacijo Modbus TCP
Komunikacija Arduino z vozliščem: 4 koraki
Komunikacija Arduino z vozliščem: Ta navodila so namenjena zgolj preprosti predstavitvi pošiljanja in prejemanja podatkov prek UART (zaporednega) med dvema združljivimi ploščami Arduino
Arduino in Python serijska komunikacija - prikaz tipkovnice: 4 koraki
Arduino in Python Serijska komunikacija - Prikaz tipkovnice: Ta projekt je namenjen uporabnikom Mac, lahko pa se izvaja tudi za Linux in Windows, edini korak, ki bi moral biti drugačen, je namestitev
Preproga s senzorji/ RF komunikacija z Arduino Micro: 4 koraki (s slikami)
Preproga s senzorji/ RF komunikacija z Arduino Micro: Pred kratkim sem končal namestitev Enako raznolika, ki je sestavljena iz vrste svetilk, ki reagirajo na senzorje, nameščene v preprogo pod svetilkami. Tukaj sem naredil preprogo s senzorji tlaka. Upam, da vam bo koristen.
Obvestila o dogodkih v realnem času z uporabo NodeMCU (Arduino), Google Firebase in Laravel: 4 koraki (s slikami)
Obvestila o dogodkih v realnem času z uporabo NodeMCU (Arduino), Google Firebase in Laravel: Ste kdaj želeli biti obveščeni, ko je na vašem spletnem mestu izvedeno dejanje, vendar e -pošta ni primerna? Ali želite vsakič, ko prodajate, slišati zvok ali zvonec? Ali pa potrebujete vašo takojšnjo pozornost zaradi nujne situacije