Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Jak to działa?
- Krok 2: Jakie są główne funkcje?
- Krok 3: Zbuduj materiał
- Krok 4: Pobierz kod bramy
- Krok 5: Zróbmy konfigurację bramy
- Krok 6: Pobierz przykład kodu Arduino
- Krok 7: Zróbmy po stronie serwera
- Krok 8: Idź dalej
Wideo: Szeregowa bramka UDP/IP dla Arduino oparta na ESP8266 Shield: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Opublikowałem już w 2016 roku ten instruktażowy „Jak stworzyć własną bramę Wi-Fi, aby połączyć Arduino z siecią IP”. Odkąd zrobiłem kilka ulepszeń kodu i nadal korzystam z tego rozwiązania.
Niemniej jednak jest teraz kilka ekranów ESP8266, które pozwalają zrobić to samo bez lutowania, o ile nie używasz płyt Micro lub Nano.
Ta instrukcja wyjaśni, jak używać tych osłon ESP82 jako szeregowej bramy UDP/IP.
Jest to część globalnej infrastruktury automatyki domowej, którą możesz zajrzeć tutaj
Więcej informacji o tarczy z tą instrukcją!
Kieszonkowe dzieci
1 Arduino Mega (najlepiej mieć co najmniej 1 Mega na rozwój i 1 Uno na fazę uruchamiania)
1 Rokoo ESP8266 ESP-12E UART WIFI konwerter
1 FTDI 3.3v
2 przewody płytki stykowej
Krok 1: Jak to działa?
Gateway oparty jest na module ESP8266
Moduł ten jest połączony z jednej strony łączem szeregowym z drugiej strony do sieci IP z Wifi.
Działa jak czarna skrzynka. Pakiety danych przychodzące z łącza szeregowego są wysyłane do portu IP/Udp i odwrotnie.
Wystarczy ustawić własną konfigurację (IP, WIFI…) przy pierwszym włączeniu Gateway.
Może przesyłać zarówno surowe dane ASCII, jak i dane binarne (bez HTTP, JSON…)
Przeznaczony jest do łączenia obiektów z oprogramowaniem serwerowym domowej roboty, które wymagają szybkiego i częstego przesyłania krótkich pakietów danych.
Krok 2: Jakie są główne funkcje?
Przeważnie jest to czarna skrzynka, która konwertuje dane szeregowe na pakiety UDP na dwa sposoby.
Ale brama może również działać samodzielnie, wysyłając do serwera informacje wewnętrzne i odbierając z niego niektóre polecenia.
Arduino może wysyłać i odbierać wiadomości do/z serwera podłączonego przez Internet, po prostu drukując/odczytując łącze szeregowe. Nie ma potrzeby, aby deweloper Arduino zawracał sobie głowę protokołem IP.
Ponadto zapewnia GPIO, które może być używane przez Arduino do sprawdzenia, czy bramka jest prawidłowo podłączona do sieci WIFI, a bramka może automatycznie przełączać się między 2 różnymi SSID w przypadku awarii
Bramka ma 2 różne tryby pracy, które są wybierane przez ustawienie GPIO
Ustawiam GPIO na uziemienie i Gateway wchodzi w tryb konfiguracji.
Ustawiam GPIO jako wolne, a bramka przechodzi w tryb pracy bramy.
Ponadto konfiguracja Gateway UDP/IP może być zdalnie modyfikowana
Krok 3: Zbuduj materiał
Bardzo mało rzeczy jest wymaganych
1 ESP8266 Shield - znalazłem ten moduł szeregowej karty rozszerzeń WiFi UNO R3 ESP8266 za mniej niż 9 €
1 UNO, który jest docelowym celem Arduino!
1 Mega czyli narzędzie programistyczne arduino (można się bez niego obejść, ale jest to dość trudne do debugowania)
1 FTDI 3.3/5v do rozwoju
Niektóre przewody
Krok 4: Pobierz kod bramy
W tym kroku Arduino służy tylko do zasilania (za pomocą USB lub innego źródła zasilania) na nakładce ESP8266
Podłącz ESP8266 GPIO4 do masy (aby wejść w tryb konfiguracji)
Uważaj, aby ustawić FTDI na 3.3v zgodnie z wymaganiami tarczy
Podłącz FTDI do osłony (RX do TX)
Ustaw przełącznik tarczy na 1:wył. 2:wył. 3:wł. 4:wł.
Podłącz stronę USB FTDI do komputera
Zresetuj osłonę przyciskiem ESP-RST
Pobierz kod Gateway z GitHub
Otwórz Arduino IDE
- Wybierz port monitora FTDI
- Otwórz monitor szeregowy IDE - Ustaw prędkość na 38400
- Wybierz ogólną płytkę modułu ES8266
- Zaktualizuj oprogramowanie tarczy za pomocą kodu bramy;
Ustaw przełącznik 3: wył. 4: wył.
Otwórz monitor szeregowy IDE
Zresetuj osłonę przyciskiem ESP-RST
Na monitorze muszą być widoczne komunikaty zaczynające się od „Inicjalizacja EEPROM” „Inicjalizacja zakończona”….
Czas na konfigurację
Krok 5: Zróbmy konfigurację bramy
Podczas pobierania kodu bramy po raz pierwszy, eeprom ESP8266 zostanie zainicjowany z wartościami domyślnymi. Zobaczysz tego rodzaju komunikaty "ustaw parametr: x rozmiar: yy"
Możesz znaleźć te wartości w definicji kodu paramValue. Oczywiście możesz zmienić te domyślne wartości przed pobraniem kodu, ale możesz również ustawić konfigurację później za pomocą polecenia. Jest to lepsze, jeśli planujesz mieć wiele bramek i zachować tylko jedną wersję kodu.
Użyj portu szeregowego monitora do wysłania polecenia (ustaw na NL i CR).
Ponieważ identyfikator SSID nie jest obecnie zdefiniowany, poczekaj na „Nie można połączyć się z twojąsecondssid retry:5”
Następnie skanowanie WIFI rozpocznie się automatycznie
Czas ustawić identyfikatory SSID za pomocą następujących poleceń:
- SSID1=Twój wybór1
- PSW1=twójpsw1
- SSID2=Twój wybór2
- PSW2=twójpsw2
- SSID=1 (aby wybrać, od którego SSID zacząć)
- Uruchom ponownie Wifi
Po kilku sekundach możesz sprawdzić połączenie za pomocą polecenia „ShowWifi”. Musisz zobaczyć adres IP, który brama uzyskała z twojego serwera DNS. Jeśli tak, to czas iść dalej
Czas zdefiniować swój adres IP serwera, wpisując 4 podadresy (serwer, który będzie uruchamiał kod testowy Java). Na przykład:
- "IP1=192"
- "IP2=168"
- „IP3=1”
- „IP4=10”
Wysyłając puste polecenie, zobaczysz wszystkie obsługiwane polecenia, których możesz później użyć, aby spełnić swoje wymagania. Wszystkie wartości parametrów są przechowywane w eepromie i należy wziąć pod uwagę ponowne uruchomienie.
Usuń przewód konfiguracyjny
Tarcza działa teraz jako brama
Krok 6: Pobierz przykład kodu Arduino
Najpierw pobierz główny kod Arduino z GitHub
Następnie pobierz kod Arduino, definicję poleceń i ten kod łącza szeregowego do swoich bibliotek
Następnie otwórz główny kod za pomocą nowego Arduino IDE
Wyłącz przełącznik osłony 1 i 2, aby zwolnić łącze szeregowe Arduino 0 dla połączenia USB
Zresetuj tarczę
Podłącz przewody FTDI do Mega Serial 2 (TX FTDI do RX Mega i tak dalej)
Uruchom nowe Arduino IDE (lub narzędzie TTY), podłącz FTDI Usb i zacznij monitorować łącze szeregowe
Prześlij kod Arduino do Mega
Włącz przełącznik osłony 1 i 2, aby podłączyć łącze szeregowe Arduino 0
Zresetuj tarczę
Musisz zobaczyć ten komunikat "rozpocznij drukowanie z usb" na monitorze
Krok 7: Zróbmy po stronie serwera
Przykładem serwera jest program Java, który można pobrać tutaj na GitHub
Po prostu uruchom i spójrz na konsolę Java i spójrz na monitor FTDI
Zobaczysz wymianę danych między serwerem a Arduino
Krok 8: Idź dalej
Ten przykładowy kod Arduino jest oparty na frameworku mojej infrastruktury automatyki domowej.
Jeśli jesteś zainteresowany tą infrastrukturą, daj mi znać. Opublikuję źródła.
Jeśli chcesz po prostu korzystać z bramki, możesz uprościć kod Arduino.
Po opracowaniu i przetestowaniu kodu na Arduino Mega, możesz go łatwo zastąpić Uno !
Ponadto możesz podłączyć przewód między Arduino GPIO 7 i ESP8266 GPIO 5, jeśli chcesz, aby Arduino sprawdziło połączenie Wifi
Zalecana:
Bramka Lora (Dragino LG01-P): 6 kroków
Lora Gateway (Dragino LG01-P): LoRa jest jednym z czerwonych sieci LPWAN, por sus siglas en inglés (LOW POWER WIDE AREA NETWORK). Es una red de largo alcance y bajo consumo de energía, ideal para dispositivos IoT. Entre las aplicaciones más comunes se encuentran; Ciudades inteligentes, rolnictwo
Bramka LoRa ESP8266 Arduino DIY: 5 kroków
LoRa Gateway ESP8266 Arduino DIY: Ta instrukcja pomoże Ci stworzyć bramę LoRa kompatybilną z The Things Network, dla wszystkich regionów świata, przy użyciu ESP8266 wraz z modułem radiowym RFM95/96. Dostarczany jest również kod źródłowy, dzięki któremu działa, i jest wyposażony w zintegrowan
Komunikacja szeregowa Arduino: 5 kroków
Komunikacja szeregowa Arduino: Wiele projektów Arduino polega na przesyłaniu danych między kilkoma Arduino. Niezależnie od tego, czy jesteś hobbystą, który buduje samochód RC, samolot RC, czy projektuje stację pogodową ze zdalnym wyświetlaczem, musisz wiedzieć, jak niezawodnie seria transferu
IoT RC Car z inteligentnym pilotem lub bramką: 8 kroków (ze zdjęciami)
IoT RC Car z inteligentnym pilotem lampy lub bramą: W przypadku niepowiązanego projektu pisałem kod Arduino, aby rozmawiać z inteligentnymi lampami MiLight i pilotami do lamp, które mam w moim domu. Po tym, jak udało mi się przechwycić polecenia z bezprzewodowych pilotów, Postanowiłem zrobić mały samochód RC do testów
15 $ Bramka/węzeł LoRa ESP8266 Zbuduj płytkę drukowaną 3 cm X 8 cm Rozmiar: 6 kroków
15 $ LoRa Gateway/Node ESP8266 Zbuduj płytkę drukowaną 3cmX8cm Rozmiar: Hej, co słychać, chłopaki? Akarsh tutaj z CETech.Dzisiaj zrobimy projekt, który jest prostym węzłem LoRa i można go nawet używać jako bramki jednokanałowej.Tutaj mikrokontroler, którego użyłem to ESP8266, który jest podłączony do płyt LoRa