Obsah:
- Krok 1: Úvod
- Krok 2: Připravte aplikaci Laravel
- Krok 3: Připravte si Arduino Sender
- Krok 4: Další kroky
Video: Komunikace Arduino - Laravel: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Ahoj všichni, V tomto Instructable vám ukážu, jak můžete odesílat data z Arduina do aplikace Laravel.
Krok 1: Ú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
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
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
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:
Raspberry PI 3 - Povolení sériové komunikace pro kroky TtyAMA0 až BCM GPIO 14 a GPIO 15: 9
Raspberry PI 3 - Povolení sériové komunikace na TtyAMA0 až BCM GPIO 14 a GPIO 15: Nedávno jsem měl zájem povolit UART0 na svém Raspberry Pi (3b), abych jej mohl připojit přímo k zařízení s úrovní signálu RS -232 pomocí standardního 9 -pinový konektor d-sub, aniž byste museli procházet adaptérem USB na RS-232. Část mého zájmu
Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky
Bezdrátová komunikace SmartHome: extrémní základy MQTT: Základy MQTT: ** Budu dělat sérii domácí automatizace, projdu kroky, které jsem podnikl, abych se v budoucnu naučil vše, co jsem udělal. This Instructable is the baseline on how to setup MQTT for use in my future Instructables. Howeve
Komunikace mezi Arduino a Node: 4 kroky
Komunikace Arduino na uzel: Tento instruktáž je určen pouze pro velmi základní ukázku toho, jak odesílat a přijímat data přes UART (sériový) mezi dvěma deskami kompatibilními s Arduino
Sériová komunikace Arduino a Python - displej klávesnice: 4 kroky
Sériová komunikace Arduino a Python - zobrazení klávesnice: Tento projekt je určen pro uživatele počítačů Mac, ale lze jej také implementovat pro Linux a Windows, jediným krokem, který by se měl lišit, je instalace
Koberec se senzory/ RF komunikace s Arduino Micro: 4 kroky (s obrázky)
Koberec se senzory/ RF komunikace s Arduino Micro: Nedávno jsem dokončil instalaci Stejně různorodá, která je vyrobena ze série lamp, které reagují na senzory umístěné v koberci pod lampami. Zde je návod, jak jsem koberec vytvořil s tlakovými senzory. Doufám, že vám to bude užitečné