Sisällysluettelo:

Arduinon ja Laravelin välinen viestintä: 4 vaihetta
Arduinon ja Laravelin välinen viestintä: 4 vaihetta

Video: Arduinon ja Laravelin välinen viestintä: 4 vaihetta

Video: Arduinon ja Laravelin välinen viestintä: 4 vaihetta
Video: Arduino IDE + ESP32 + PHP + MySQL Database + XAMPP | ESP32 with MySQL Database (localhost) 2024, Joulukuu
Anonim
Image
Image
Arduino - Laravel Communication
Arduino - Laravel Communication

Hei kaikki, Tässä Instructable -ohjelmassa näytän sinulle, kuinka voit lähettää tietoja Arduinosta Laravel -sovellukseen.

Vaihe 1: Johdanto

Johdanto
Johdanto
Johdanto
Johdanto

Aina kun meillä on projekti, joka vaatii tiettyä näyttöä ja kirjaamista, vaaditaan yleensä, että meillä on tiedot saatavilla verkossa. Tällä tavoin voimme mahdollisesti seurata kohteen tilaa etänä tai jopa ohjata laitteitamme mistä tahansa päin maailmaa.

Tässä projektissa käytämme NodeMCU v1.0 -korttia, jossa on ESP8266 12e -moduuli. Lisäksi meidän on käytettävä tietokonetta, jossa voimme isännöidä Laravel -sovellustamme. Jos haluat tietää, miten voit määrittää tällaisen ympäristön, tarkista videoni siitä.

Vaihe 2: Valmistele Laravel -sovellus

Valmistele Laravel -sovellus
Valmistele Laravel -sovellus
Valmistele Laravel -sovellus
Valmistele Laravel -sovellus

Ensimmäinen askel on asentaa Laravel Composerin kautta. En mene yksityiskohtiin siitä, miten voit tehdä tämän, koska asiakirjat selittävät sen yksityiskohtaisesti ja löydät sen täältä.

Jotta tämä esittely olisi yksinkertainen, kirjaamme Laravelissa Arduinon lähettämät tiedot tekstitiedostoon, jotta voimme tarkistaa ne myöhemmin. Tätä varten luomme ensin uuden POST -reitin api.php -tiedostoon. Soitamme takaisinpyynnössä pyynnön tiedot, jotta voimme myöhemmin hakea lähetetyt parametrit.

Kirjoittaaksesi tiedostoon käytän Laravelin Storage -julkisivua sen kätevän liitäntämenetelmän avulla. Kun tätä menetelmää kutsutaan, se vastaanottaa tiedostonimen ja merkkijonotiedot, joissa se lisää nämä tiedot määritettyyn tiedostoon. Jos tiedosto ei ole läsnä, se luodaan ensimmäisen puhelun yhteydessä.

Jokaiselle riville kirjoittamamme tiedot koostuvat nykyisestä päivämäärästä ja kellonajasta, jota seuraa lämpötilan ja kosteuden pyyntöarvot. Jos sinulla on useita tällaisia arvoja, voit toistaa saman hakuprosessin kaikille.

Vaihe 3: Valmistele Arduino -lähetin

Valmista Arduino -lähetin
Valmista Arduino -lähetin
Valmista Arduino -lähetin
Valmista Arduino -lähetin

Katsotaan nyt Arduino -koodia ja tietojen lähettämistä.

Jotta NodeMCU -kortti voisi muodostaa yhteyden WiFi -verkkoon ja lähettää pyynnön, meidän on ensin sisällytettävä useita kirjastoja yläosaan. Seuraavaksi meidän on määritettävä yhdistettävän verkon SSID ja sen salasana. Jos käytät Unoa, jossa on Ethernet -suoja, prosessisi on erilainen.

Tallennamme myös juuri luomamme Laravel -palvelimen juuri -URL -osoitteen. Minun tapauksessani tämä on paikallisen tietokoneeni IP -osoite, mutta voit lisätä minkä tahansa isäntä -URL -osoitteen, johon koodi on käytettävissä.

Asetustoiminnossa aloitamme sarjaliikenteen, jotta voimme seurata mitä tapahtuu. Lisäksi meidän on asennettava NodeMCU -kortti, jotta se voi muodostaa yhteyden WiFi -verkkoon oikein. Kun tämä on tehty, voimme aloittaa yhteyden ja odottaa, kunnes saamme reitittimeltä IP -osoitteen.

Tässä esimerkissä minulla ei oikeastaan ole mitään antureita liitetty korttiin. Sen sijaan luon vain satunnaistietoja satunnaisfunktiolla ja lähetän sen eteenpäin.

Nämä tiedot on valmisteltava kyselymerkkijonon muodossa, ja kun HTTP -pyyntö on aloitettu, meidän on lähetettävä ne käyttämällä HTTP -asiakkaan POST -menetelmää. Aiemmin lisäämämme otsikko ilmoittaa palvelimelle, että pyynnössä on kerättäviä tietoja.

Tämän seurauksena saamme ensin HTTP -tilakoodin ja vastauksen hyötykuorman. Jos kaikki sujui ongelmitta, meidän pitäisi saada koodina 200 ja koska emme palauttaneet mitään Laravel -sovelluksestamme, hyötykuorma on tyhjä.

Jos tilakoodi ei jostain syystä ole 200, hyötykuorma sisältää yleensä virheilmoituksen tapahtuneesta.

Lopuksi meidän on varmistettava, että suljemme pyynnön ja odotamme tietyn ajan, esimerkissämme 5 sekuntia, jotta voimme suorittaa saman prosessin uudelleen.

Tuloksena on, että saamme nämä arvot tekstitiedostoon jokaisessa iteroinnissa, jotta voimme myöhemmin käyttää tätä joko sen näyttämiseen tai kartoittamiseen kaavioon.

Vaihe 4: Lisävaiheet

Lisävaiheet
Lisävaiheet

Kuten näette, prosessi on melko yksinkertainen ja sitä voidaan helposti laajentaa lukemaan eri antureiden arvot ja mahdollisesti kirjoittamaan ne tietokantaan. Mielikuvitus rajoittaa tulosta siitä, mitä voit rakentaa tällä. Aloituksen helpottamiseksi alla on linkki esimerkissä käytettyyn lähdekoodiin.

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

Toivon, että onnistuit oppimaan jotain uutta tästä Instructable -ohjelmasta ja jos olet, niin kerro siitä minulle kommenteissa, seuraa minua Instructables -sivustossa ja muista tilata YouTube -kanavani.

Kiitos!

Suositeltava: