Co można zrobić z pomocą ESP8266?

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ส.ค. 2024

ความคิดเห็น • 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 หลายเดือนก่อน +3

    Tworzy się ciekawy kanał. Życzę sukcesów.

  • @Zuubiik
    @Zuubiik หลายเดือนก่อน +1

    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 :)

  • @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. .

  • @rapitu7205
    @rapitu7205 27 วันที่ผ่านมา

    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  26 วันที่ผ่านมา

      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  หลายเดือนก่อน +1

      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ą.