Spisu treści:

Komunikacja ESP8266 i Python dla Noobs: 6 kroków
Komunikacja ESP8266 i Python dla Noobs: 6 kroków

Wideo: Komunikacja ESP8266 i Python dla Noobs: 6 kroków

Wideo: Komunikacja ESP8266 i Python dla Noobs: 6 kroków
Wideo: MK ESP TOOL - nowe fantastyczne i darmowe narzędzie do pracy z modułami ESP8266 i ESP32 2024, Lipiec
Anonim
ESP8266 i komunikacja Python dla Noobs
ESP8266 i komunikacja Python dla Noobs

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

Teoria
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

Przygotowanie wymaganych bibliotek
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

Pisanie prostego kodu żądania
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

Przesyłanie
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

Czytanie i Python
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

Finalizowanie
Finalizowanie

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: