Obsah:

Komunikácia Arduino - Laravel: 4 kroky
Komunikácia Arduino - Laravel: 4 kroky

Video: Komunikácia Arduino - Laravel: 4 kroky

Video: Komunikácia Arduino - Laravel: 4 kroky
Video: SPI communication between 2 Arduino boards 2024, Júl
Anonim
Image
Image
Komunikácia Arduino - Laravel
Komunikácia Arduino - Laravel

Ahoj všetci, V tomto návode vám ukážem, ako môžete odosielať údaje z Arduina do aplikácie Laravel.

Krok 1: Úvod

Úvod
Úvod
Úvod
Úvod

Kedykoľvek máme projekt, ktorý vyžaduje zobrazenie údajov a protokolovanie, zvyčajne sa vyžaduje, aby sme mali údaje dostupné na webe. Týmto spôsobom môžeme prípadne monitorovať stav objektu na diaľku alebo dokonca ovládať naše zariadenia odkiaľkoľvek na svete.

Na tento projekt použijeme dosku NodeMCU v1.0, ktorá má na sebe modul ESP8266 12e. Okrem toho budeme musieť použiť počítač, v ktorom môžeme byť hostiteľmi našej aplikácie Laravel. Ak chcete zistiť, ako môžete také prostredie nastaviť, pozrite sa na moje video.

Krok 2: Pripravte aplikáciu Laravel

Pripravte aplikáciu Laravel
Pripravte aplikáciu Laravel
Pripravte aplikáciu Laravel
Pripravte aplikáciu Laravel

Našim prvým krokom je inštalácia Laravelu cez Composer. Nebudem sa zaoberať podrobnosťami o tom, ako to môžete urobiť, pretože dokumentácia to podrobne vysvetľuje a nájdete ho tu.

Aby bolo toto demo jednoduché, v Laraveli zaznamenáme informácie odoslané z Arduina do textového súboru, aby sme ich mohli neskôr skontrolovať. Za týmto účelom najskôr vytvoríme novú trasu POST v súbore „api.php“. Pri spätnom volaní vložíme podrobnosti o požiadavke, aby sme mohli neskôr načítané parametre načítať.

Na zápis do súboru používam fasádu Storage od Laravelu s praktickou metódou pripojenia. Po zavolaní táto metóda prijme názov súboru a údaje reťazca, kde tieto údaje pridá do zadaného súboru. Ak súbor neexistuje, vytvára sa pri prvom hovore.

Údaje, ktoré píšeme do každého riadka, pozostávajú z aktuálneho dátumu a času, za ktorými nasledujú hodnoty požiadaviek na teplotu a vlhkosť. Ak máte viac takýchto hodnôt, môžete pre všetky z nich zopakovať rovnaký proces načítania.

Krok 3: Pripravte si Arduino Sender

Pripravte si Arduino Sender
Pripravte si Arduino Sender
Pripravte si Arduino Sender
Pripravte si Arduino Sender

Pozrime sa teraz na kód Arduino a odosielanie údajov.

Aby sa doska NodeMCU mohla pripojiť k našej WiFi a odoslať požiadavku, musíme do nej najskôr zahrnúť niekoľko knižníc. Ďalej musíme zadať SSID siete, ku ktorej sa pripájame, a jej heslo. Ak používate Uno s ethernetovým štítom, váš proces bude iný.

Tiež tu uložíme koreňovú adresu URL servera Laravel, ktorý sme práve vytvorili. V mojom prípade je to adresa IP môjho lokálneho počítača, ale môžete pridať ľubovoľnú adresu URL hostiteľa, kde je kód prístupný.

Vo funkcii nastavenia spustíme sériovú komunikáciu, aby sme mohli sledovať, čo sa deje. Okrem toho musíme nastaviť dosku NodeMCU, aby sa mohla správne pripojiť k sieti Wi -Fi. Akonáhle to bude hotové, môžeme začať pripojenie a čakať, kým od smerovača nedostaneme adresu IP.

V tomto prípade v skutočnosti nemám k doske pripojené žiadne snímače. Namiesto toho len generujem nejaké náhodné údaje pomocou funkcie náhodných a odosielam to ďalej.

Tieto údaje je potrebné pripraviť vo forme reťazca dotazu a po spustení požiadavky HTTP ich musíme odoslať pomocou metódy POST na klientovi HTTP. Hlavička, ktorú sme pridali predtým, má server informovať, že v požiadavke sú údaje, ktoré je potrebné zhromaždiť.

Výsledkom je, že najskôr dostaneme stavový kód HTTP a potom užitočné zaťaženie odpovede. Ak všetko prebehlo hladko, mali by sme získať 200 za kód a keďže sme z našej aplikácie Laravel nevrátili nič, užitočné zaťaženie bude prázdne.

Ak z nejakého dôvodu stavový kód nie je 200, potom užitočné zaťaženie zvyčajne obsahuje chybové hlásenie o tom, čo sa stalo.

Na konci sa musíme uistiť, že sme žiadosť zatvorili a počkali určitý čas, v našom prípade 5 sekúnd, aby sme rovnaký postup urobili znova.

Výsledkom je, že tieto hodnoty uložíme do textového súboru pri každej iterácii, aby sme ich neskôr mohli použiť na ich zobrazenie alebo mapovanie v grafe.

Krok 4: Ďalšie kroky

Ďalšie kroky
Ďalšie kroky

Ako vidíte, tento proces je pomerne jednoduchý a dá sa ľahko rozšíriť tak, aby čítal hodnoty z rôznych senzorov a prípadne ich zapísal do databázy. Výsledok toho, čo s týmto môžete postaviť, je obmedzený iba vašou predstavivosťou. Aby sme vám pomohli začať, nižšie uvádzame odkaz na úplný zdrojový kód použitý v príklade.

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

Dúfam, že ste sa z tohto Instructable naučili niečo nové, a ak áno, dajte mi prosím vedieť v komentároch, sledujte ma na Instructables a nezabudnite sa prihlásiť na odber môjho kanála YouTube.

Vďaka!

Odporúča: