Talaan ng mga Nilalaman:

Arduino to Laravel Communication: 4 Hakbang
Arduino to Laravel Communication: 4 Hakbang

Video: Arduino to Laravel Communication: 4 Hakbang

Video: Arduino to Laravel Communication: 4 Hakbang
Video: Arduino to Laravel Communication - Send data from NodeMCU to Laravel 2024, Nobyembre
Anonim
Image
Image
Arduino to Laravel Communication
Arduino to Laravel Communication

Kumusta Lahat, Sa Instructable na ito, ipapakita ko sa iyo kung paano ka maaaring magpadala ng data mula sa isang Arduino patungo sa isang application ng Laravel.

Hakbang 1: Panimula

Panimula
Panimula
Panimula
Panimula

Tuwing mayroon kaming isang proyekto na nangangailangan ng ilang pagpapakita ng data at pag-log ito ay karaniwang kinakailangan na mayroon kaming magagamit na data sa web. Sa ganitong paraan maaari nating masubaybayan ang estado ng isang bagay mula sa malayuan o kahit na makontrol natin ang aming mga aparato mula sa kahit saan sa mundo.

Para sa proyektong ito, gagamit kami ng isang board na NodeMCU v1.0 na mayroong board na ESP8266 12e. Bilang karagdagan kakailanganin naming gumamit ng isang computer kung saan maaari naming ma-host ang aming application na Laravel. Kung nais mong malaman kung paano mo mai-set up ang nasabing kapaligiran suriin ang aking video doon.

Hakbang 2: Ihanda ang Aplikasyon ng Laravel

Ihanda ang Application ng Laravel
Ihanda ang Application ng Laravel
Ihanda ang Application ng Laravel
Ihanda ang Application ng Laravel

Ang aming unang hakbang ay i-install ang Laravel sa pamamagitan ng Composer. Hindi ko bibigyan ng mga detalye kung paano mo ito magagawa habang ipinapaliwanag ito ng dokumentasyon sa mga detalye at maaari mo itong makita dito.

Upang mapanatili ang demo na ito na simple, sa loob ng Laravel ay mai-log namin ang impormasyong ipadala mula sa Arduino sa isang text file upang masuri namin ang mga ito sa ibang pagkakataon. Para doon gagawa muna kami ng isang bagong ruta sa POST sa file na "api.php". Sa callback, ituturok namin ang mga detalye ng kahilingan upang maaari naming makuha muli ang mga parameter na ipinadala.

Upang sumulat sa isang file, gumagamit ako ng harapan ng Storage mula sa Laravel gamit ang madaling gamiting pamamaraan ng pagdugtong. Kapag tinawag ang pamamaraang ito ay tumatanggap ng isang pangalan ng file at data ng string kung saan idinadagdag nito ang data na ito sa tinukoy na file. Kung ang file ay wala, pagkatapos ito ay nilikha sa unang tawag.

Ang data na sinusulat namin sa bawat hilera ay binubuo ng kasalukuyang petsa at oras, na sinusundan ng mga halaga ng kahilingan para sa temperatura at halumigmig. Kung mayroon kang maraming mga nasabing halaga maaari mong ulitin ang parehong proseso ng pagkuha para sa lahat ng mga ito.

Hakbang 3: Ihanda ang Nagpapadala ng Arduino

Ihanda ang Nagpapadala ng Arduino
Ihanda ang Nagpapadala ng Arduino
Ihanda ang Nagpapadala ng Arduino
Ihanda ang Nagpapadala ng Arduino

Tingnan natin ngayon ang Arduino code at ang pagpapadala ng data.

Upang makakonekta ang board ng NodeMCU sa aming WiFi at magpadala ng isang kahilingan, kailangan muna naming isama ang maraming mga aklatan sa itaas. Susunod kailangan naming tukuyin ang SSID ng network na kumonekta kami at ang password nito. Kung gumagamit ka ng isang Uno na may isang kalasag ng Ethernet, magkakaiba ang iyong proseso.

Gayundin, nai-save namin dito ang root URL ng Laravel server na nilikha namin. Sa aking kaso ito ang IP address ng aking lokal na computer ngunit maaari kang magdagdag ng anumang host URL kung saan maa-access ang code.

Sa pag-andar ng pag-setup, sinisimulan namin ang serial na komunikasyon upang masubaybayan namin kung ano ang nangyayari. Bilang karagdagan kailangan naming i-setup ang board ng NodeMCU upang maaari itong kumonekta nang maayos sa WiFi. Kapag tapos na iyon, maaari na nating simulan ang koneksyon at maghintay hanggang sa makatanggap kami ng isang IP address mula sa router.

Para sa halimbawang ito, wala talaga akong anumang mga sensor na nakakonekta sa board. Sa halip ay bumubuo lang ako ng ilang random na data gamit ang random na pagpapaandar at ipinapadala ko na iyon.

Ang data na ito ay kailangang ihanda sa anyo ng isang query string at pagkatapos masimulan ang kahilingan sa HTTP, kailangan namin itong ipadala gamit ang POST na pamamaraan sa HTTP client. Ang header na idinagdag namin dati ay naroon upang ipaalam sa server na mayroong data sa kahilingan na kailangan nitong tipunin.

Bilang isang resulta, nakukuha muna namin ang code ng katayuan ng HTTP at pagkatapos ay ang payload ng tugon. Kung naging maayos ang lahat, dapat tayong makakuha ng 200 bilang code at dahil wala kaming naibalik na anupaman mula sa aming application na Laravel, walang bayad ang payload.

Kung sa ilang kadahilanan ang status code ay hindi 200, kung gayon ang payload ay karaniwang maglalaman ng mensahe ng error ng kung ano ang nangyari.

Sa pagtatapos, kailangan naming siguraduhin na isara ang kahilingan at maghintay ng isang tiyak na oras, 5 segundo sa aming halimbawa upang gawin muli ang parehong proseso.

Ang kinalabasan ay nakukuha natin ang mga halagang iyon na naka-save sa text file sa bawat pag-ulit upang magamit natin ito sa paglaon upang ipakita ito o mapa ito sa isang tsart.

Hakbang 4: Karagdagang Mga Hakbang

Karagdagang Mga Hakbang
Karagdagang Mga Hakbang

Tulad ng nakikita mo, ang proseso ay medyo simple at madaling mapalawak upang mabasa ang mga halaga mula sa iba't ibang mga sensor at marahil isulat ang mga ito sa isang database. Ang resulta ng kung ano ang maaari mong buuin sa ito ay limitado lamang ng iyong imahinasyon. Upang matulungan kang makapagsimula, sa ibaba ay isang link sa buong source code na ginamit sa halimbawa.

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

Inaasahan kong nagawa mong matuto ng bago mula sa Instructable na ito at kung ginawa mo ito, mangyaring ipaalam sa akin sa mga komento, sundan ako sa Mga Instructable at huwag kalimutang mag-subscribe sa aking channel sa YouTube.

Salamat!

Inirerekumendang: