Neighbours from hell

Тема в разделе "Глядите, что я сделал", создана пользователем Рокки1945, 12 янв 2021.

  1. Рокки1945

    Рокки1945 Гуру

    Здравствуйте.
    Задача - возможность управления модулем по интернету (как в Один Дома - отпугивать грабителей или любопытных соседей или виндетта за ремонт)
    Средства - DFplayer, ESP8266, динамик - 8 Ом
    Возможности - включение/выключение/регулировка громкости
    Функционал - центральная кнопка включение и выключение
    Скролл - регулировка громкости
    Особенности - работает через проброс порта
    Код в Ардуино Иде
    Код (C++):
    /*-----------------------------------------------------------------------------------------*/
    #include <ESP8266WiFi.h>
    #include <ESP8266WebServer.h>
    #include <DFPlayer_Mini_Mp3.h> // подключаем библиотеку для DFPlayer Mini

    const char* ssid = "Ненси - Дрю";//type your ssid
    const char* password = "Дрю - Ненси";//type your password

    int ledPin = 2; // GPIO2 of ESP8266
    byte x = 0;
    ESP8266WebServer server(80);//Service Port


    /*-----------------------------------------------------------------------------------------*/

    /*-----------------------------------------------------------------------------------------*/
    byte volume = 1;
    /*-----------------------------------------------------------------------------------------*/

    /*-----------------------------------------------------------------------------------------*/
    void setup () {
      Serial.begin (9600);
      pinMode(ledPin, OUTPUT);
      digitalWrite(ledPin, LOW);
      mp3_set_serial (Serial);
      mp3_set_volume (volume); // громкость
      WiFi.begin(ssid, password);

      while (WiFi.status() != WL_CONNECTED) {
      delay(500);}
      // Start the server
      server.begin();
      server.on("/2on", onn);
      server.on("/2off", off);
      //============================ громкость
      server.on("/volume", []() {
      String state=server.arg("state");
      volume = state.toInt();
      mp3_set_volume (volume);
      server.send(200, "text/html", "volume" + String(volume));
    });

     
    }

    void loop () {

          server.handleClient(); }
     

    //============================ выключение
    void off() {
    digitalWrite(ledPin, LOW);
    server.send(200, "text/html","gpio2 on");
    delay(1000);
    mp3_stop ();
    }
    //============================ включение
    void onn() {
    digitalWrite(ledPin, HIGH);
    server.send(200, "text/html","gpio2 of");
    delay(1000);
    mp3_play (166);
    }
    Код в инверторе
    Снимок.PNG

    Видео

     
  2. issaom

    issaom Гуру

    А взяли бы ESP32 и DFplayer, был бы не нужен и карточка с картридером тоже)))
     
    Последнее редактирование: 12 янв 2021