Satura rādītājs:

Komunikācija no Arduino līdz Laravel: 4 soļi
Komunikācija no Arduino līdz Laravel: 4 soļi

Video: Komunikācija no Arduino līdz Laravel: 4 soļi

Video: Komunikācija no Arduino līdz Laravel: 4 soļi
Video: CS50 2014 – 9-я неделя 2024, Jūlijs
Anonim
Image
Image
Arduino - Laravel komunikācija
Arduino - Laravel komunikācija

Sveiki visiem, Šajā instrukcijā es parādīšu, kā jūs varat nosūtīt datus no Arduino uz Laravel lietojumprogrammu.

1. darbība. Ievads

Ievads
Ievads
Ievads
Ievads

Ikreiz, kad mums ir projekts, kas prasa datu parādīšanu un reģistrēšanu, parasti tiek prasīts, lai mums būtu pieejami dati tīmeklī. Tādā veidā mēs, iespējams, varam attālināti uzraudzīt objekta stāvokli vai pat kontrolēt savas ierīces no jebkuras vietas pasaulē.

Šim projektam mēs izmantosim NodeMCU v1.0 plati, kurā ir ESP8266 12e modulis. Turklāt mums būs jāizmanto dators, kurā mēs varam mitināt savu Laravel lietojumprogrammu. Ja vēlaties uzzināt, kā izveidot šādu vidi, pārbaudiet manu video par to.

2. darbība. Sagatavojiet Laravel lietojumprogrammu

Sagatavojiet Laravel lietojumprogrammu
Sagatavojiet Laravel lietojumprogrammu
Sagatavojiet Laravel lietojumprogrammu
Sagatavojiet Laravel lietojumprogrammu

Mūsu pirmais solis ir instalēt Laravel, izmantojot komponentu. Es neiedziļināšos detaļās par to, kā jūs to varat izdarīt, jo dokumentācija to sīki izskaidro, un jūs to varat atrast šeit.

Lai šī demonstrācija būtu vienkārša, Laravel ietvaros mēs reģistrēsim no Arduino nosūtīto informāciju teksta failā, lai vēlāk varētu to pārskatīt. Šim nolūkam vispirms izveidosim jaunu POST maršrutu failā "api.php". Atzvanīšanas laikā mēs ievadīsim informāciju par pieprasījumu, lai vēlāk varētu izgūt nosūtītos parametrus.

Lai rakstītu failā, es izmantoju Laravel uzglabāšanas fasādi, izmantojot ērto pievienošanas metodi. Kad šī metode tiek izsaukta, tā saņem faila nosaukumu un virknes datus, kur tā pievieno šos datus norādītajam failam. Ja faila nav, tas tiek izveidots pirmajā zvanā.

Katrā rindā ierakstāmie dati sastāv no pašreizējā datuma un laika, kam seko pieprasītās temperatūras un mitruma vērtības. Ja jums ir vairākas šādas vērtības, varat atkārtot to pašu izguves procesu visām tām.

3. darbība: sagatavojiet Arduino sūtītāju

Sagatavojiet Arduino sūtītāju
Sagatavojiet Arduino sūtītāju
Sagatavojiet Arduino sūtītāju
Sagatavojiet Arduino sūtītāju

Tagad apskatīsim Arduino kodu un datu nosūtīšanu.

Lai NodeMCU plate varētu izveidot savienojumu ar mūsu WiFi un nosūtīt pieprasījumu, vispirms augšpusē ir jāiekļauj vairākas bibliotēkas. Tālāk mums jānorāda tīkla SSID, ar kuru mēs izveidojam savienojumu, un tā parole. Ja izmantojat Uno ar Ethernet vairogu, jūsu process būs atšķirīgs.

Mēs arī saglabājam šeit tikko izveidotā Laravel servera saknes URL. Manā gadījumā šī ir mana vietējā datora IP adrese, bet jūs varat pievienot jebkuru resursdatora URL, kur kods ir pieejams.

Iestatīšanas funkcijā mēs sākam seriālo komunikāciju, lai mēs varētu uzraudzīt notiekošo. Turklāt mums ir jāiestata NodeMCU plate, lai tā varētu pareizi izveidot savienojumu ar WiFi. Kad tas ir izdarīts, mēs varam sākt savienojumu un gaidīt, kamēr no maršrutētāja saņemsim IP adresi.

Šajā piemērā man faktiski nav pievienoti sensori pie tāfeles. Tā vietā es vienkārši ģenerēju dažus nejaušus datus, izmantojot nejaušo funkciju, un es to pārsūtu.

Šie dati ir jāsagatavo vaicājuma virknes veidā, un pēc HTTP pieprasījuma sākšanas mums tie jānosūta, izmantojot HTTP klienta POST metodi. Iepriekš pievienotā galvene ir paredzēta, lai serveris zinātu, ka pieprasījumā ir apkopoti dati, kas tam jāapkopo.

Rezultātā mēs vispirms iegūstam HTTP statusa kodu un pēc tam atbildes lietderīgo slodzi. Ja viss noritēja gludi, mums vajadzētu saņemt 200 kā kodu un, tā kā mēs neko neatgriezām no mūsu Laravel lietojumprogrammas, kravnesība būs tukša.

Ja kāda iemesla dēļ statusa kods nav 200, tad kravā parasti būs kļūdas ziņojums par notikušo.

Beigās mums noteikti jāaizver pieprasījums un jāgaida noteikts laiks, mūsu piemērā - 5 sekundes, lai atkārtotu to pašu procesu.

Rezultātā mēs iegūstam šīs vērtības teksta failā katrā iterācijā, lai vēlāk varētu to izmantot, lai to parādītu vai kartētu diagrammā.

4. solis: turpmākās darbības

Tālākie soļi
Tālākie soļi

Kā redzat, process ir diezgan vienkāršs, un to var viegli paplašināt, lai nolasītu dažādu sensoru vērtības un, iespējams, ierakstītu tās datu bāzē. Rezultātu, ko jūs varat izveidot ar šo, ierobežo tikai jūsu iztēle. Lai palīdzētu jums sākt darbu, zemāk ir saite uz pilnu avotā kodu, kas izmantots piemērā.

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

Es ceru, ka jums izdevās iemācīties kaut ko jaunu no šīs Instructable programmas, un, ja jūs to darījāt, lūdzu, informējiet mani komentāros, sekojiet man Instructables un neaizmirstiet abonēt manu YouTube kanālu.

Paldies!

Ieteicams: