Sadržaj:
- Korak 1: Uvod
- Korak 2: Pripremite aplikaciju Laravel
- Korak 3: Pripremite Arduino pošiljatelja
- Korak 4: Dalji koraci
Video: Komunikacija između Arduina i Laravela: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo svima, U ovom Instructable -u pokazat ću vam kako možete slati podatke s Arduina u Laravel aplikaciju.
Korak 1: Uvod
Kad god imamo projekt koji zahtijeva izvjestan prikaz podataka i bilježenje, obično je potrebno da imamo podatke dostupne na webu. Na ovaj način možemo daljinski pratiti stanje objekta ili čak kontrolirati naše uređaje s bilo kojeg mjesta u svijetu.
Za ovaj projekt koristit ćemo NodeMCU v1.0 ploču koja ima ESP8266 12e modul na ploči. Dodatno ćemo morati koristiti računalo na kojem možemo ugostiti našu Laravel aplikaciju. Ako želite saznati kako možete postaviti takvo okruženje, pogledajte moj video o tome.
Korak 2: Pripremite aplikaciju Laravel
Naš prvi korak je instaliranje Laravela putem Composera. Neću ulaziti u detalje o tome kako to možete učiniti jer dokumentacija to detaljno objašnjava, a možete ga pronaći ovdje.
Da bi ovaj demo bio jednostavan, u Laravelu ćemo zabilježiti podatke poslane s Arduina u tekstualnu datoteku kako bismo ih kasnije mogli pregledati. Za to ćemo prvo stvoriti novu POST rutu u "api.php" datoteci. U povratnom pozivu ćemo unijeti detalje zahtjeva kako bismo kasnije mogli dohvatiti parametre koji se šalju.
Za pisanje u datoteku koristim fasadu skladišta iz Laravela s njenom zgodnom metodom dodavanja. Kada se pozove, ova metoda prima naziv datoteke i niz podataka gdje dodaje te podatke navedenoj datoteci. Ako datoteka nije prisutna, tada se stvara pri prvom pozivu.
Podaci koje upisujemo u svaki red sastoje se od trenutnog datuma i vremena, nakon čega slijede vrijednosti zahtjeva za temperaturu i vlažnost. Ako imate više takvih vrijednosti, možete ponoviti isti postupak dohvaćanja za sve njih.
Korak 3: Pripremite Arduino pošiljatelja
Pogledajmo sada Arduino kod i slanje podataka.
Da bi se ploča NodeMCU mogla povezati s našom WiFi mrežom i poslati zahtjev, prvo moramo uključiti nekoliko biblioteka na vrh. Zatim moramo navesti SSID mreže na koju se povezujemo i njenu lozinku. Ako koristite Uno sa Ethernet štitom, vaš će proces biti drugačiji.
Također, ovdje spremamo korijenski URL Laravel servera koji smo upravo stvorili. U mom slučaju ovo je IP adresa mog lokalnog računara, ali možete dodati bilo koji URL domaćina gdje je kôd dostupan.
U funkciji postavljanja započinjemo serijsku komunikaciju kako bismo mogli pratiti što se događa. Dodatno moramo postaviti NodeMCU ploču tako da se može ispravno povezati s WiFi -jem. Nakon što to učinimo, možemo pokrenuti vezu i čekati dok ne primimo IP adresu od usmjerivača.
Za ovaj primjer, zapravo nemam senzore povezane s pločom. Umjesto toga samo generiram neke slučajne podatke pomoću funkcije random i to šaljem.
Ove podatke treba pripremiti u obliku niza upita, a nakon pokretanja HTTP zahtjeva moramo ih poslati pomoću POST metode na HTTP klijentu. Zaglavlje koje smo prethodno dodali služi da poslužitelju stavi do znanja da u zahtjevu postoje podaci koje treba prikupiti.
Kao rezultat toga, prvo dobijamo HTTP statusni kod, a zatim i korisni teret odgovora. Ako je sve prošlo glatko, trebali bismo dobiti 200 kao kôd, a budući da nismo ništa vratili iz naše Laravel aplikacije, korisni teret će biti prazan.
Ako iz nekog razloga statusni kod nije 200, tada će korisni teret obično sadržavati poruku o grešci onoga što se dogodilo.
Na kraju, moramo se pobrinuti da zatvorimo zahtjev i pričekamo određeno vrijeme, 5 sekundi u našem primjeru da ponovimo isti postupak.
Ishod je da te vrijednosti spremamo u tekstualnu datoteku na svakoj iteraciji, tako da ih kasnije možemo koristiti za prikaz ili mapiranje na grafikonu.
Korak 4: Dalji koraci
Kao što vidite, proces je prilično jednostavan i može se lako proširiti za čitanje vrijednosti s različitih senzora i možda zapisivanje u bazu podataka. Rezultat onoga što možete izgraditi ovim je samo ograničen vašom maštom. Da biste lakše započeli, dolje je veza do cijelog izvornog koda korištenog u primjeru.
github.com/bkolicoski/arduino-laravel-comm…
Nadam se da ste uspjeli naučiti nešto novo iz ovog Instructable -a, a ako jeste, molimo vas da me obavijestite u komentarima, pratite me na Instructables i ne zaboravite se pretplatiti na moj YouTube kanal.
Hvala!
Preporučuje se:
RS485 između Arduina i Raspberry Pi: 7 koraka
RS485 između Arduina i Raspberry Pi: Za školu moram napraviti projekt. Odlučio sam napraviti pametan kontroler staklenika u potpunosti kontroliran malinom pi. Senzore će napajati arduino uno. U mjesecima koji slijede objavit ću izradu ovog projekta korak do
Modbus TCP komunikacija između Arduina i industrijskih uređaja: 3 koraka
Modbus TCP komunikacija između Arduina i industrijskih uređaja: Industrijski način upravljanja Arduino pločom s industrijskim HMI -jem i povezivanje s industrijskom mrežom s Modbus TCP komunikacijom
Komunikacija između Arduina i čvora: 4 koraka
Komunikacija između Arduina i čvora: Ovo uputstvo služi samo za osnovnu demonstraciju načina slanja i primanja podataka putem UART -a (serijskog) između dvije Arduino kompatibilne ploče
Komunikacija između ESP -a i ESP -a: 4 koraka
ESP to ESP Communication: Ovaj vodič će vam pomoći da zamijenite druge primopredajničke module za bilo koji drugi projekt koji uključuje bežičnu komunikaciju. Koristit ćemo ploču zasnovanu na ESP8266, jednu u WiFi -STA načinu rada, a drugu u WiFi -AP načinu rada, NodeMCU V3 je moj izbor za ovu projekciju
Pristupna tačka - Komunikacija stanice između dva ESP8266 MCU -a: 3 koraka
Pristupna tačka - Komunikacija stanice između dva ESP8266 MCU -a: Zdravo, proizvođači! U prethodnom uputstvu sam napravio WiFi komunikaciju između dva ESP8266 MCU -a putem kućnog WiFi rutera. Kao što sam vidio iz komentara, postoje proizvođači koji bi željeli koristiti ESP8266 MCU -ove daleko od dometa usmjerivača. Dakle, ovdje je bar