Spisu treści:

Komunikacja Arduino z Laravel: 4 kroki
Komunikacja Arduino z Laravel: 4 kroki

Wideo: Komunikacja Arduino z Laravel: 4 kroki

Wideo: Komunikacja Arduino z Laravel: 4 kroki
Wideo: 3. Kurs Arduino - UART - komunikacja szeregowa [Tinkercad] 2024, Listopad
Anonim
Image
Image
Komunikacja Arduino z Laravel
Komunikacja Arduino z Laravel

Cześć wszystkim, W tym Instruktażu pokażę, jak możesz wysyłać dane z Arduino do aplikacji Laravel.

Krok 1: Wprowadzenie

Wstęp
Wstęp
Wstęp
Wstęp

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

Przygotuj aplikację Laravel
Przygotuj aplikację Laravel
Przygotuj aplikację Laravel
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

Przygotuj Arduino Sender
Przygotuj Arduino Sender
Przygotuj Arduino Sender
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

Dalsze kroki
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: