Përmbajtje:

Komunikimi Arduino në Laravel: 4 hapa
Komunikimi Arduino në Laravel: 4 hapa

Video: Komunikimi Arduino në Laravel: 4 hapa

Video: Komunikimi Arduino në Laravel: 4 hapa
Video: #14 OP320 HMI Связь Modbus | Внешний ПЛК Arduino 2024, Dhjetor
Anonim
Image
Image
Arduino në Komunikimin Laravel
Arduino në Komunikimin Laravel

Pershendetje te gjitheve, Në këtë Instructable, unë do t'ju tregoj se si mund të dërgoni të dhëna nga një Arduino në një aplikacion Laravel.

Hapi 1: Hyrje

Prezantimi
Prezantimi
Prezantimi
Prezantimi

Sa herë që kemi një projekt që kërkon shfaqjen dhe regjistrimin e të dhënave zakonisht kërkohet që të kemi të dhënat në dispozicion në internet. Në këtë mënyrë ne ndoshta mund të monitorojmë gjendjen e një objekti nga distanca ose madje të kontrollojmë pajisjet tona nga kudo në botë.

Për këtë projekt ne do të përdorim një bord NodeMCU v1.0 që ka një modul ESP8266 12e në bord. Për më tepër do të na duhet të përdorim një kompjuter ku mund të presim aplikacionin tonë Laravel. Nëse doni të zbuloni se si mund të konfiguroni një mjedis të tillë, kontrolloni videon time për këtë.

Hapi 2: Përgatitni Aplikacionin Laravel

Përgatitni Aplikacionin Laravel
Përgatitni Aplikacionin Laravel
Përgatitni Aplikacionin Laravel
Përgatitni Aplikacionin Laravel

Hapi ynë i parë është të instalojmë Laravel përmes Kompozitorit. Unë nuk do të hyj në detaje sesi mund ta bëni këtë pasi dokumentacioni e shpjegon atë në detaje dhe mund ta gjeni këtu.

Për ta mbajtur këtë demonstrim të thjeshtë, brenda Laravel do të regjistrojmë informacionin e dërguar nga Arduino në një skedar teksti, në mënyrë që t'i rishikojmë ato më vonë. Për këtë ne së pari do të krijojmë një rrugë të re POST në skedarin "api.php". Në përgjigjen e thirrjes, ne do të injektojmë detajet e kërkesës në mënyrë që më vonë të marrim parametrat që dërgohen.

Për të shkruar në një skedar, unë jam duke përdorur fasadën e Magazinimit nga Laravel me metodën e saj shtesë të dobishme. Kur quhet kjo metodë merr një emër skedari dhe të dhëna vargu ku i shton këto të dhëna në skedarin e specifikuar. Nëse skedari nuk është i pranishëm, atëherë ai po krijohet në thirrjen e parë.

Të dhënat që ne shkruajmë në çdo rresht përbëhen nga data dhe ora aktuale, e ndjekur me vlerat e kërkesës për temperaturën dhe lagështinë. Nëse keni shumë vlera të tilla, mund të përsërisni të njëjtin proces të marrjes për të gjitha.

Hapi 3: Përgatitni Dërguesin Arduino

Përgatitni Dërguesin Arduino
Përgatitni Dërguesin Arduino
Përgatitni Dërguesin Arduino
Përgatitni Dërguesin Arduino

Le të shikojmë tani kodin Arduino dhe dërgimin e të dhënave.

Në mënyrë që bordi NodeMCU të jetë në gjendje të lidhet me WiFi tonë dhe të dërgojë një kërkesë, së pari duhet të përfshijmë disa biblioteka në krye. Tjetra ne duhet të specifikojmë SSID -in e rrjetit me të cilin lidhemi dhe fjalëkalimin e tij. Nëse jeni duke përdorur një Uno me një mburojë Ethernet, atëherë procesi juaj do të jetë i ndryshëm.

Gjithashtu, ne ruajmë këtu URL -në rrënjë të serverit Laravel që sapo kemi krijuar. Në rastin tim, kjo është adresa IP e kompjuterit tim lokal, por mund të shtoni çdo URL hosti ku kodi është i arritshëm.

Në funksionin e konfigurimit, ne fillojmë komunikimin serik në mënyrë që të mund të monitorojmë atë që po ndodh. Për më tepër, ne duhet të konfigurojmë bordin NodeMCU në mënyrë që të lidhet siç duhet me WiFi. Pasi të bëhet kjo, ne mund të fillojmë lidhjen dhe të presim derisa të marrim një adresë IP nga ruteri.

Për këtë shembull, unë në të vërtetë nuk kam asnjë sensor të lidhur me tabelën. Në vend të kësaj unë jam vetëm duke gjeneruar disa të dhëna të rastit duke përdorur funksionin e rastit dhe po i dërgoj ato.

Këto të dhëna duhet të përgatiten në formën e një vargu pyetësish dhe pasi të fillojë kërkesa HTTP, ne duhet t'i dërgojmë ato duke përdorur metodën POST në klientin HTTP. Titulli që shtuam më parë është atje për t'i treguar serverit se ka të dhëna në kërkesë që duhet t'i mbledhë.

Si rezultat, ne së pari marrim kodin e statusit HTTP dhe më pas ngarkesën e përgjigjes. Nëse gjithçka shkoi pa probleme, ne duhet të marrim 200 si kod dhe meqenëse nuk kemi kthyer asgjë nga aplikacioni ynë Laravel, ngarkesa do të jetë bosh.

Nëse për ndonjë arsye kodi i statusit nuk është 200, atëherë ngarkesa zakonisht do të përmbajë mesazhin e gabimit të asaj që ka ndodhur.

Në fund, ne duhet të sigurohemi që të mbyllim kërkesën dhe të presim një kohë të caktuar, 5 sekonda në shembullin tonë për të bërë përsëri të njëjtin proces.

Rezultati është se ne i marrim ato vlera të ruajtura në skedarin e tekstit në çdo përsëritje, kështu që ne mund ta përdorim më vonë këtë ose për ta shfaqur atë ose për ta hartuar në një tabelë.

Hapi 4: Hapat e mëtejshëm

Hapat e mëtejshëm
Hapat e mëtejshëm

Siç mund ta shihni, procesi është mjaft i thjeshtë dhe mund të zgjerohet lehtësisht për të lexuar vlerat nga sensorë të ndryshëm dhe ndoshta për t’i shkruar ato në një bazë të dhënash. Rezultati i asaj që mund të ndërtoni me këtë është vetëm i kufizuar nga imagjinata juaj. Për t'ju ndihmuar të filloni, më poshtë është një lidhje me kodin e plotë burimor të përdorur në shembull.

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

Shpresoj që keni arritur të mësoni diçka të re nga ky Instructable dhe nëse e mësuat, atëherë ju lutem më tregoni në komente, më ndiqni në Instructables dhe mos harroni të regjistroheni në kanalin tim në YouTube.

Faleminderit!

Recommended: