Компиляция скетча для dht11 и модема neoway m590

Тема в разделе "Arduino & Shields", создана пользователем blackflash2009, 31 июл 2022.

  1. blackflash2009

    blackflash2009 Нерд

    При компиляции все время выдает ошибку no matching function for call to 'Dht11::Dht11()' библиотека вот https://arduinolab.pw/wp-content/uploads/2015/12/Dht11.zip
    если убрать все что связана с Dht11 то выдает ошибку на #define gsm Serial1 Может кто код скомпилировать ? если получится скиньте правильные библиотеки.
    Код (C++):
    //#include <SoftwareSerial.h>
    #include <Dht11.h>
    #define DHT11PIN 11  // пин DHT11

    #define gsm Serial1

    //SoftwareSerial gsm(7, 8); // RX, TX
    Dht11 DHT11;

    int i = 0;

    void gprssend(){
        DHT11.read(DHT11PIN); // читаем данные с градусника

    //  if(!digitalRead(6)){     // если нажали кнопку

         char val[48];
         snprintf(val, sizeof(val), "#FFFFFFFFFFFF#ardlab\n#H1DHT11#%d\n#T1DHT11#%d\n##",
              DHT11.humidity, DHT11.temperature);


         gsm.println("AT+TCPCLOSE=0");  // закрываем соединение, на всякий случай
                 
      while(1){ // в цикле соединяемся с сервером народмон
        gsm.println("AT+TCPSETUP=0,91.122.49.168,8283");  
        delay(2500);
        if (gsm.find("+TCPSETUP:0,OK")) break; // если соединились, выходим из цикла
        Serial.println("tcp_err");
                       // если нет, проверяем соединины ли с интернетом
        gsm.flush();
        gsm.println("at+xiic?");
        delay(100);
        if (gsm.find("0.0.0.0")){
          gprsconnect(); // если нет, то подключаемся    
          delay(2000);
        }
      }
                // отправляем 47 байт
      gsm.println("at+tcpsend=0,47");
      delay(100);
      gsm.println(val);
      delay(250);
      if (gsm.find("+TCPSEND")) Serial.println("sendOK");
      else Serial.println("sendERROR");
     
      gsm.println("AT+TCPCLOSE=0");  // закрываем соединение
      Serial.print("!!!");
    }

    //// соединяемся с интернетом
    void gprsconnect(){

      gsm.println("AT+CGDCONT=1,\"IP\",\"internet.beeline.ru\"");  
      delay(100);
      gsm.println("AT+XGAUTH=1,1,\"beeline\",\"beeline\"");  
      delay(100);
      gsm.println("AT+CUSD=1,\"*99***1#\",15");
      delay(100);
      gsm.println("AT+XISP=0");  // включаем РРР
      delay(100);
      gsm.println("at+xiic=1");  
      delay(100);
      do{             // проверяем выдали ли нам IP
        gsm.println("at+xiic?");        
        Serial.print(".");
        delay(300);
      }while(gsm.find("0.0.0.0"));

         
    }

    void setup() {
      Serial.begin(9600);
      gsm.begin(9600);
        while (!Serial1) {
        ; // wait for serial port to connect. Needed for Leonardo only
      }

      pinMode(6, INPUT_PULLUP);
      /*     while(!gsm.find("+PBREADY")){             // при включении ждем отклик от модема        Serial.print(". ");        delay(100);        }   */
           do{             // проверяем готовность модема
            gsm.println("AT+CPAS");        
            Serial.print(".");
            delay(100);
          }while(!gsm.find("0"));
         
          do{             // проверяем готовность модема
            gsm.println("AT+CREG?");      
            Serial.print(":");
            delay(100);
          }while(!gsm.find("+CREG: 0,1"));

         
      gsm.println("ATE0");      // выключаем эхо
      gsm.println("AT+XISP=0");  // включаем РРР
      delay(100);

      gsm.flush();
     
    gprsconnect();
    gprssend();

    }

    void loop() {
       while (Serial.available() > 0) { // смотрим что ответил есп после отправки
          char i = Serial.read();
          if (i == 's') gprssend();
          else if (i == 'c') gprsconnect();
          else Serial.write(i);
      }
     
    /*    // read from port 1, send to port 0:  if (Serial1.available()) {    int inByte = Serial1.read();    Serial.write(inByte);  }  // read from port 0, send to port 1:  if (Serial.available()) {    int inByte = Serial.read();    Serial1.write(inByte);  }   */
    }
     
  2. parovoZZ

    parovoZZ Гуру

    код необходимо переписать под используемую библиотеку. Ну и английский выучить, чтобы уметь переводить сообщения компилятора.
     
  3. Airbus

    Airbus Радиохулиган Модератор

    Дак это код у Пушного Звера с его сайта. У него все работает всегда поэтому дело не в коде
     
  4. blackflash2009

    blackflash2009 Нерд

    дело в библиотеках которые он не выкладывает
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Дак скачай на гитхабе! Или в другом месте. Их как грязи. Потом проверь код. Правда Леша не был замечен ранее в кривых скетчах, у него все было как в аптеке. А на ардуинолаб и на Ютубканале
     
  6. blackflash2009

    blackflash2009 Нерд

    ну раст так все замечательно скомпелируйте код
    я скачивал не работают
     
  7. parovoZZ

    parovoZZ Гуру

    Компилятор ругается на отсутствующую функцию, а ты говоришь, что дело не в коде. LOL
     
    b707 нравится это.
  8. b707

    b707 Гуру

    сообщения об ошибках скопируйте и выложите в форум
     
  9. Рокки1945

    Рокки1945 Гуру

    лучше китайский пусть учит - на будущее