No video

Co można zrobić z pomocą ESP8266?

  Рет қаралды 3,227

Inżynier Naukowy

Inżynier Naukowy

Күн бұрын

Cześć w tym filmie pokazuje kilka możliwości jakie daje mikrokontroler NodeMCU v3 wraz z modułem esp8266. Miłego oglądania :)
Link pozwalający NodeMCU v3 z esp8266 w Arduino IDE:
arduino.esp8266...
Jeśli link się nie wyświetla w całości to radzę w niego wejść i go skopiować z paska wyszukiwania.
Skrypty znajdują się w przypiętym komentarzu :)
0:00 - 0:13 - Początek
0:14 - 0:52 - Przygotowanie środowiska
0:53 - 1:36 - Pierwsze zastosowanie
1:37 - 3:17 - Drugie zastosowanie
3:18 - 4:45 - Trzecie zastosowanie
4:46 - 5:30 - Zakończenie

Пікірлер: 22
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
Pierwszy skrypt --------------------------- #include #define Led5 15 #define Led4 13 #define Led3 12 #define Led2 14 #define Led1 02 bool led1,led2,led3,led4,led5; // Zmienne do konfiguracji punktu dostępu const char* ssid = "My_Serwer"; const char* password = "019812341";// musi się składać z co najmniej 8 znaków // Utworzenie serwera webowego na porcie 80 WiFiServer server(80); void setup() { Serial.begin(115200); pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Led4, OUTPUT); pinMode(Led5, OUTPUT); delay(10); // Ustawienia punktu dostępu WiFi.softAP(ssid, password); Serial.println(); Serial.print("Utworzono punkt dostępu: "); Serial.println(ssid); Serial.print("Adres IP: "); Serial.println(WiFi.softAPIP()); // Uruchomienie serwera server.begin(); Serial.println("Serwer rozpoczął pracę"); } void loop() { WiFiClient client = server.available(); if (!client) { return; } // Czekanie na dostęp klienta while (!client.available()) { delay(1); } // Odczyt żądania HTTP String request = client.readStringUntil(' '); Serial.println(request); client.flush(); if (request.indexOf("button_1") != -1) { led1 = !led1; digitalWrite(Led1, led1); } else if (request.indexOf("button_2") != -1) { led2 = !led2; digitalWrite(Led2, led2); } else if (request.indexOf("button_3") != -1) { led3 = !led3; digitalWrite(Led3, led3); } else if (request.indexOf("button_4") != -1) { led4 = !led4; digitalWrite(Led4, led4); } else if (request.indexOf("button_5") != -1) { led5 = !led5; digitalWrite(Led5, led5); } // Odpowiedź na żądanie HTTP // client.println("HTTP/1.1 200 OK"); // client.println("Content-Type: text/html"); //client.println(""); client.println(""); client.println(""); client.println(""); client.println("Sterowanie Diodami"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("body { background-color: #37434b; color: white; }"); client.println("#container { width: 700px; height: 500px; margin-left: auto; margin-right: auto; }"); client.println(".button { width: 100px; height: 100px; margin-left: 20px; margin-top: 250px; background-color: rgb(180, 180, 180); }"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("LED 1"); client.println("LED 2"); client.println("LED 3"); client.println("LED 4"); client.println("LED 5"); client.println(""); client.println(""); client.println(""); delay(1); Serial.println("Klient rozłączony"); } --------------------------- Drugi skrypt --------------------------- #include #define Led5 15 #define Led4 13 #define Led3 12 #define Led2 14 #define Led1 02 bool led1,led2,led3,led4,led5; const char* ssid = "SSID"; const char* password = "Haslo_do_sieci"; WiFiServer server(80); void setup() { Serial.begin(115200); pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Led4, OUTPUT); pinMode(Led5, OUTPUT); delay(10); // Konfiguracja pinu diody jako wyjścia // Łączenie się z siecią Wi-Fi Serial.println(); Serial.println(); Serial.print("Łączenie się z "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Połączono z Wi-Fi"); Serial.print("Adres IP: "); Serial.println(WiFi.localIP()); // Start serwera server.begin(); Serial.println("Serwer startowy"); } void loop() { WiFiClient client = server.available(); // Sprawdzenie czy jest dostępny klient if (client) { Serial.println("Nowy klient"); String currentLine = ""; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); if (c == ' ') { if (currentLine.length() == 0) { client.println(""); client.println(""); client.println(""); client.println("Sterowanie Diodami"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("body { background-color: #37434b; color: white; }"); client.println("#container { width: 700px; height: 500px; margin-left: auto; margin-right: auto; }"); client.println(".button { width: 100px; height: 100px; margin-left: 20px; margin-top: 250px; background-color: rgb(180, 180, 180); }"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("LED 1"); client.println("LED 2"); client.println("LED 3"); client.println("LED 4"); client.println("LED 5"); client.println(""); client.println(""); client.println(""); break; } else { currentLine = ""; } } else if (c != ' ') { currentLine += c; } // Sprawdzanie czy klient zażądał włączenia lub wyłączenia LED if (currentLine.endsWith("button_1")) { led1 = !led1; digitalWrite(Led1, led1); } else if (currentLine.endsWith("button_2")) { led2 = !led2; digitalWrite(Led2, led2); } else if (currentLine.endsWith("button_3")) { led3 = !led3; digitalWrite(Led3, led3); } else if (currentLine.endsWith("button_4")) { led4 = !led4; digitalWrite(Led4, led4); } else if (currentLine.endsWith("button_5")) { led5 = !led5; digitalWrite(Led5, led5); } } } client.stop(); Serial.println("Klient rozłączony"); } } ---------------------------
@krucafuks123
@krucafuks123 Ай бұрын
nie lepiej stworzyć githuba sobie?
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
@@krucafuks123 Będę musiał to zrobić 😅
@yankovalsky7696
@yankovalsky7696 Ай бұрын
Ewentualnie podaj tylko link do pastebin.
@dzikidzik2648
@dzikidzik2648 Ай бұрын
Tworzy się ciekawy kanał. Życzę sukcesów.
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
Dziękuję :)
@MH-vx1fo
@MH-vx1fo Ай бұрын
Zapewne jestem pechowy - 8266 nigdy (kilka egzemplarzy) nie zadziałało mi poprawnie mimo zakupu z różnych źródeł. Mam na myśli próby komunikacji i uruchomienia choćby w trybie mikrokontrolera sterowaniem wyjścia . ESP 32 jako tako zależnie od sztuki i pochodzenia. Nie miałem nigdy problemów z raspberry pi pico atmegami czy jakimkolwiek klonem arduino. .
@Zuubiik
@Zuubiik Ай бұрын
8266 jako zewnętrzny mikrokontroler bez wifi nie jest zbyt dobrym rozwiązaniem. Ma mało zasobów w porównaniu z byle STM32. Myślę że tanią i świetną alternatywą są kontrolery RP2040 z dev biard pico W
@marekjaglarz6880
@marekjaglarz6880 Ай бұрын
Lub ESP32 :-)
@Zuubiik
@Zuubiik Ай бұрын
@@marekjaglarz6880 wiadomka :)
@rapitu7205
@rapitu7205 19 күн бұрын
Hej od jakiegoś czasu bawię się z tą płytką i interesuje mnie OTA chciałbym wysyłać update code’u wireless bezpośrednio do płytki widzę że filmik jest dość świeży więc czy może chciałbyś mnie w tej kwestii i nagrać coś na ten temat
@InzynierNaukowy
@InzynierNaukowy 18 күн бұрын
Hmm. Obecnie pracuję nad dość sporym projektem na najbliższe dwa miesiące. Być może potem postaram się coś takiego zrobić.
@grzesiektg
@grzesiektg Ай бұрын
nie mówię, że się znam, ale czy potrzebowałeś na każdą diodę opornika? wydawało mi się, że mogłoby działać z jednym. ale ja z elektroniką jestem na bakier, więc może też nie działać ^^
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
Faktycznie istnieje taka możliwość, ale lepiej jest dać każdej diodzie oddzielny rezystor tym bardziej warto to zrobić jeśli diody są różnego koloru bo wtedy potrzebują różnych rezystorów.
@yankovalsky7696
@yankovalsky7696 Ай бұрын
W zależności od koloru, diody mają różne przedziały napięć i maksymalny prąd, przy którym działają poprawnie, inaczej można upalić. Rezystor ogranicza natężenie prądu, tym samym obniżając napięcie. Są kalkulatory, które wyliczą ci jaki dać rezystor do diody pod dane napięcie.
@pabloo9776
@pabloo9776 Ай бұрын
można by próbować zrobić repeater wifi i sprawdzić jakie są jego możliwość względem innych repeaterów komercyjnych (gotowców) xd
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
Tak, też o tym myślałem. Zapiszę sobie to do potencjalnych projektów na przyszłość. Dzięki😀
@wojciechkorthals644
@wojciechkorthals644 Ай бұрын
zadziała z esp 32- c6?
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
Na pewno da się osiągnąć taki sam rezultat, ale wymaga to innego skryptu i pobrania innego pakietu z płytkami bo ten nie ma w sobie esp 32 - c6.
@wojciechkorthals644
@wojciechkorthals644 Ай бұрын
@@InzynierNaukowy zrobisz kiedyś film na ten temat albo zrobisz jakiś projekt?
@InzynierNaukowy
@InzynierNaukowy Ай бұрын
​@@wojciechkorthals644 Obecnie nie mam tego w planach, ale nie wykluczam, że kiedyś zrobię coś z tą płytką.
Stacja Pogodowa za 25zł (na ESP8266)
33:43
Silniki Stirlinga i modelarstwo
Рет қаралды 41 М.
Smart Sigma Kid #funny #sigma #comedy
00:40
CRAZY GREAPA
Рет қаралды 37 МЛН
Алексей Щербаков разнес ВДВшников
00:47
ОБЯЗАТЕЛЬНО СОВЕРШАЙТЕ ДОБРО!❤❤❤
00:45
Challenge matching picture with Alfredo Larin family! 😁
00:21
BigSchool
Рет қаралды 17 МЛН
Air Conditioner / Heat Pump / Homemade
20:41
Stahu DIY
Рет қаралды 206 М.
Arduino 38: ELEKTRONICZNA PERKUSJA
16:04
Adam Śmiałek
Рет қаралды 8 М.
Arduino ESP8266 ESP32 Jaka płytka na początek?
18:21
Elektrobajt Arduino ESP
Рет қаралды 867
Chiny Tworzą Pierwszą na Świecie Armię Robo-psów!
12:10
To Interesujące
Рет қаралды 113 М.
Przekręt na MAGAZYN ENERGII ...
18:47
Nietypowe Rozwiązania
Рет қаралды 115 М.
Tech Week: Jak naprawić wentylator?
18:49
Kuba Klawiter
Рет қаралды 215 М.
Smart Sigma Kid #funny #sigma #comedy
00:40
CRAZY GREAPA
Рет қаралды 37 МЛН