Sadržaj:
- Korak 1: Uvod
- Korak 2: Pripremite aplikaciju Laravel
- Korak 3: Pripremite Arduino pošiljatelja
- Korak 4: Daljnji koraci
Video: Komunikacija između Arduina i Laravela: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Pozdrav svima, U ovom Instructable -u pokazat ću vam kako možete slati podatke s Arduina u aplikaciju Laravel.
Korak 1: Uvod
Kad god imamo projekt koji zahtijeva izvjestan prikaz podataka i bilježenje, obično je potrebno da imamo dostupne podatke na webu. Na taj način možemo daljinski nadzirati 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 aplikaciju Laravel. 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.
Kako 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 datoteci "api.php". U povratnom pozivu unijet ćemo detalje zahtjeva kako bismo kasnije mogli dohvatiti parametre koji se šalju.
Za pisanje u datoteku koristim fasadu Storage iz Laravela s njezinom zgodnom metodom dodavanja. Kada se pozove, ova metoda prima naziv datoteke i nizove podataka gdje te podatke dodaje navedenoj datoteci. Ako datoteka nije prisutna, tada se stvara pri prvom pozivu.
Podaci koje upisujemo u svaki redak 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.
Kako bi se ploča NodeMCU mogla spojiti na naš WiFi i poslati zahtjev, prvo moramo uključiti nekoliko knjižnica na vrh. Zatim moramo navesti SSID mreže s kojom se povezujemo i njezinu lozinku. Ako koristite Uno s Ethernet štitom, vaš će postupak biti drugačiji.
Također, ovdje spremamo korijenski URL Laravel poslužitelja koji smo upravo stvorili. U mom slučaju ovo je IP adresa mog lokalnog računala, 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 prič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 postoji kako bi poslužitelju dalo do znanja da u zahtjevu postoje podaci koje treba prikupiti.
Kao rezultat toga, prvo dobivamo 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 aplikacije Laravel, korisni teret će biti prazan.
Ako iz nekog razloga statusni kôd nije 200, tada će korisni teret obično sadržavati poruku o pogrešci onoga što se dogodilo.
Na kraju moramo zatvoriti zahtjev i pričekati 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 pa ih kasnije možemo koristiti za prikaz ili mapiranje na grafikonu.
Korak 4: Daljnji koraci
Kao što vidite, postupak 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 s ovim možete izgraditi samo je ograničen vašom maštom. Kako biste lakše započeli, dolje je veza na cijeli izvorni kod koji se koristi 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, onda mi to javite u komentarima, slijedite me na Instructables i ne zaboravite se pretplatiti na moj YouTube kanal.
Hvala!
Preporučeni:
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. Tijekom sljedećih mjeseci objavit ću korak po korak do izrade ovog projekta
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 vrlo 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
Komunikacija između ESP -a i ESP -a: Ovaj će vam vodič pomoći zamijeniti druge module primopredajnika 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 točka - komunikacija stanice između dva ESP8266 MCU -a: 3 koraka
Pristupna točka - Komunikacija stanice između dva ESP8266 MCU -a: Pozdrav, tvorci! U prethodnim uputama napravio sam WiFi komunikaciju između dva ESP8266 MCU -a putem kućnog WiFi usmjerivača. Kao što sam vidio iz komentara, postoje proizvođači koji bi htjeli koristiti ESP8266 MCU -ove daleko od dometa usmjerivača. Dakle, ovdje je bar