Spisu treści:
- Krok 1: Teoria
- Krok 2: Przygotowanie wymaganych bibliotek
- Krok 3: Pisanie prostego kodu żądania
- Krok 4: Przesyłanie
- Krok 5: Czytanie i Python
- Krok 6: Finalizacja
Wideo: Komunikacja ESP8266 i Python dla Noobs: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ten przewodnik pozwala uzyskać dowolne dane z ESP8266 i kontrolować je przez Pythona bez poleceń AT.
Dla początkujących większość poradników na temat korzystania z ESP8266 jest trudna, ponieważ chcą, abyś sflashował „AT COMMANDS” do chipa, czyli:
- Niepotrzebne
- Marnowanie pamięci ESP
- Daje ograniczoną kontrolę
- Trudne i wymagające
- I nie nadaje się do wszystkich modułów ESP8266
Dlatego stworzyłem bardzo prosty system komunikacji mDNS, który jest sterowany tylko 3 prostymi funkcjami. Daje również pełną kontrolę.
Krok 1: Teoria
Nasz esp łączy się z naszym Wi-Fi i tworzy serwer localhost i zaczyna czekać na żądanie. Za każdym razem, gdy nasz python wysyła żądanie do tego hosta lokalnego, esp uruchamia żądany kod, a następnie zwraca wynik jako żądanie http. Wreszcie python odczytuje zwrócone dane jako żądanie http i pobiera z nich te zmienne. Dzięki temu esp może zwracać łańcuchy, dane i tablice. Kod Pythona zrozumie ich typ danych.
Krok 2: Przygotowanie wymaganych bibliotek
Przede wszystkim należy pobrać bibliotekę kart ESP8266 do arduino ide. Jeśli nie wiesz jak, oto przewodnik.
Następnie musisz pobrać moją mikrobibliotekę stąd.
Po pobraniu w folderze biblioteki znajduje się plik o nazwie "ESP_MICRO.h", skopiuj go do folderu kodowania bieżącego projektu arduino. Tak, nie kopiuj go do bibliotek arduino, jest to mikrobiblioteka, więc skopiujesz ją do folderu bieżącego projektu arduino.
Więc teraz nasze wymagania są spełnione. Możemy zacząć go kodować.
Krok 3: Pisanie prostego kodu żądania
Kiedy otworzysz swój project.ino, zobaczysz dwie zakładki w arduino ide. Jeden to Twój projekt, a drugi to "ESP_MICRO.h" nasza mikrobiblioteka.
Teraz masz te 5 funkcji w ESP_MICRO.h w twoim głównym kodzie (funkcje są wyjaśnione w pierwszych wierszach ESP_MICRO.h)
Oto prosty kod zwiększający zmienną.
Kod Arduino:
/* F5 TEST DLA ESP2PY
* Napisane przez Junicchi * https://github.com/KebabLord/esp_to_python * Po prostu zwiększa i zwraca zmienną za każdym razem, gdy pojawia się żądanie Pythona */ #include "ESP_MICRO.h" // Dołącz mikrobibliotekę int testvariable = 0; void setup(){ Serial.begin(9600); // Uruchamiam port szeregowy w celu wyświetlenia szczegółów start("NAZWA UŻYTKOWNIKA", "HASŁO"); // EnAIt połączy się z twoim Wi-Fi z podanymi szczegółami } void loop(){ waitUntilNewReq(); //Czeka, aż nadejdzie nowe żądanie z pythona /* zwiększa indeks, gdy nadejdzie nowe żądanie*/ testvariable += 1; returnThisInt(zmienna testowa); //Zwraca dane do Pythona }
Krok 4: Przesyłanie
Programowanie Nodemcu ESP8266 to po prostu podłączenie usb i wgranie szkicu z arduino.
Ale programowanie ESP8266-1 jest trudniejsze, są dwie metody ich programowania
Programowanie ESP przez arduino
Jeśli jesteś w porządku ze zworami, możesz go zaprogramować przez arduino z tym układem. Ale na dłuższą metę to ból. Proponuję więc inną metodę.
Programowanie za pomocą programatora ESP
To znacznie prostsze i szybsze. To tylko 1 dolar, kup jeden i użyj programatora usb.
Nauka adresu IP ESP
Podczas wczytywania kodu otwórz port szeregowy, zobaczysz szczegóły, które zostaną wydrukowane po zakończeniu przesyłania. Poznaj adres IP esp i zanotuj to. Pamiętaj, adres IP ESP na lokalnym; zmienia się przez Wi-Fi na Wi-Fi, a nie z sesji na sesję, więc gdy zamkniesz i otworzysz później, nie zostanie to zmienione.
Krok 5: Czytanie i Python
W esp_to_python/bibliotece znajduje się "EXAMPLE_PYTHON_READER.py"
edytuj go, zmień piątą linię z adresem IP modułu esp, który wydrukował na porcie szeregowym i uruchom skrypt python. W tym projekcie użyłem Pythona do wysyłania i odczytywania żądań. Ale możesz także przeglądać surowe dane za pomocą przeglądarki podczas wklejania adresu IP ESP w przeglądarce. Możesz też złożyć aplikację, aby ją przeczytać, lub możesz nawet użyć innego języka. Sterowanie modułem przez pythona jest również wyjaśnione w projekcie "ledControl" w folderze example.
Krok 6: Finalizacja
Wszystkie funkcje i kody są wyjaśnione w ESP_MICRO.h oraz w pliku README.md.
Jeśli ten projekt Ci pomógł, możesz rozpocząć oryginalny projekt na github.
Zalecana:
Komunikacja bezprzewodowa LoRa 3Km do 8Km z tanim urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: 15 kroków
LoRa 3Km do 8Km Bezprzewodowa komunikacja z niskokosztowym urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: Tworzę bibliotekę do zarządzania EBYTE E32 opartą na urządzeniu LoRa serii Semtech, bardzo wydajne, proste i tanie urządzenie. Wersja 3Km tutaj, wersja 8Km tutaj Mogą pracować na dystansie od 3000m do 8000m i mają wiele funkcji i
STM32F4 Discovery Board i komunikacja Python USART (STM32CubeMx): 5 kroków
STM32F4 Discovery Board i komunikacja Python USART (STM32CubeMx): Cześć! W tym samouczku postaramy się nawiązać komunikację USART między MCU STM32F4 ARM a Pythonem (można go zastąpić dowolnym innym językiem). Więc zacznijmy:)
Komunikacja szeregowa PIC MCU i Python: 5 kroków
Komunikacja szeregowa PIC MCU i Python: Witam, chłopaki! W tym projekcie postaram się wyjaśnić moje eksperymenty dotyczące komunikacji szeregowej PIC MCU i Pythona. W Internecie dostępnych jest wiele samouczków i filmów wideo na temat komunikacji z PIC MCU przez wirtualny terminal, co jest bardzo przydatne. Jednak
Komunikacja bezprzewodowa za pomocą modułu nadawczo-odbiorczego NRF24L01 dla projektów opartych na Arduino: 5 kroków (ze zdjęciami)
Komunikacja bezprzewodowa przy użyciu modułu nadawczo-odbiorczego NRF24L01 dla projektów opartych na Arduino: To jest mój drugi samouczek dotyczący robotów i mikrokontrolerów. To naprawdę niesamowite widzieć swojego robota żywego i działającego zgodnie z oczekiwaniami i uwierz mi, że będzie fajniej, jeśli będziesz sterować swoim robotem lub innymi rzeczami bezprzewodowymi z szybkim i
Komunikacja LoRa ESP8266 i Radio RFM95: 9 kroków
Komunikacja LoRa ESP8266 i Radio RFM95: Jedna z najczęściej wymienianych technologii do wdrożenia w Internecie Rzeczy, która ma bardzo uderzające cechy komunikacji na duże odległości i niską moc odzwierciedloną w niskim zużyciu, LoRa „Long - Range”. rodzaj modulacji ha