Obsah:

Komunikace Arduino - Laravel: 4 kroky
Komunikace Arduino - Laravel: 4 kroky

Video: Komunikace Arduino - Laravel: 4 kroky

Video: Komunikace Arduino - Laravel: 4 kroky
Video: Jak bych se naučil programovat, kdybych musel začít ZNOVU? 2024, Červenec
Anonim
Image
Image
Komunikace Arduino - Laravel
Komunikace Arduino - Laravel

Ahoj všichni, V tomto Instructable vám ukážu, jak můžete odesílat data z Arduina do aplikace Laravel.

Krok 1: Úvod

Úvod
Úvod
Úvod
Úvod

Kdykoli máme projekt, který vyžaduje zobrazení dat a protokolování, obvykle se vyžaduje, abychom měli data k dispozici na webu. Tímto způsobem můžeme případně sledovat stav objektu na dálku nebo dokonce ovládat naše zařízení odkudkoli na světě.

Pro tento projekt použijeme desku NodeMCU v1.0, která má integrovaný modul ESP8266 12e. Kromě toho budeme muset použít počítač, kde můžeme hostovat naši aplikaci Laravel. Pokud chcete zjistit, jak lze takové prostředí nastavit, podívejte se na moje video.

Krok 2: Připravte aplikaci Laravel

Připravte si aplikaci Laravel
Připravte si aplikaci Laravel
Připravte si aplikaci Laravel
Připravte si aplikaci Laravel

Naším prvním krokem je instalace Laravelu přes Composer. Nebudu se zabývat podrobnostmi, jak to můžete udělat, protože dokumentace to podrobně vysvětluje a najdete to zde.

Aby bylo toto demo jednoduché, v Laravelu zaznamenáme informace odeslané z Arduina do textového souboru, abychom je mohli později zkontrolovat. Za tímto účelem nejprve vytvoříme novou trasu POST v souboru „api.php“. Při zpětném volání vložíme podrobnosti o požadavku, abychom mohli později načíst odesílané parametry.

Chcete -li zapisovat do souboru, používám fasádu úložiště od společnosti Laravel s praktickou metodou připojení. Při volání tato metoda obdrží název souboru a data řetězce, kde tato data přidá do zadaného souboru. Pokud soubor není k dispozici, vytváří se při prvním volání.

Data, která zapisujeme do každého řádku, se skládají z aktuálního data a času, za nímž následují požadované hodnoty teploty a vlhkosti. Pokud máte více takových hodnot, můžete pro všechny zopakovat stejný proces načítání.

Krok 3: Připravte si Arduino Sender

Připravte si Arduino Sender
Připravte si Arduino Sender
Připravte si Arduino Sender
Připravte si Arduino Sender

Podívejme se nyní na kód Arduino a odesílání dat.

Aby se deska NodeMCU mohla připojit k naší WiFi a odeslat požadavek, musíme do ní nejprve zahrnout několik knihoven. Dále musíme zadat SSID sítě, ke které se připojujeme, a její heslo. Pokud používáte Uno s ethernetovým štítem, váš proces bude jiný.

Také zde uložíme kořenovou adresu URL serveru Laravel, který jsme právě vytvořili. V mém případě je to adresa IP mého místního počítače, ale můžete přidat libovolnou adresu URL hostitele, kde je kód přístupný.

Ve funkci nastavení spustíme sériovou komunikaci, abychom mohli sledovat, co se děje. Kromě toho musíme nastavit desku NodeMCU, aby se mohla správně připojit k WiFi. Jakmile to bude hotové, můžeme zahájit připojení a počkat, až od routeru obdržíme IP adresu.

V tomto případě ve skutečnosti nemám k desce připojené žádné senzory. Místo toho jen generuji nějaká náhodná data pomocí funkce random a posílám to dál.

Tato data je třeba připravit ve formě řetězce dotazu a po spuštění požadavku HTTP je musíme odeslat pomocí metody POST na klienta HTTP. Záhlaví, které jsme přidali dříve, má dát serveru vědět, že v požadavku jsou data, která potřebuje shromáždit.

V důsledku toho nejprve získáme stavový kód HTTP a poté užitečné zatížení odpovědi. Pokud vše proběhlo hladce, měli bychom získat 200 jako kód a protože jsme nevrátili nic z naší aplikace Laravel, užitečné zatížení bude prázdné.

Pokud z nějakého důvodu stavový kód není 200, pak užitečné zatížení obvykle obsahuje chybovou zprávu o tom, co se stalo.

Na konci se musíme ujistit, že požadavek zavřeme a počkáme určitou dobu, v našem případě 5 sekund, abychom stejný proces provedli znovu.

Výsledkem je, že tyto hodnoty uložíme do textového souboru při každé iteraci, abychom je mohli později použít k jejich zobrazení nebo mapování v grafu.

Krok 4: Další kroky

Další kroky
Další kroky

Jak vidíte, tento proces je poměrně jednoduchý a lze jej snadno rozšířit tak, aby bylo možné číst hodnoty z různých senzorů a případně je zapisovat do databáze. Výsledek toho, co s tím můžete vytvořit, je omezen vaší představivostí. Abychom vám pomohli začít, níže je odkaz na úplný zdrojový kód použitý v tomto příkladu.

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

Doufám, že se vám z tohoto Instructable podařilo naučit se něco nového, a pokud ano, dejte mi prosím vědět v komentářích, sledujte mě na Instructables a nezapomeňte se přihlásit k odběru mého kanálu YouTube.

Dík!

Doporučuje: