NExtion and I2C



  • He i have Nextion screen. I need show on Nextion data from I2C sensors.. I have ESP8266 devkit. Here is my sketch but this sketch no showing temp and hum on the Nextion. I need alternative wire.h. ? Thanks.

    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    #include <SimpleTimer.h>
    #include <DHT.h>
    
    #include <Wire.h>
    #include <SI7021.h>
    float temp, hum;
    bool SI7021_present = true;
    #define I2C_SCL 12      // Barometric Pressure Sensor (BMP085)
    #define I2C_SDA 13
    SI7021 sensor;
    
    #include <Nextion.h>
    #include <SoftwareSerial.h>
    
    #define DHTPIN 2 //D4
    #define DHTTYPE DHT22   // DHT 22 Change this if you have a DHT11
    DHT dht(DHTPIN, DHTTYPE);
    
    // You should get Auth Token in the Blynk App.
    // Go to the Project Settings (nut icon).
    char auth[] = "";  // Put your Auth Token here. (see Step 3 above)
    
    SoftwareSerial HMISerial(4,5,false,256);//RX-D1 , TX-D2
    Nextion myNextion(HMISerial, 9600);
    
    SimpleTimer timer;
    
    void setup()
    {
     Wire.begin();
      sensor.begin(SDA,SCL);
      Wire.begin(I2C_SDA, I2C_SCL);
      
      Serial.begin(9600); // See the connection status in Serial Monitor
      Blynk.begin(auth, "", ""); //insert here your SSID and password
    
      myNextion.init();
     
      // Setup a function to be called every second
      timer.setInterval(10000L, sendUptime);
    }
    
    void sendUptime()
    {
      // You can send any value at any time.
      // Please don't send more that 10 values per second.
       //Read the Temp and Humidity from DHT
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      
      Blynk.virtualWrite(12, t); // virtual pin 
      Blynk.virtualWrite(13, h); // virtual pin 
    
    
     float temperature = sensor.getCelsiusHundredths()/100;
     float humidity = sensor.getHumidityPercent();
     Blynk.virtualWrite(5, temperature); 
     Blynk.virtualWrite(6, humidity); // virtual pin
    
    
      myNextion.setComponentText("t1", String(temperature));
      myNextion.setComponentText("t2", String(humidity));
      myNextion.setComponentText("t3", String(t));
      myNextion.setComponentText("t4", String(h));
      delay(1000);
    
      String dim = "dim=50";         //pro podsvíceni 
      myNextion.sendCommand(dim.c_str()); //pro podsvícení
    
    }
    
    
    
    void loop()
    {
      Blynk.run();
      timer.run();
    }
    

Log in to reply
 

Suggested Topics

  • 87
  • 8
  • 6
  • 10
  • 7
  • 2

21
Online

11.2k
Users

11.1k
Topics

112.5k
Posts