Co można zrobić z pomocą ESP8266?

  Рет қаралды 2,767

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.com/stable/pac...
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

Пікірлер: 20
@InzynierNaukowy
@InzynierNaukowy 21 күн бұрын
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 18 күн бұрын
nie lepiej stworzyć githuba sobie?
@InzynierNaukowy
@InzynierNaukowy 18 күн бұрын
@@krucafuks123 Będę musiał to zrobić 😅
@yankovalsky7696
@yankovalsky7696 12 күн бұрын
Ewentualnie podaj tylko link do pastebin.
@dzikidzik2648
@dzikidzik2648 19 күн бұрын
Tworzy się ciekawy kanał. Życzę sukcesów.
@InzynierNaukowy
@InzynierNaukowy 19 күн бұрын
Dziękuję :)
@MH-vx1fo
@MH-vx1fo 19 күн бұрын
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 15 күн бұрын
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 15 күн бұрын
Lub ESP32 :-)
@Zuubiik
@Zuubiik 15 күн бұрын
@@marekjaglarz6880 wiadomka :)
@grzesiektg
@grzesiektg 19 күн бұрын
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 19 күн бұрын
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 12 күн бұрын
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 17 күн бұрын
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 17 күн бұрын
Tak, też o tym myślałem. Zapiszę sobie to do potencjalnych projektów na przyszłość. Dzięki😀
@wojciechkorthals644
@wojciechkorthals644 19 күн бұрын
zadziała z esp 32- c6?
@InzynierNaukowy
@InzynierNaukowy 19 күн бұрын
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 19 күн бұрын
@@InzynierNaukowy zrobisz kiedyś film na ten temat albo zrobisz jakiś projekt?
@InzynierNaukowy
@InzynierNaukowy 18 күн бұрын
​@@wojciechkorthals644 Obecnie nie mam tego w planach, ale nie wykluczam, że kiedyś zrobię coś z tą płytką.
Jak zrobić LED w domu
10:21
ELEKTRON
Рет қаралды 30 М.
Sigma girl and soap bubbles by Secret Vlog
00:37
Secret Vlog
Рет қаралды 11 МЛН
Despicable Me Fart Blaster
00:51
_vector_
Рет қаралды 26 МЛН
Co się stało z kineskopami? CRT miały zalety, ale wyrok zapadł
9:04
Budowałem ten projekt przez 3 lata...
8:49
Proste Części
Рет қаралды 38 М.
Tysiąc razy lepszy od LM358?
27:16
Piotr Górecki
Рет қаралды 12 М.
KLIENT MNIE OKŁAMAŁ?! ASUS za 20 000 PLN PADŁ!
31:55
Wielki Elektronik Shorts
Рет қаралды 272 М.
Pewex [TOWARY MODNE 223]
18:50
Adam Śmiałek
Рет қаралды 79 М.
Air Conditioner / Heat Pump / Homemade
20:41
Stahu DIY
Рет қаралды 175 М.
USB-C nie do końca pomaga...
10:37
Radyjko
Рет қаралды 32 М.
Arduino 67: Stacja pogody
16:32
Adam Śmiałek
Рет қаралды 6 М.
Какой ноутбук взять для учёбы? #msi #rtx4090 #laptop #юмор #игровой #apple #shorts
0:18
ЕС урезает аккумуляторы 🪫
1:00
Не шарю!
Рет қаралды 143 М.
Лазер против камеры смартфона
1:01
NEWTONLABS
Рет қаралды 700 М.