Spisu treści:
- Krok 1: Wskazówka: Instalacja obsługi Arduino dla ESP32 z obsługą BLE
- Krok 2: Instalacja bibliotek PfodParser dla ESP32
- Krok 3: Używanie PfodDesignerV3 dla ESP32
- Krok 4: Generator kodu BLE ESP32
- Krok 5: Projektowanie menu - podpowiedź
- Krok 6: Projektowanie menu - sterowanie PWM Led
- Krok 7: Wygeneruj kod ESP32
- Krok 8: Uruchamianie przykładów
- Krok 9: Bezpieczeństwo Wi-Fi
Wideo: Generator kodów ESP32 - Wifi, BLE, Bluetooth: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Wstęp
ESP32 to tani układ dwuprocesorowy z obsługą WiFi, Bluetooth Classic i BLE (Bluetooth Low Energy). Chociaż układ jest niedostępny od wielu lat, obsługa kodu dla Arduino wciąż nie jest kompletna (stan na kwiecień 2018 r.), ale ten instruktażowy i generator kodu wypełnia brakujące funkcje BLE i analogWrite.
Wskazówka: ESP32 nie posiada funkcji analogWrite 'standardowej Arduino'. Jednak ten generator kodu generuje kod, który symuluje go dla Ciebie
Wskazówka: Instalacja kodu ESP nie obejmuje obsługi BLE. Opisana tutaj instalacja obejmuje obsługę BLE
Ta strona internetowa obejmuje konfigurację Arduino IDE do programowania ESP32 dla połączeń BLE, Bluetooth lub WiFi. pfodDesigner generuje kod dla każdego z tych typów połączeń, a także generuje kod symulujący brakującą funkcję analogWrite.
ESP32 to tani układ dwuprocesorowy z obsługą WiFi, Bluetooth Classic i BLE (Bluetooth Low Energy). Chociaż układ jest niedostępny od wielu lat, obsługa kodu dla Arduino wciąż nie jest kompletna (stan na kwiecień 2018 r.), ale ten samouczek i generator kodu uzupełnia brakujące funkcje BLE i analogWrite. Ta strona internetowa obejmuje konfigurację Arduino IDE do programowania ESP32 dla połączeń BLE, Bluetooth lub WiFi. pfodDesigner generuje kod dla każdego z tych typów połączeń, a także generuje kod symulujący brakującą funkcję analogWrite.
Dodatek Arduino obsługuje około 31 płyt ESP32. Korzystając z pfodDesigner, będziesz musiał wybrać połączenia pinów, które pasują do tych dostępnych na twojej konkretnej płycie. Sparkfun ESP32 Thing (lub Adafruit HUZZAH32 Feather) jest tutaj używany jako przykładowa płyta ESP32, ale możesz użyć kodu dla dowolnej z 31 obsługiwanych płyt ESP32.
Bezpłatna aplikacja pfodDesignerV3 na Androida służy do tworzenia menu sterowania (WYSIWYG), a następnie generowania kodu dla ESP32, dla połączenia BLE, WiFi lub Bluetooth. Po zaprogramowaniu płytki ESP32 możesz użyć aplikacji pfodApp na Androida (płatnej), aby połączyć się z ESP32 (przez BLE lub WiFi lub Bluetooth) i wyświetlić menu sterowania i sterować ESP32. Jeśli nie chcesz używać pfodApp, nadal możesz użyć wygenerowanego kodu jako podstawy dla własnych połączeń WiFi, BLE (Nordic UART) lub Bluetooth, ponieważ zapewnia interfejs Stream (druk/odczyt) dla każdego z tych typów połączeń.
Krok 1: Wskazówka: Instalacja obsługi Arduino dla ESP32 z obsługą BLE
Od kwietnia 2018 r. instalacja obsługi Arduino ESP32 jest bardziej skomplikowana niż w przypadku większości innych płyt, a dostarczone biblioteki kodu nie są kompletne. Nie można użyć menedżera Arduino Board do zainstalowania obsługi ESP32. Wykonaj poniższe czynności, aby skonfigurować Arduino do programowania ESP32. To zainstaluje ESP32, a także obsługę BLE.
1 Znajdź ścieżkę katalogu lokalizacji Arduino Sketchbook. Otwórz Arduino IDE i spójrz w Plik->Preferencje, a na górze tego ekranu zobaczysz lokalizację szkicownika.
2 Pobierz ten plik ESP32_hardware.zip i rozpakuj go do lokalizacji Sketchbook. Tworzy tam podkatalog sprzętowy. W mało prawdopodobnym przypadku, gdy masz już podkatalog sprzętowy w swojej lokalizacji Sketchbook, połącz jego zawartość z tym.
3 Zainstaluj narzędzia Xtensa i ESP32. Uwaga: to pobranie i zainstalowanie zajmuje trochę czasu, aby przetworzyć ~0,5 Gig plików. Przejdź do katalogu hardware\espressif\esp32\tools, a następnie W przypadku komputerów z systemem Windows uruchom plik get.exe. W przypadku użytkowników komputerów Mac i Linux uruchom skrypt get.py python, aby pobrać narzędzia. Za pomocą terminala przejdź do folderu hardware/espressif/esp32/tools. Następnie wpisz: python get.pySkrypt python „get.py” pobierze narzędzia Xtensa GNU i zestaw programistyczny (SDK) ESP32 i rozpakuje je we właściwej lokalizacji.
Po zakończeniu powinieneś zobaczyć kilka nowych folderów w katalogu „narzędzia”, w tym „sdk” i „xtensa-esp32-elf”.
Po zakończeniu zamknij i ponownie otwórz Arduino IDE, a teraz powinieneś mieć długą listę płyt ESP32 do wyboru w menu Narzędzia->Płyty. Wybierz „SparkFun ESP32 Thing” (lub „Adafruit ESP32 Feather”)
Następnie możesz otworzyć listę przykładów plików, aby zobaczyć kilka przykładowych plików ESP32
Powyższy proces instaluje migawkę kodu github dla obsługi ESP32 i BLE, które zostały połączone w jeden plik zip. Kod wygenerowany przez pfodDesigner i poniższe przykłady wykorzystują tę wersję tych bibliotek. Jeśli chcesz najnowszą wersję, z prawdopodobnie innym zestawem funkcji i błędów, pobierz zip najnowszej wersji https://github.com/espressif/arduino-esp32 i rozpakuj go do hardware/espressif i zmień nazwę folder esp32 a następnie dla obsługi BLE pobierz zip z najnowszą wersją https://github.com/espressif/arduino-esp32 i rozpakuj go do folderu esp32/libraries i zmień jego nazwę ESP32_BLE_Arduino (jeśli to konieczne).
Krok 2: Instalacja bibliotek PfodParser dla ESP32
a) Następnie pobierz bibliotekę pfodParser.zip V3.23+, pfodDwgControls.zip oraz, dla ESP32 WiFi, pfodESP32BufferedClient.zip, pliki zip na swój komputer, przenieś je na pulpit lub do innego folderu, który możesz łatwo znaleźć.
b) Następnie użyj opcji menu Arduino 1.8.2 IDE Szkic → Importuj bibliotekę → Dodaj bibliotekę, aby je zainstalować. (Jeśli Arduino nie pozwala na jego instalację, ponieważ biblioteka już istnieje, znajdź i usuń starsze foldery pfodParser, pfodCmdParser lub pfodCHAP itp., a następnie zaimportuj te)
c) Zatrzymaj i zrestartuj Arduino IDE i pod File->Examples powinieneś zobaczyć biblioteki pfodParser, pfodDwgControls i pfodESP32BufferedClient oraz kilka przykładów.
Krok 3: Używanie PfodDesignerV3 dla ESP32
Bezpłatna aplikacja pfodDesignerV3 (V3291+) obsługuje generowanie kodu dla chipa ESP32, aby połączyć się przez BLE, WiFi lub Bluetooth Classic z pfodApp (płatny).
Istnieje wiele istniejących samouczków na temat tworzenia kontrolek dla telefonu komórkowego z systemem Android, aby sterować szeroką gamą płyt za pomocą pfodDesignerV3. Z pfodDesignerV3 możesz tworzyć kontrolki, które włączają/wyłączają wyjścia lub je pulsują, sterują wyjściami przez PWM, wyświetlają stan wejścia lub wartości analogowej, rejestrują i wykresu dane oraz podmenu i wiele więcej.
Wskazówka: Obsługa ESP32 Arduino obejmuje obsługę około 31 różnych płyt ESP32. pfodDesignerV3 daje dostęp do wszystkich pinów ESP32 I/O, ale nie wszystkie płyty łączą wszystkie piny ESP32 z pinami płyty. Sprawdź w dokumentacji swojej płyty, które piny są dostępne, i zobacz plik pins_arduino.h w katalogu hardware\espressif\esp32\variants.
Lista pinów pfodDesignerV3 zawiera komentarze dotyczące dostępności i specjalnych pinów dla Sparkfun ESP32 Thing i Adafruit HUZZAH32 – ESP32 Feather Boards.
Te przykłady wykorzystują płytę Sparkfun ESP32 Thing i tworzą suwak do sterowania jasnością wbudowanej diody LED podłączonej do pinu 5 z telefonu komórkowego z systemem Android. Jeśli zamiast tego używasz płyty Adafruit HUZZAH32 – ESP32 Feather, to zintegrowana dioda LED jest podłączona do pinu 13. Zainstalowana powyżej obsługa Arduino ESP32 nie obsługuje bezpośrednio Arduino analogWrite. Zamiast tego ESP32 ma 16 kanałów PWM, którymi można sterować i podłączać do dowolnego z wyjść. pfodDesignerV3 generuje cały niezbędny kod do przydzielenia kanału i podłączenia go do wybranego wyjścia. Zainstaluj darmowy pfodDesignerV3 (V3291+) z Google Play.
Krok 4: Generator kodu BLE ESP32
Rozpocznij nowe menu
Kliknij przycisk Cel, aby zmienić urządzenie docelowe.
Pierwszym przykładowym celem będzie ESP32 BLE, więc kliknij przycisk Bluetooth Low Energy.
Wybierz ESP32 podłączony przez BLE, a następnie naciśnij przycisk Wstecz telefonu komórkowego, aby wrócić do ekranu głównego.
Krok 5: Projektowanie menu - podpowiedź
Ten prosty przykład będzie miał tylko monit i jedną kontrolkę. Kliknij przycisk Edytuj monit, a następnie przycisk Edytuj tekst monitu, aby ustawić tekst monitu.
Tutaj monit jest ustawiony na „ESP32 Led”. Kliknij przycisk zaznaczenia, aby zapisać zmiany i wrócić do poprzedniego ekranu. Następnie kliknij Ustaw kolor tła, aby wybrać cały kolor dla menu elementów sterujących.
Możesz wybrać różne kolory dla każdej kontrolki. Dostępne są różne inne formaty monitu. Tutaj tło jest ustawione na niebieski, a rozmiar czcionki to +5, a tekst jest pogrubiony. Podgląd sformatowanego monitu jest wyświetlany na dole ekranu Monit edycji.
Krok 6: Projektowanie menu - sterowanie PWM Led
Użyj przycisku Wstecz telefonu komórkowego, aby powrócić do menu głównego, a następnie kliknij Dodaj element menu, aby dodać element sterujący lub wyświetlić element.
Wybierz pozycję Wyjście PWM. Na górze ekranu widoczny jest podgląd kontrolki.
Wskazówka: ESP32 nie posiada funkcji analogWrite 'standardowej Arduino'. Jednak ten generator kodu generuje kod, który symuluje go dla Ciebie
Kliknij przycisk Edit Leading Text i zmień „PWM Setting” na „Led” Zwróć uwagę na spację końcową, aby oddzielić „Led” od wskazania %.
Kliknij przycisk zaznaczenia, aby zapisać edycję, a następnie przewiń w dół do przycisku „Niepodłączony do pinu we/wy”.
Kliknij ten przycisk, aby wyświetlić listę pinów, które mogą być używane jako wyjścia.
To pokazuje specjalne szpilki do desek Sparkfun ESP32 Thing i Adafruit HUZZAH32 Feather. Wybierz pin 5, aby suwak sterował jasnością wbudowanej diody LED Sparkfun ESP32 Thing. Jeśli używasz płytki Adafruit HUZZAH32 Feather, wybierz zamiast niej pin 13. W przypadku innych płyt sprawdź dokumentację płyt i plik pins_arduino.h w katalogu hardware\espressif\esp32\variants
Następnie, po zakończeniu wprowadzania innych ustawień formatowania dla tego suwaka, użyj przycisku Wstecz w telefonie komórkowym, aby wrócić do menu głównego i kliknij Menu podglądu, aby zobaczyć, jak końcowe menu będzie wyglądać na telefonie komórkowym po wyświetleniu przez pfodApp. Kontrolki są aktywne, więc możesz je przesuwać w podglądzie.
Krok 7: Wygeneruj kod ESP32
Wróć do menu głównego i przewiń w dół do przycisku Generuj kod.
Kliknij przycisk Generuj kod, a następnie przycisk Zapisz kod do pliku, aby wygenerować kod
Wyjdź z pfodDesignerV3 i przenieś kod w /pfodAppRawData/pfodDesignerV3.txt z telefonu komórkowego na komputer. Zobacz pfodAppForAndroidGettingStarted.pdf, aby dowiedzieć się, jak to zrobić. Aplikacja do przesyłania plików Wi-Fi firmy smarterDroid to jeden ze sposobów na wykonanie transferu.
Za pomocą przycisku „Zmień cel” na ekranie Generuj kod można przełączać się między ESP32 przez BLE, ESP32 przez Bluetooth i ESP32 przez WiFi
Krok 8: Uruchamianie przykładów
Za pomocą przycisku „Zmień cel” na ekranie Generuj kod można przełączać się między ESP32 przez BLE, ESP32 przez Bluetooth i ESP32 przez WiFi
W ten sposób z powyższego projektu zostały wygenerowane następujące trzy przykładowe szkice.
Uruchamianie przykładu pfodESP32_BLE
Ustawienie Target na ESP32 przez BLE generuje kod w pfodESP32_LED_BLE.ino Ten szkic jest również dostępny w File->Examples->pfodParser. Otwórz ten przykład, a następnie po zaprogramowaniu Sparkfun ESP32 Thing (lub innej płyty ESP32), powinieneś skonfigurować połączenie z nim na pfodApp (szczegóły w pfodAppForAndroidGettingStarted.pdf) i połączyć się i móc dostosować jasność tablica led.
WSKAZÓWKA: ESP32 używa tego samego adresu Bluetooth zarówno dla BLE, jak i Bluetooth, więc jeśli wcześniej skonfigurowałeś połączenie Bluetooth ESP32 w pfodApp, musisz usunąć to połączenie Bluetooth pfodApp przed skonfigurowaniem połączenia BLE, ponieważ pfodApp filtruje istniejące połączenia (przez adres) z wyświetlanej listy dostępnych urządzeń. Konieczne może być również otwarcie ustawień telefonu komórkowego i „zapomnienie” połączenia Bluetooth ESP32, a następnie wyłączenie Bluetooth telefonu komórkowego i ponowne uruchomienie telefonu, aby wyczyścić stos Bluetooth
WSKAZÓWKA: Biblioteka ESP32_BLE_Arduino od Neila Kolbana nie jest kompatybilna z biblioteką BLEPeripheral firmy Sandeep Mistry, która jest używana przez niektóre inne cele BLE generowane przez pfodDesigner. Musisz więc usunąć katalog BLEPeripheral (jeśli istnieje) z katalogu Arduino/libraries, aby skompilować szkice ESP32 BLE.
Uruchamianie przykładu pfodESP32_Bluetooth
Ustawienie Target na ESP32 przez Bluetooth generuje kod w pfodESP32_LED_Bluetooth.ino Ten szkic jest również dostępny w Plik->Przykłady->pfodParser. Otwórz ten przykład, a następnie zaprogramuj Sparkfun ESP32 Thing (lub inną płytę ESP32). Musisz sparować ESP32 z telefonem, nie jest wymagany numer PIN. Następnie skonfiguruj połączenie z nim na pfodApp (szczegóły w pfodAppForAndroidGettingStarted.pdf) i połącz się, aby móc regulować jasność diody płytki.
Uruchamianie przykładu pfodESP32_WiFi
Ustawienie Target na ESP32 przez WiFi generuje kod w pfodESP32_LED_WiFi.ino Ten szkic jest również dostępny w Plik->Przykłady->pfodParser. Otwórz ten przykład i wprowadź nazwę swojej sieci oraz hasło i wybierz statyczny adres IP dla tego urządzenia. Następnie, po zaprogramowaniu Sparkfun ESP32 Thing (lub innej płytki ESP32), należy skonfigurować połączenie z nim na pfodApp (szczegóły w pfodAppForAndroidGettingStarted.pdf) oraz podłączyć i móc regulować jasność diody płytki.
Krok 9: Bezpieczeństwo Wi-Fi
Jeśli łączysz się z ESP32 przez internet (przez Wi-Fi), bezpieczeństwo jest ważne. Nie chcesz, aby każdy mógł na przykład otworzyć bramę garażową. Generator kodu oraz biblioteka pfodParser obsługują 128-bitowe zabezpieczenia. To zabezpieczenie nie szyfruje wiadomości, ale zamiast tego dodaje skrót kryptograficzny do każdej wiadomości, aby chronić przed nieautoryzowanym połączeniem i kontrolą. Zobacz SipHash Secure Challenge and Response, aby uzyskać szczegółowe informacje na temat implementacji tego zabezpieczenia.
Dodanie 128-bitowego zabezpieczenia
Zabezpieczenie przed nieautoryzowanymi użytkownikami uzyskującymi dostęp do Twojego urządzenia przez Internet jest tak proste, jak edytowanie#define pfodSecurityCode „”w celu dodania własnego tajnego kodu. (do 32 cyfr szesnastkowych)
Na przykład, aby ustawić kod bezpieczeństwa 173057F7A706AF9BBE65D51122A14CEE, użyjesz#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE"Oczywiście powinieneś użyć własnego tajnego kodu. Ustawienie własnego kodu w połączeniu pfodApp pozwala Tobie i nikomu innemu się połączyć.
Dla dobrego bezpieczeństwa niezbędny jest długi losowy kod. pfodApp obsługuje do 128 bitów jako cyfry 32 szesnastkowe.
Aby wygenerować własny tajny kod, możesz pobrać losowy generator tajnych kluczy z hereSecret Key Generator stąd. Oprócz generowania losowych kluczy, ten program zapisuje je jako kody QR, dzięki czemu można je łatwo i dokładnie ustawić w połączeniu pfodApp.
Możesz wydrukować kod QR i dołączyć go do urządzenia pfodDevice. Następnie kliknij przycisk Skanuj QR na ekranie połączenia pfodApp WiFi, aby odczytać hasło.
Zobacz A Simple WiFi/Arduino pfodDevice™ z 128-bitowym zabezpieczeniem, aby zapoznać się ze szczegółowym przykładem użycia generatora kluczy i kodu QR.
Wniosek
Ten samouczek pokazuje, jak skonfigurować Arduino IDE do programowania ESP32. Następnie wykorzystał darmową aplikację pfodDesigner do zaprojektowania menu do sterowania jasnością wbudowanej diody LED i wygenerowania kodu do połączenia z ESP32 przez BLE, Bluetooth lub WiFi. Jeśli następnie połączysz się za pomocą aplikacji pfodApp apppfodApp, zobaczysz zaprojektowane menu i będziesz mógł kontrolować jasność diody LED za pomocą suwaka. pfodDesigner generuje cały kod Arduino, w tym symulację analogWrite Arduino. Nie było wymagane kodowanie Arduino. pfodApp zajmuje się całą stroną Androida, nie wymaga kodowania Androida.
Zalecana:
Skaner kodów QR przy użyciu OpenCV w Pythonie: 7 kroków
Skaner kodów QR przy użyciu OpenCV w Pythonie: W dzisiejszym świecie widzimy, że kod QR i kod kreskowy są używane prawie wszędzie, od pakowania produktów po płatności online, a obecnie widzimy kody QR nawet w restauracji, aby zobaczyć menu. Więc nie wątpię, że teraz jest to wielka myśl. Ale czy kiedykolwiek
Superstock (zapas kontrolowany przez skaner kodów kreskowych): 5 kroków
Superstock (zapas kontrolowany przez skaner kodów kreskowych): W tym przewodniku opowiem Ci, jak zbudować Superstock, mój szkolny projekt dla 1MCT w Howest. Koncepcja polega na stworzeniu przyjaznej dla użytkownika bazy danych, do której można uzyskać dostęp za pośrednictwem strony internetowej, aby zliczyć, co masz w magazynie (w moim przypadku odzież dla
Generator kodów Escape Room: 4 kroki
Escape Room Codegenerator: Voor dit project werd er een een machine te gebruikt gebruikt zal worden in een escape room. De bedoeling van deze machine is dat door het drukken op een knop een bijhorend cijfer wordt aangeduid aan de hand van lampjes, zo zal het mo
SYSTEM POS DLA SKLEPÓW, SPOŻYWCZYCH I CENTRÓW SERWISOWYCH EXCEL Z wykorzystaniem kodów kreskowych: 7 kroków
SYSTEM POS DLA SKLEPÓW, SPRZEDAŻY I CENTRÓW USŁUGOWYCH FIRMY EXCEL Z wykorzystaniem kodów kreskowych: W tym blogu przedstawiam Państwu jak stworzyć prosty system POS (point of sales) dla małych sklepów spożywczych i punktów usługowych. Dzięki tej metodzie możesz zarządzać następującymi obiektami bez specjalnego oprogramowania lub drogiego sprzętu. przeciwko Iss
Mówiący czytnik kodów kreskowych Raspberry Pi: 12 kroków
Mówiący czytnik kodów kreskowych Raspberry Pi: Rys.1 Skaner kodów kreskowych z DX.comOverviewUpdate: Dostępne jest krótkie demo wideo https://youtu.be/b905MLfGTcMMMoja mama nie jest już w stanie czytać etykiet na artykułach spożywczych, więc poszedłem szukać rozwiązań. Po obejrzeniu czytników kodów kreskowych dla niewidomych