Turinys:

Bendravimas iš „Arduino“į „Laravel“: 4 žingsniai
Bendravimas iš „Arduino“į „Laravel“: 4 žingsniai

Video: Bendravimas iš „Arduino“į „Laravel“: 4 žingsniai

Video: Bendravimas iš „Arduino“į „Laravel“: 4 žingsniai
Video: SPI communication between 2 Arduino boards 2024, Liepa
Anonim
Image
Image
„Arduino to Laravel Communication“
„Arduino to Laravel Communication“

Sveiki visi, Šioje instrukcijoje parodysiu, kaip galite siųsti duomenis iš „Arduino“į „Laravel“programą.

1 žingsnis: Įvadas

Įvadas
Įvadas
Įvadas
Įvadas

Kai mes turime projektą, kuriam reikia tam tikro duomenų rodymo ir registravimo, paprastai reikalaujama, kad duomenys būtų prieinami žiniatinklyje. Tokiu būdu mes galime nuotoliniu būdu stebėti objekto būklę ar net valdyti savo įrenginius iš bet kurios pasaulio vietos.

Šiam projektui naudosime „NodeMCU v1.0“plokštę, kurioje yra ESP8266 12e modulis. Be to, turėsime naudoti kompiuterį, kuriame galėsime priimti „Laravel“programą. Jei norite sužinoti, kaip galite sukurti tokią aplinką, peržiūrėkite mano vaizdo įrašą.

2 žingsnis: Paruoškite „Laravel“programą

Paruoškite „Laravel“programą
Paruoškite „Laravel“programą
Paruoškite „Laravel“programą
Paruoškite „Laravel“programą

Pirmasis mūsų žingsnis yra įdiegti „Laravel“per „Composer“. Nesileisiu į detales, kaip tai galite padaryti, nes dokumentacija tai išsamiai paaiškina ir galite rasti čia.

Kad ši demonstracija būtų paprasta, „Laravel“sistemoje „Arduino“siunčiamą informaciją įrašysime į teksto failą, kad vėliau galėtume ją peržiūrėti. Tam pirmiausia „api.php“faile sukursime naują POST maršrutą. Atskambinus mes įvesime išsamią užklausos informaciją, kad vėliau galėtume nusiųsti siunčiamus parametrus.

Norėdami rašyti į failą, naudoju „Laravel“saugyklos fasadą su patogiu pridėjimo metodu. Paskambinus šis metodas gauna failo pavadinimą ir eilutės duomenis, kur prideda šiuos duomenis prie nurodyto failo. Jei failo nėra, jis kuriamas pirmojo skambučio metu.

Kiekvienoje eilutėje įrašomus duomenis sudaro dabartinė data ir laikas, po kurių nurodomos temperatūros ir drėgmės užklausos vertės. Jei turite kelias tokias vertes, galite pakartoti tą patį gavimo procesą visoms.

3 žingsnis: Paruoškite „Arduino Sender“

Paruoškite „Arduino Sender“
Paruoškite „Arduino Sender“
Paruoškite „Arduino Sender“
Paruoškite „Arduino Sender“

Dabar pažvelkime į „Arduino“kodą ir duomenų siuntimą.

Kad „NodeMCU“plokštė galėtų prisijungti prie mūsų „WiFi“ir išsiųsti užklausą, pirmiausia turime įtraukti keletą bibliotekų į viršų. Toliau turime nurodyti tinklo, prie kurio prisijungiame, SSID ir jo slaptažodį. Jei naudojate „Uno“su „Ethernet“ekranu, jūsų procesas bus kitoks.

Be to, čia išsaugome ką tik sukurto „Laravel“serverio pagrindinį URL. Mano atveju tai yra mano vietinio kompiuterio IP adresas, bet jūs galite pridėti bet kokį prieglobos URL, kur kodas yra prieinamas.

Naudodami sąrankos funkciją pradedame nuoseklųjį ryšį, kad galėtume stebėti, kas vyksta. Be to, turime nustatyti „NodeMCU“plokštę, kad ji galėtų tinkamai prisijungti prie „WiFi“. Kai tai bus padaryta, galime užmegzti ryšį ir palaukti, kol gausime IP adresą iš maršrutizatoriaus.

Šiame pavyzdyje aš iš tikrųjų neturiu jokių jutiklių prijungtų prie plokštės. Vietoj to aš tiesiog generuoju atsitiktinius duomenis naudodamas atsitiktinę funkciją ir siunčiu juos.

Šiuos duomenis reikia paruošti užklausos eilutės pavidalu, o paleidus HTTP užklausą, turime juos išsiųsti naudojant HTTP kliento POST metodą. Antraštė, kurią pridėjome anksčiau, yra skirta serveriui žinoti, kad užklausoje yra duomenų, kuriuos reikia surinkti.

Dėl to pirmiausia gauname HTTP būsenos kodą, o po to - naudingą apkrovą. Jei viskas klostėsi sklandžiai, turėtume gauti 200 kaip kodą ir kadangi nieko negrąžinome iš „Laravel“programos, krovinys bus tuščias.

Jei dėl kokių nors priežasčių būsenos kodas nėra 200, tada naudingojoje krovinyje paprastai bus klaidos pranešimas apie tai, kas įvyko.

Pabaigoje turime įsitikinti, kad uždarome užklausą ir palaukiame tam tikrą laiką, 5 sekundes mūsų pavyzdyje, kad vėl atliktume tą patį procesą.

Rezultatas yra tas, kad mes gauname tas vertes, išsaugotas teksto faile kiekvienoje iteracijoje, kad vėliau galėtume tai naudoti norėdami ją parodyti arba susieti diagramoje.

4 žingsnis: tolesni veiksmai

Tolesni žingsniai
Tolesni žingsniai

Kaip matote, procesas yra gana paprastas ir gali būti lengvai išplėstas, kad būtų galima nuskaityti skirtingų jutiklių vertes ir galbūt jas įrašyti į duomenų bazę. Tai, ką galite sukurti naudodami šį rezultatą, riboja jūsų vaizduotė. Norėdami padėti jums pradėti, toliau pateikiama nuoroda į visą pavyzdyje naudojamą šaltinio kodą.

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

Tikiuosi, kad jums pavyko išmokti ko nors naujo iš šios „Instructable“programos, ir jei tai padarėte, praneškite man komentaruose, sekite mane „Instructables“ir nepamirškite užsiprenumeruoti mano „YouTube“kanalo.

Dėkoju!

Rekomenduojamas: