Czujnik głębokości dla cieczy z czujnikiem różnicy ciśnień

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
mirizag
Posty: 105
Rejestracja: pn sty 02, 2017 6:36 pm

śr maja 29, 2019 8:51 pm

adamwro25 pisze:
śr maja 29, 2019 8:13 am
@mirizag

Co podłączyłeś do czujnika mpx worek czy rure?
Do MPX dałem rurę.
adamwro25
Posty: 41
Rejestracja: ndz mar 04, 2018 1:25 pm

czw maja 30, 2019 7:37 am

mirizag pisze:
śr maja 29, 2019 8:51 pm
adamwro25 pisze:
śr maja 29, 2019 8:13 am
@mirizag

Co podłączyłeś do czujnika mpx worek czy rure?
Do MPX dałem rurę.
Ok, a koniec rury z drugiej strony masz otwarty czy dałeś worek?
mirizag
Posty: 105
Rejestracja: pn sty 02, 2017 6:36 pm

ndz cze 02, 2019 10:05 am

Drugi koniec rury jest otwarty. Na samym dole rury wywierciłem otwory na około rury i rura do samego dna.
NetAs
Posty: 75
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontaktowanie:

pn lip 29, 2019 6:16 am

Mam pytanko, na schemacie napisane jest rezystor 180K, a na rysunku w kodzie kolorów jest to 150K, to ile właściwie powinno być?
elmaya
Posty: 960
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: Sevilla

pn lip 29, 2019 3:02 pm

NetAs pisze:
pn lip 29, 2019 6:16 am
Mam pytanko, na schemacie napisane jest rezystor 180K, a na rysunku w kodzie kolorów jest to 150K, to ile właściwie powinno być?
180 Kohm
Fritzing has no resistance of 180 kohm
ipro
Posty: 15
Rejestracja: ndz wrz 01, 2019 3:52 am
Lokalizacja: Jarosławiec

śr paź 02, 2019 7:01 pm

mirizag pisze:
ndz cze 02, 2019 10:05 am
Drugi koniec rury jest otwarty. Na samym dole rury wywierciłem otwory na około rury i rura do samego dna.
Czy mógłbyś podzielić się "patentem", jakiego typu i średnicy rury użyłeś, oraz jak ją dokładnie połączyłeś z króćcem czujnika?

Z góry dzięki.
rek.fm
Posty: 10
Rejestracja: wt gru 19, 2017 9:31 am

czw kwie 09, 2020 2:12 pm

Zmontowałem sobie układ do pomiaru ilości wody w studni (9,5m) czujnik MPX5100 oraz przekaźnika do załączania pompy podlewającej ogródek. Od układu do dna studni poprowadziłem 15m wężyka 4mm. Przekaźnik sterowany jest przyciskiem fizycznym oraz za pomocą supli. Do źródła kolegi elmaya dołożyłem jeszcze BMC280 mierzący temperaturę i ciśnienie bezwzględne. Wszystko "niby" działa ale nie do końca. Pomiar ilości wody dla compensation 750 zaniżony był o ok 1m skorygowałem go ustawiając na 340. Przekaźnik również niby działa ale na jego stan w supli wpływa zmiana poziomu wody. Czy ma ktoś jakieś pomysły?


Kod: Zaznacz cały

#include <FS.h>       // ---- esp board manager 2.4.2 --- iwip Variant V2 higher Bandwidth
#include <EEPROM.h>
#include <ESP8266WiFi.h>
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <DNSServer.h>
#include <WiFiManager.h> 
#include <ArduinoJson.h>     //--------- https://github.com/bblanchon/ArduinoJson/tree/v5.13.2 ------
#include <Ticker.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ESPEFC.h>  // modification of ESP8266HTTPUpdateServer that includes erases flash and wifi credentials
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bme; // I2C

extern "C"
{
#include "user_interface.h"
}
#define onboard_led 2      //D4           status led
#define TRIGGER_PIN 0      // D3     wifi configuration pin --------pin konfiguracji wifi
#define zeroCal_PIN 14 // D5    MPX zero Calibration pin -------Pin kalibracji zerowej MPX
#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11 
#define BMP_CS 10

#define BTN_COUNT 1

typedef struct {
  int pin;
  int relay_pin;
  int channel;
  char last_val;
  unsigned long last_time;
} _btn_t;

_btn_t btn[BTN_COUNT];

void supla_timer() {
  char v;
  unsigned long now = millis();
  
  for(int a=0;a<BTN_COUNT;a++)
    if (btn[a].pin > 0) {
        v = digitalRead(btn[a].pin);
        if (v != btn[a].last_val && now - btn[a].last_time ) {
           btn[a].last_val = v;
           btn[a].last_time = now;
           if (v==0)
             {
                 if ( digitalRead(btn[a].relay_pin) > 0 ) {
                  SuplaDevice.relayOff(btn[a].channel);
                 } else {
                  SuplaDevice.relayOn(btn[a].channel, 0);
                 }        
             }
        }
  
    }
}

void supla_btn_init() {
  for(int a=0;a<BTN_COUNT;a++)
    if (btn[a].pin > 0) {
        pinMode(btn[a].pin, INPUT_PULLUP); 
        btn[a].last_val = digitalRead(btn[a].pin);
        btn[a].last_time = millis();
    }
}

WiFiClient client;
ESP8266WebServer httpServer(81);
ESPEFC httpUpdater;
const char* host = "supla";
Ticker ticker;
unsigned long wifi_checkDelay = 30000;
unsigned long wifimilis; 
int C_W_state = HIGH; 
int last_C_W_state = HIGH;
unsigned long time_last_C_W_change = 0; 
long C_W_delay = 5000;               // config delay 5 seconds           ----------        opóźnienie konfiguracji 5 sekund
int MPX_mtbs = 15000;                // mean time between MPX update 
double MPX_tipo = 100.0;   
int mpx_zeroCal ;
int mpx_Tipo ;
unsigned long MPX_lasttime;   
double MPX_Value = 0;
double MPV_Send = -1;
double distance = 0;
double rssi = 0;
double rssi_last = 0;
int MPX_zero_offset = 0;
int mpx_Compensation =0;
int s;                   //             ---------------- Status ------------------
int timeout           = 120;
char Supla_server[40];
char Location_id[15];
char Location_Pass[34];
char MPX_Compensation[5];
char MPX_Tipo[5];
char Supla_name[51];
char update_path[21];
char update_username[21];
char update_password[21];
byte mac[6];
bool pr_wifi = true;
bool shouldSaveConfig = false;
bool initialConfig = false;

double get_temperature (int channelNumber, double temp){
  
    temp = bme.readTemperature();
    Serial.print("Temperature = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    if ( isnan(temp)) {
    temp = -275;
    }
    return round(temp*10)/10;
  }

double get_pressure (int channelNumber, double pressure){
  
    pressure = bme.readPressure() / 100.0F;
    Serial.print("Pressure = ");
    Serial.print(bme.readPressure());
    Serial.println(" hPa");
    if ( isnan(pressure) ) {
    pressure = -1;
    }
    return round(pressure);
  }

void get_MPX(){
  int val = 0;
      for(int i = 0; i < 10; i++) {
      val += analogRead(A0);
      delay(1);
      }
      val = val / 10; 
  yield();
  MPX_Value = map(val,MPX_zero_offset,(mpx_Compensation+MPX_zero_offset),0,1000) / MPX_tipo;
  yield(); 
  Serial.print("depth: ");  
  Serial.print(MPX_Value,2);
  Serial.println(" m"); 
  yield();
  if (MPX_Value != MPV_Send){ 
    MPV_Send = MPX_Value;
    SuplaDevice.channelDoubleValueChanged(0, MPV_Send);       
  }
    digitalWrite(onboard_led, LOW);
    delay(100);
    digitalWrite(onboard_led, HIGH);
}
void tick(){
  int state = digitalRead(onboard_led);  
  digitalWrite(onboard_led, !state);  
}
void saveConfigCallback () {
  Serial.println("Should save config");
  shouldSaveConfig = true;
}
void ondemandwifiCallback () {
  ticker.attach(0.2, tick);
  WiFiManagerParameter custom_Supla_server("server", "supla server", Supla_server, 40);
  WiFiManagerParameter custom_Location_id("ID", "Location_id", Location_id, 15);
  WiFiManagerParameter custom_Location_Pass("Password", "Location_Pass", Location_Pass, 34 );
  WiFiManagerParameter custom_MPX_Compensation("MPX_Compensation", "Compensation 500-1000", MPX_Compensation, 5);
  WiFiManagerParameter custom_MPX_Tipo("MPX_Tipo", "MPX Tipo 5010-5050-5100", MPX_Tipo, 5);
  WiFiManagerParameter custom_Supla_name("name", "Supla Device Name", Supla_name, 51,"required");
  WiFiManagerParameter custom_update_path("updatePath", "/xxxx update path", update_path, 21,"required");
  WiFiManagerParameter custom_update_username("updateUsername", "update username", update_username, 21,"required");
  WiFiManagerParameter custom_update_password("updatePassword", "update password", update_password, 21,"required");

  WiFiManager wifiManager;
  wifiManager.setBreakAfterConfig(true);
  wifiManager.setSaveConfigCallback(saveConfigCallback);

  wifiManager.addParameter(&custom_Supla_server);
  wifiManager.addParameter(&custom_Location_id);
  wifiManager.addParameter(&custom_Location_Pass);
  wifiManager.addParameter(&custom_MPX_Compensation);
  wifiManager.addParameter(&custom_MPX_Tipo);
  wifiManager.addParameter(&custom_Supla_name);
  wifiManager.addParameter(&custom_update_path);
  wifiManager.addParameter(&custom_update_username);
  wifiManager.addParameter(&custom_update_password);

  wifiManager.setCustomHeadElement("<style>html{ background-color: #01DF3A;}</style><div class='s'><svg version='1.1' id='l' x='0' y='0' viewBox='0 0 200 200' xml:space='preserve'><path d='M59.3,2.5c18.1,0.6,31.8,8,40.2,23.5c3.1,5.7,4.3,11.9,4.1,18.3c-0.1,3.6-0.7,7.1-1.9,10.6c-0.2,0.7-0.1,1.1,0.6,1.5c12.8,7.7,25.5,15.4,38.3,23c2.9,1.7,5.8,3.4,8.7,5.3c1,0.6,1.6,0.6,2.5-0.1c4.5-3.6,9.8-5.3,15.7-5.4c12.5-0.1,22.9,7.9,25.2,19c1.9,9.2-2.9,19.2-11.8,23.9c-8.4,4.5-16.9,4.5-25.5,0.2c-0.7-0.3-1-0.2-1.5,0.3c-4.8,4.9-9.7,9.8-14.5,14.6c-5.3,5.3-10.6,10.7-15.9,16c-1.8,1.8-3.6,3.7-5.4,5.4c-0.7,0.6-0.6,1,0,1.6c3.6,3.4,5.8,7.5,6.2,12.2c0.7,7.7-2.2,14-8.8,18.5c-12.3,8.6-30.3,3.5-35-10.4c-2.8-8.4,0.6-17.7,8.6-22.8c0.9-0.6,1.1-1,0.8-2c-2-6.2-4.4-12.4-6.6-18.6c-6.3-17.6-12.7-35.1-19-52.7c-0.2-0.7-0.5-1-1.4-0.9c-12.5,0.7-23.6-2.6-33-10.4c-8-6.6-12.9-15-14.2-25c-1.5-11.5,1.7-21.9,9.6-30.7C32.5,8.9,42.2,4.2,53.7,2.7c0.7-0.1,1.5-0.2,2.2-0.2C57,2.4,58.2,2.5,59.3,2.5z M76.5,81c0,0.1,0.1,0.3,0.1,0.6c1.6,6.3,3.2,12.6,4.7,18.9c4.5,17.7,8.9,35.5,13.3,53.2c0.2,0.9,0.6,1.1,1.6,0.9c5.4-1.2,10.7-0.8,15.7,1.6c0.8,0.4,1.2,0.3,1.7-0.4c11.2-12.9,22.5-25.7,33.4-38.7c0.5-0.6,0.4-1,0-1.6c-5.6-7.9-6.1-16.1-1.3-24.5c0.5-0.8,0.3-1.1-0.5-1.6c-9.1-4.7-18.1-9.3-27.2-14c-6.8-3.5-13.5-7-20.3-10.5c-0.7-0.4-1.1-0.3-1.6,0.4c-1.3,1.8-2.7,3.5-4.3,5.1c-4.2,4.2-9.1,7.4-14.7,9.7C76.9,80.3,76.4,80.3,76.5,81z M89,42.6c0.1-2.5-0.4-5.4-1.5-8.1C83,23.1,74.2,16.9,61.7,15.8c-10-0.9-18.6,2.4-25.3,9.7c-8.4,9-9.3,22.4-2.2,32.4c6.8,9.6,19.1,14.2,31.4,11.9C79.2,67.1,89,55.9,89,42.6z M102.1,188.6c0.6,0.1,1.5-0.1,2.4-0.2c9.5-1.4,15.3-10.9,11.6-19.2c-2.6-5.9-9.4-9.6-16.8-8.6c-8.3,1.2-14.1,8.9-12.4,16.6C88.2,183.9,94.4,188.6,102.1,188.6z M167.7,88.5c-1,0-2.1,0.1-3.1,0.3c-9,1.7-14.2,10.6-10.8,18.6c2.9,6.8,11.4,10.3,19,7.8c7.1-2.3,11.1-9.1,9.6-15.9C180.9,93,174.8,88.5,167.7,88.5z'/></svg>");

  wifiManager.setMinimumSignalQuality();

    wifiManager.setConfigPortalTimeout(timeout);

    if (!wifiManager.startConfigPortal("SuplaMPX")) {   //    ----wifi configuration ap name---
      Serial.println("Not connected to WiFi but continuing anyway.");
    } else {
      
      Serial.println("connected...yeey :)");    //if you get here you have connected to the WiFi
    }
    strcpy(Supla_server, custom_Supla_server.getValue());
    strcpy(Location_id, custom_Location_id.getValue());
    strcpy(Location_Pass, custom_Location_Pass.getValue());
    strcpy(MPX_Compensation, custom_MPX_Compensation.getValue());
    strcpy(MPX_Tipo, custom_MPX_Tipo.getValue());
    strcpy(Supla_name, custom_Supla_name.getValue());
    strcpy(update_path, custom_update_path.getValue());
    strcpy(update_username, custom_update_username.getValue());
    strcpy(update_password, custom_update_password.getValue());
}
//double get_temperature(int channelNumber, double rssi_last) {   //   --------------------------- New -----------------------------
         
//         rssi = WiFi.RSSI();  // ---------------------Twój kod daje 
//        delay(10);
//         if (rssi != rssi_last){ 
//          rssi_last = rssi;
//          return rssi_last;
//         }          
//    }


double get_distance(int channelNumber, double distance) {
    delay(10);
    return MPV_Send;
    }
void status_func(int status, const char *msg) {     //    ------------------------ Status --------------------------
 s=status;                                          //    -- to check if we are registered and ready 
}

void setup() {    //    ------------------------ Setup --------------------------

  memset(btn, 0, sizeof(btn));
  btn[0].pin = 13;
  btn[0].relay_pin = 12;
  btn[0].channel = 3;
  supla_btn_init();
  SuplaDevice.setTimerFuncImpl(&supla_timer);

  wifi_set_sleep_type(NONE_SLEEP_T);

  Serial.begin(115200);
  EEPROM.begin(128);  
  pinMode(TRIGGER_PIN, INPUT_PULLUP);
  pinMode(zeroCal_PIN, INPUT_PULLUP);
  pinMode(onboard_led, OUTPUT);

if (!bme.begin()) { 
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}

  
  if (WiFi.SSID()==""){
    initialConfig = true;
  }
  ticker.attach(0.8, tick);
  
  Serial.println("mounting FS...");
  
  if (SPIFFS.begin()) {
    Serial.println("mounted file system");
    if (SPIFFS.exists("/config.json")) {
      //file exists, reading and loading
      Serial.println("reading config file");
      File configFile = SPIFFS.open("/config.json", "r");
      if (configFile) {
        Serial.println("opened config file");
        size_t size = configFile.size();
        // Allocate a buffer to store contents of the file.
        std::unique_ptr<char[]> buf(new char[size]);

        configFile.readBytes(buf.get(), size);
        DynamicJsonBuffer jsonBuffer;         
        JsonObject& json = jsonBuffer.parseObject(buf.get());
        Serial.println(jsonBuffer.size());
        json.printTo(Serial);
        if (json.success()) {
          Serial.println("\nparsed json");

          strcpy(Supla_server, json["Supla_server"]);
          strcpy(Location_id, json["Location_id"]);
          strcpy(Location_Pass, json["Location_Pass"]);
          strcpy(MPX_Compensation, json["MPX_Compensation"]);
          strcpy(MPX_Tipo, json["MPX_Tipo"]);
          strcpy(Supla_name, json["Supla_name"]);         
          strcpy(update_path, json["update_path"]);
          strcpy(update_username, json["update_username"]);
          strcpy(update_password, json["update_password"]);
          mpx_Tipo = String(MPX_Tipo).toInt();
          if (mpx_Tipo == 5010){
           MPX_tipo = 1000.0; 
          }
          else if (mpx_Tipo == 5050){
           MPX_tipo = 200.0; 
          }
          else{
           MPX_tipo = 100.0; 
          }
          Serial.print("Mpx Tipo: ");
          Serial.println(MPX_tipo);
          mpx_Compensation = String(MPX_Compensation).toInt();
          Serial.print("Mpx Compensation: ");
          Serial.println(mpx_Compensation);
        } else {
          Serial.println("failed to load json config");          
        }
      }
    }
  } else {
    Serial.println("failed to mount FS");
  }
  MPX_zero_offset = EEPROM.read(1);
  Serial.print("Read MPX zero offset: ");
  Serial.println(MPX_zero_offset);

  uint8_t mac[WL_MAC_ADDR_LENGTH];
  WiFi.macAddress(mac);
  char GUID[SUPLA_GUID_SIZE] = {mac[WL_MAC_ADDR_LENGTH - 6], mac[WL_MAC_ADDR_LENGTH - 5], mac[WL_MAC_ADDR_LENGTH - 4], mac[WL_MAC_ADDR_LENGTH - 3],                                
                                mac[WL_MAC_ADDR_LENGTH - 2], mac[WL_MAC_ADDR_LENGTH - 1], mac[WL_MAC_ADDR_LENGTH - 1], mac[WL_MAC_ADDR_LENGTH - 2], 
                                mac[WL_MAC_ADDR_LENGTH - 3], mac[WL_MAC_ADDR_LENGTH - 4], mac[WL_MAC_ADDR_LENGTH - 5], mac[WL_MAC_ADDR_LENGTH - 6]};
  
  SuplaDevice.addDistanceSensor();
  SuplaDevice.addDS18B20Thermometer();
  SuplaDevice.addPressureSensor();
  SuplaDevice.addRelay(12);
   
  SuplaDevice.setStatusFuncImpl(&status_func);    //   ----------------------------- Status -----------------------------
 
  SuplaDevice.setName(Supla_name);    // Supla device name

  int LocationID = atoi(Location_id);
  SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    mac,               // Ethernet MAC address
                    Supla_server,      // SUPLA server address
                    LocationID,        // Location ID 
                    Location_Pass);    // Location Password
 WiFi.mode(WIFI_STA);
}

void loop() {

  
  if (WiFi.status() == WL_CONNECTED) 
  {    
    httpServer.handleClient();
  }
  
  
    switch (s) {    //    ------------------------------------------------ Status ------------------------------------
   case 9:      // --------------------- DISCONNECTED  ----------------------      
      break;
        
   case 17:      // -----     STATUS_REGISTERED_AND_READY
         
      if (millis() > MPX_lasttime + MPX_mtbs)  {    //--------------MPX callback--------------------
          get_MPX();
          MPX_lasttime = millis();
          } 
        
       
    break;        
  }

  if ( digitalRead(zeroCal_PIN) == LOW )  {
    int val = 0;
      for(int i = 0; i < 10; i++) {
      val += analogRead(A0);
      delay(1);
      }
      val = val / 10;
      MPX_zero_offset = val; 
    Serial.print("Write MPX zero offset: ");
    Serial.println(MPX_zero_offset);
    delay (1000);
    EEPROM.write(1, MPX_zero_offset); 
    EEPROM.commit();
  }

  
  int C_W_read = digitalRead(TRIGGER_PIN);{  
   if (C_W_read != last_C_W_state) {       
     
     time_last_C_W_change = millis();
   }
   if ((millis() - time_last_C_W_change) > C_W_delay) {
     
     if (C_W_read != C_W_state) {     
       Serial.println("Triger sate changed");
       C_W_state = C_W_read;
       
       if (C_W_state == LOW) {
        ondemandwifiCallback () ;
       }
     }
    }
   last_C_W_state = C_W_read;            
   }

  if  (initialConfig)  {     
    ondemandwifiCallback () ;
    initialConfig = false; 
  }

  if (shouldSaveConfig) {
    Serial.println("saving config");
    DynamicJsonBuffer jsonBuffer;
    JsonObject& json = jsonBuffer.createObject();
    json["Supla_server"] = Supla_server;
    json["Location_id"] = Location_id;
    json["Location_Pass"] = Location_Pass;
    json["MPX_Compensation"] = MPX_Compensation;
    json["MPX_Tipo"] = MPX_Tipo;
    json["Supla_name"] = Supla_name;
    json["update_path"] = update_path;
    json["update_username"] = update_username;
    json["update_password"] = update_password;

    File configFile = SPIFFS.open("/config.json", "w");
    if (!configFile) {
      Serial.println("failed to open config file for writing");
    }
    json.prettyPrintTo(Serial);
    json.printTo(configFile);
    configFile.close();
    Serial.println("config saved");
    shouldSaveConfig = false;
    WiFi.mode(WIFI_STA);
    ticker.detach();
    digitalWrite(onboard_led, HIGH);
    ESP.restart();
      delay(5000);
  }
  
  if (WiFi.status() != WL_CONNECTED) 
  {
    ticker.attach(0.8, tick);
    WiFi_up();
  }
  if (WiFi.status() != WL_CONNECTED) { 
    ticker.attach(0.8, tick);
    WiFi_up();
    pr_wifi = true;
  }
  else if ((WiFi.status() == WL_CONNECTED)  && (pr_wifi)){
    Serial.println("");
    Serial.println("CONNECTED");
    Serial.print("local IP: ");
    Serial.println(WiFi.localIP());
    Serial.print("subnetMask: ");
    Serial.println(WiFi.subnetMask());
    Serial.print("gatewayIP: ");
    Serial.println(WiFi.gatewayIP());
    long rssi = WiFi.RSSI();
    Serial.print("Signal Strength (RSSI): ");
    Serial.print(rssi);
    Serial.println(" dBm");
    ticker.detach();
    digitalWrite(onboard_led, HIGH); 
    pr_wifi = false;
    MDNS.begin(host);
    httpUpdater.setup(&httpServer, update_path, update_username, update_password);
    httpServer.begin();
    MDNS.addService("http", "tcp", 81);
    Serial.printf("HTTPUpdateServer ready! Open http://%s.local:81%s in your browser and login with username '%s' and password '%s'\n", host, update_path, update_username, update_password);      
   }
  SuplaDevice.iterate();
}

// Supla.org ethernet layer
    int supla_arduino_tcp_read(void *buf, int count) {
        _supla_int_t size = client.available();
       
        if ( size > 0 ) {
            if ( size > count ) size = count;
            return client.read((uint8_t *)buf, size);
        };
    
        return -1;
    };
    
    int supla_arduino_tcp_write(void *buf, int count) {
        return client.write((const uint8_t *)buf, count);
    };
    
    bool supla_arduino_svr_connect(const char *server, int port) {
          return client.connect(server, 2015);
    }
    
    bool supla_arduino_svr_connected(void) {
          return client.connected();
    }
    
    void supla_arduino_svr_disconnect(void) {
         client.stop();
    }
    
    void supla_arduino_eth_setup(uint8_t mac[6], IPAddress *ip) {

       WiFi_up();
    }

SuplaDeviceCallbacks supla_arduino_get_callbacks(void) {
          SuplaDeviceCallbacks cb;
          
          cb.tcp_read = &supla_arduino_tcp_read;
          cb.tcp_write = &supla_arduino_tcp_write;
          cb.eth_setup = &supla_arduino_eth_setup;
          cb.svr_connected = &supla_arduino_svr_connected;
          cb.svr_connect = &supla_arduino_svr_connect;
          cb.svr_disconnect = &supla_arduino_svr_disconnect;
          cb.get_temperature = &get_temperature;  // --------------------------- New ------------------------
          //cb.get_temperature_and_humidity = NULL;
          //cb.get_temperature_and_humidity =&get_temperature_and_pressure;
          //cb.get_temperature = &get_temperature;
          cb.get_pressure = &get_pressure;
          cb.get_distance = &get_distance;
         // cb.get_temperature_and_pressure=&get_temperature_and_pressure;
          return cb;
}

void WiFi_up(){ // conect to wifi
 
  if (millis() > wifimilis)  {
  WiFi.begin();
  Serial.println("CONNECTING WIFI"); 
  }
  wifimilis = (millis() + wifi_checkDelay) ;
}
Awatar użytkownika
byniom
Posty: 430
Rejestracja: sob sty 07, 2017 1:17 pm

czw kwie 09, 2020 4:07 pm

Ten czujnik pokazuje złe dane jeżeli zmieni się ciśnienie na zewnątrz.
elmaya
Posty: 960
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: Sevilla

czw kwie 09, 2020 5:45 pm

byniom pisze:
czw kwie 09, 2020 4:07 pm
Ten czujnik pokazuje złe dane jeżeli zmieni się ciśnienie na zewnątrz.
That's what the second air inlet is supposed to be for.
the external pressure does not affect the module that I have in operation.
Awatar użytkownika
byniom
Posty: 430
Rejestracja: sob sty 07, 2017 1:17 pm

czw kwie 09, 2020 8:21 pm

Czyli mam zły czujnik bo mam z jednym wejściem :(
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”