Sisällysluettelo:
- Vaihe 1: Johdanto
- Vaihe 2: Valmistele Laravel -sovellus
- Vaihe 3: Valmistele Arduino -lähetin
- Vaihe 4: Lisävaiheet
Video: Arduinon ja Laravelin välinen viestintä: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Hei kaikki, Tässä Instructable -ohjelmassa näytän sinulle, kuinka voit lähettää tietoja Arduinosta Laravel -sovellukseen.
Vaihe 1: 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
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
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
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:
Arduino- ja mobiili -Bluetooth -viestintä (messenger): 8 vaihetta
Arduino ja Mobile Bluetooth Communication (messenger): Viestintä on tärkeä tekijä jokapäiväisessä elämässämme. Mutta tänä lukituksen aikana kommunikointi oman perheemme kanssa tai kommunikointi kotimme ihmisten kanssa tarvitsee joskus matkapuhelimia. Mutta matkapuhelimien käyttö lyhyeksi aikaa
Arduino -solmu -viestintä: 4 vaihetta
Arduino -solmu -kommunikointi: Tämä ohje on tarkoitettu vain hyvin yksinkertaiseen esittelyyn siitä, kuinka lähettää ja vastaanottaa tietoja UART (Serial) -sovelluksella kahden Arduino -yhteensopivan kortin välillä
VIESTINTÄ BLACKBOX: 6 vaihetta
TIEDONSIIRTO BLACKBOX: "COMMUNICATION BLACKBOX" tiimin tekemä " 에이조 (Ajo) " miksi blackbox? 1) Estää olemassa olevan viestinnän 2) Arkistoida kahden kommunikoivan ihmisen tiedotElämme usein ajattelemalla, että kommunikoimme ympärillämme olevien ihmisten kanssa.Mutta elämme d
ESP – ESP -viestintä: 4 vaihetta
ESP – ESP -viestintä: Tämä opetusohjelma auttaa sinua korvaamaan muut lähetin -vastaanotinmoduulit mihin tahansa muuhun projektiin, joka sisältää langattoman viestinnän. Käytämme ESP8266 -pohjaista korttia, toinen WiFi -STA -tilassa ja toinen WiFi -AP -tilassa, NodeMCU V3 on valintani tähän projektiin
Reaaliaikaiset tapahtumailmoitukset NodeMCU: n (Arduino), Google Firebasen ja Laravelin avulla: 4 vaihetta (kuvilla)
Reaaliaikaiset tapahtumailmoitukset NodeMCU: n (Arduino), Google Firebasen ja Laravelin avulla: Oletko koskaan halunnut saada ilmoituksen, kun verkkosivustollasi tehdään toiminto, mutta sähköposti ei sovi oikein? Haluatko kuulla äänen tai kellon joka kerta, kun teet myynnin? Tai tarvitaan välitöntä huomiota hätätilanteen vuoksi