Hirdetés

Új hozzászólás Aktív témák

  • itg

    tag

    válasz Janos250 #7950 üzenetére

    WiFi.status = 3 és a pingre nem válaszol, illetve a routeren sem látszik a csatlakoztatott eszközöknél.

    ez a kódom:

    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <DHT.h>
    #define DHTPIN D4
    #define DHTTYPE DHT22
    const char* ssid = "ssid";
    const char* password = "pw";
    const char* server = "10.0.0.10";
    const char* source = "konyha";
    IPAddress ip(10, 0, 0, 80);
    IPAddress gateway(10,0,0,1);
    IPAddress subnet(255,255,255,0);
    float humidity;
    float temperature;
    String data;
    byte mac[6];

    WiFiClient client;
    DHT dht(DHTPIN, DHTTYPE);

    void connectwifi()
    {
    WiFi.config(ip, gateway, subnet);
    WiFi.mode(WIFI_STA);
    delay(3000);
    WiFi.begin(ssid, password);
    delay(3000);
    while (WiFi.status() != WL_CONNECTED) { Serial.print("Wifi status: "); Serial.print(WiFi.status()); Serial.println(" "); delay(1000); }
    Serial.println();
    WiFi.macAddress(mac);
    delay(10000); //dhcp
    Serial.print("Connected to local network: ");
    Serial.print("MAC: "); Serial.print(mac[0],HEX); Serial.print(":"); Serial.print(mac[1],HEX); Serial.print(":"); Serial.print(mac[2],HEX); Serial.print(":"); Serial.print(mac[3],HEX); Serial.print(":"); Serial.print(mac[4],HEX); Serial.print(":"); Serial.print(mac[5],HEX);
    Serial.print(" IP: ");
    Serial.print(WiFi.localIP());
    Serial.print(" GW: ");
    Serial.print(WiFi.gatewayIP());
    Serial.print(" Wifi status: ");
    Serial.print(WiFi.status());
    Serial.printf(" RSSI: %d dBm\n", WiFi.RSSI());
    }

    void disconnectwifi()
    {
    if ( WiFi.status() != WL_DISCONNECTED )
    {
    WiFi.disconnect();
    }
    }

    bool httppush()
    {
    if (client.connect(server, 80))
    {
    client.println("POST /mrtg/push_konyha.php HTTP/1.1");
    client.println("Host: ");
    client.println("Content-Type: application/x-www-form-urlencoded");
    client.print("Content-Length: ");
    client.println(data.length());
    client.println();
    client.print(data);
    }
    else
    {
    Serial.println("Connection failed. Rebooting.");
    ESP.restart();
    }
    if (client.available())
    {
    char c = client.read();
    Serial.print(c);
    }
    if (client.connected())
    {
    client.stop();
    }
    }
    void setup()
    {
    Serial.begin(9600);
    delay(1000);
    Serial.println("Init progress: boot");
    delay(5000);
    Serial.println("Init progress: dht start");
    dht.begin();
    delay(5000);
    }
    void loop()
    {
    delay(5000);
    Serial.println("Loop progress: wait 4 min");
    delay(600000);
    //delay(10000);
    Serial.print("Loop progress: wifi start");
    connectwifi();
    Serial.println("Loop progress: reading from DHT22");
    humidity = dht.readHumidity();
    temperature= dht.readTemperature();
    if (isnan(humidity) || isnan(temperature))
    {
    Serial.println("Failed to read from DHT sensor! Rebooting.");
    ESP.restart();
    }
    else
    {
    Serial.print("Temperature: ");
    Serial.println(temperature);
    Serial.print("Humidity: ");
    Serial.println(humidity);
    Serial.print("Loop progress: connect to ");
    Serial.print(server);
    Serial.println("");
    data = "source=" + String(source) + "&temperature=" + String(temperature) + "&humidity=" + String(humidity);
    Serial.println("Loop progress: sending data");
    delay(5000);
    httppush();
    delay(5000);
    Serial.println("Loop progress: wifi stop");
    disconnectwifi();
    }
    }

    [ Szerkesztve ]

Új hozzászólás Aktív témák