Spisu treści:
- Krok 1: Wprowadzenie
- Krok 2: Przygotuj aplikację Laravel
- Krok 3: Przygotuj Arduino Sender
- Krok 4: Dalsze kroki
Wideo: Komunikacja Arduino z Laravel: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Cześć wszystkim, W tym Instruktażu pokażę, jak możesz wysyłać dane z Arduino do aplikacji Laravel.
Krok 1: Wprowadzenie
Ilekroć mamy projekt, który wymaga wyświetlania danych i rejestrowania, zwykle wymagane jest, abyśmy mieli dostęp do danych w Internecie. W ten sposób możemy ewentualnie zdalnie monitorować stan obiektu, a nawet sterować naszymi urządzeniami z dowolnego miejsca na świecie.
W tym projekcie użyjemy płyty NodeMCU v1.0, która ma na pokładzie moduł ESP8266 12e. Dodatkowo będziemy musieli użyć komputera, na którym będziemy mogli hostować naszą aplikację Laravel. Jeśli chcesz dowiedzieć się, jak skonfigurować takie środowisko, sprawdź mój film na ten temat.
Krok 2: Przygotuj aplikację Laravel
Naszym pierwszym krokiem jest zainstalowanie Laravela przez Composer. Nie będę wdawał się w szczegóły, jak możesz to zrobić, ponieważ dokumentacja wyjaśnia to szczegółowo i możesz to znaleźć tutaj.
Aby to demo było proste, w Laravel będziemy rejestrować informacje wysyłane z Arduino do pliku tekstowego, abyśmy mogli je później przejrzeć. W tym celu najpierw utworzymy nową trasę POST w pliku „api.php”. W wywołaniu zwrotnym wprowadzimy szczegóły żądania, abyśmy mogli później pobrać wysyłane parametry.
Do zapisu do pliku używam fasady Storage od Laravela z jej poręczną metodą append. Po wywołaniu ta metoda otrzymuje nazwę pliku i dane ciągu, w którym dodaje te dane do określonego pliku. Jeśli plik nie istnieje, jest tworzony przy pierwszym wywołaniu.
Dane, które zapisujemy w każdym wierszu, składają się z aktualnej daty i godziny oraz żądanych wartości temperatury i wilgotności. Jeśli masz wiele takich wartości, możesz powtórzyć ten sam proces pobierania dla nich wszystkich.
Krok 3: Przygotuj Arduino Sender
Przyjrzyjmy się teraz kodowi Arduino i przesyłaniu danych.
Aby płyta NodeMCU mogła połączyć się z naszym Wi-Fi i wysłać żądanie, najpierw musimy dołączyć kilka bibliotek na górze. Następnie musimy określić identyfikator SSID sieci, z którą się łączymy oraz jej hasło. Jeśli używasz Uno z osłoną Ethernet, twój proces będzie inny.
Ponadto zapisujemy tutaj główny adres URL serwera Laravel, który właśnie utworzyliśmy. W moim przypadku jest to adres IP mojego komputera lokalnego, ale możesz dodać dowolny adres URL hosta, w którym kod jest dostępny.
W funkcji konfiguracji uruchamiamy komunikację szeregową, dzięki czemu możemy monitorować, co się dzieje. Dodatkowo musimy skonfigurować płytę NodeMCU, aby mogła prawidłowo łączyć się z Wi-Fi. Gdy to zrobimy, możemy zainicjować połączenie i poczekać, aż otrzymamy adres IP z routera.
W tym przykładzie nie mam właściwie żadnych czujników podłączonych do płytki. Zamiast tego po prostu generuję losowe dane za pomocą funkcji random i wysyłam to.
Dane te należy przygotować w postaci ciągu zapytania i po uruchomieniu żądania HTTP wysłać metodą POST na kliencie HTTP. Nagłówek, który dodaliśmy wcześniej, ma na celu poinformowanie serwera, że w żądaniu znajdują się dane, które musi zebrać.
W rezultacie najpierw otrzymujemy kod statusu HTTP, a następnie ładunek odpowiedzi. Jeśli wszystko poszło gładko, powinniśmy otrzymać 200 jako kod, a ponieważ nie zwróciliśmy niczego z naszej aplikacji Laravel, ładunek będzie pusty.
Jeśli z jakiegoś powodu kod stanu nie jest równy 200, ładunek będzie zwykle zawierał komunikat o błędzie informujący o tym, co się stało.
Na koniec musimy upewnić się, że zamknęliśmy żądanie i odczekaliśmy określony czas, w naszym przykładzie 5 sekund, aby ponownie wykonać ten sam proces.
W rezultacie otrzymujemy te wartości zapisane w pliku tekstowym w każdej iteracji, dzięki czemu możemy później użyć tego do wyświetlenia lub zmapowania na wykresie.
Krok 4: Dalsze kroki
Jak widać, proces jest dość prosty i można go łatwo rozszerzyć, aby odczytać wartości z różnych czujników i być może zapisać je w bazie danych. Wynik tego, co możesz dzięki temu zbudować, jest ograniczony tylko twoją wyobraźnią. Aby pomóc Ci rozpocząć, poniżej znajduje się link do pełnego kodu źródłowego użytego w przykładzie.
github.com/bkolicoski/arduino-laravel-comm…
Mam nadzieję, że udało Ci się nauczyć czegoś nowego z tego Instructable, a jeśli tak, daj mi znać w komentarzach, śledź mnie na Instructables i nie zapomnij zasubskrybować mojego kanału YouTube.
Dziękuję!
Zalecana:
Komunikacja bezprzewodowa SmartHome: ekstremalne podstawy MQTT: 3 kroki
Komunikacja bezprzewodowa SmartHome: Ekstremalne podstawy MQTT: Podstawy MQTT: **Będę robił serię automatyki domowej, będę przechodził przez kroki, które podjąłem, aby dowiedzieć się wszystkiego, co zrobiłem w przyszłości. Ten Instructable jest podstawą konfiguracji MQTT do użytku w moich przyszłych Instructables. Jednak
Komunikacja Modbus TCP między Arduino a urządzeniami przemysłowymi: 3 kroki
Komunikacja Modbus TCP między Arduino a urządzeniami przemysłowymi: przemysłowy sposób sterowania płytą Arduino za pomocą przemysłowego interfejsu HMI i połączenia jej z siecią przemysłową za pomocą komunikacji Modbus TCP
Komunikacja Arduino z węzłem: 4 kroki
Komunikacja Arduino z węzłem: Ta instrukcja służy wyłącznie do bardzo podstawowej demonstracji, jak wysyłać i odbierać dane przez UART (szeregowy) między dwiema płytami kompatybilnymi z Arduino
Komunikacja szeregowa Arduino i Python - wyświetlanie klawiatury: 4 kroki
Komunikacja szeregowa Arduino i Python - wyświetlacz klawiatury: ten projekt jest przeznaczony dla użytkowników komputerów Mac, ale można go również zaimplementować w systemach Linux i Windows, jedynym krokiem, który powinien być inny, jest instalacja
Dywan z czujnikami/komunikacją RF z Arduino Micro: 4 kroki (ze zdjęciami)
Dywan z czujnikami/komunikacja RF z Arduino Micro: Niedawno zakończyłem instalację Równie różnorodną, która składa się z szeregu lamp reagujących na czujniki umieszczone w dywaniku pod lampami. Oto jak zrobiłem dywan z czujnikami ciśnienia. Mam nadzieję, że się przyda