esp8266:capteurspol
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | esp8266:capteurspol [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Wemos et capteurs , humidité DHT12, MQ-135, microparticule SDS011 vers OSC ====== | ||
+ | < | ||
+ | // ESP_Wemos MQ-135 gaz detecteur vers OSC | ||
+ | // + mesure d' | ||
+ | // | ||
+ | // https:// | ||
+ | // https:// | ||
+ | // https:// | ||
+ | // | ||
+ | #include < | ||
+ | #include < | ||
+ | #include " | ||
+ | #include < | ||
+ | #include < | ||
+ | //#define DEBUG | ||
+ | const int GAZ1_A0 = A0; | ||
+ | WiFiUDP Udp; | ||
+ | ///// FIXEZ CES VALEURS /////////// | ||
+ | const unsigned int outPort = 9001; //port numbers for OSC | ||
+ | IPAddress outIP(192, 168, 0, 17); // IP pc destination | ||
+ | const char* ssid = " | ||
+ | const char* password | ||
+ | char* nomhost | ||
+ | char* OSCVar | ||
+ | int temps_milli | ||
+ | /////////////////////////////////// | ||
+ | float humidite = 0; | ||
+ | float temperatre = 0; | ||
+ | float pm_25 = 0; | ||
+ | float pm_10 = 0; | ||
+ | int rxPin = D6; // D1 D2 utilisé par DHT12 i2c | ||
+ | int txPin = D7; | ||
+ | SdsDustSensor sds(rxPin, txPin); | ||
+ | DHT12 dht12; | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(GAZ1_A0, | ||
+ | Serial.begin(115200); | ||
+ | Serial.println(ESP.getChipId(), | ||
+ | //setup ethernet part | ||
+ | Serial.println(); | ||
+ | Serial.print(" | ||
+ | |||
+ | Serial.print(" | ||
+ | Serial.println(ssid); | ||
+ | WiFi.mode(WIFI_STA); | ||
+ | // | ||
+ | WiFi.begin(ssid, | ||
+ | while (WiFi.status() != WL_CONNECTED) { | ||
+ | delay(500); | ||
+ | Serial.print(" | ||
+ | } | ||
+ | Serial.println("" | ||
+ | Serial.println(ssid); | ||
+ | Serial.println(" | ||
+ | IPAddress IPLOCAL = WiFi.localIP(); | ||
+ | Serial.println(" | ||
+ | Serial.println(nomhost); | ||
+ | WiFi.hostname(nomhost); | ||
+ | Serial.println(WiFi.hostname()); | ||
+ | Serial.println(" | ||
+ | Udp.begin(outPort); | ||
+ | Serial.print(" | ||
+ | Serial.println(Udp.localPort()); | ||
+ | delay(100); | ||
+ | sds.begin(); | ||
+ | Serial.println(sds.queryFirmwareVersion().toString()); | ||
+ | Serial.println(sds.setActiveReportingMode().toString()); | ||
+ | Serial.println(sds.setCustomWorkingPeriod(1).toString()); | ||
+ | } | ||
+ | void loop() { | ||
+ | Serial.println(analogRead(GAZ1_A0)); | ||
+ | if (dht12.get() == 0) { | ||
+ | temperatre = (float)dht12.cTemp; | ||
+ | humidite | ||
+ | Serial.print(" | ||
+ | | ||
+ | Serial.println(temperatre); | ||
+ | Serial.print(" | ||
+ | Serial.println(humidite); | ||
+ | } | ||
+ | PmResult pm = sds.readPm(); | ||
+ | if (pm.isOk()) { | ||
+ | pm_25 = (float)pm.pm25; | ||
+ | pm_10 = (float)pm.pm10; | ||
+ | Serial.print(" | ||
+ | Serial.println(pm_25); | ||
+ | Serial.print(" | ||
+ | Serial.println(pm_10); | ||
+ | // Serial.println(pm.toString()); | ||
+ | } else { | ||
+ | // notice that loop delay is set to 5s (sensor sends data every 3 minutes) and some reads are not available | ||
+ | // | ||
+ | // | ||
+ | Serial.print(" | ||
+ | Serial.println(pm_25); | ||
+ | Serial.print(" | ||
+ | Serial.println(pm_10); | ||
+ | } | ||
+ | /////////// | ||
+ | OSCMessage msg(OSCVar); | ||
+ | // les valeurs sont en long pour pd | ||
+ | msg.add((float)analogRead(GAZ1_A0)); | ||
+ | msg.add((float)temperatre); | ||
+ | msg.add((float)humidite); | ||
+ | msg.add((float)pm_25); | ||
+ | msg.add((float)pm_10); | ||
+ | |||
+ | Udp.beginPacket(outIP, | ||
+ | msg.send(Udp); | ||
+ | Udp.endPacket(); | ||
+ | msg.empty(); | ||
+ | delay(temps_milli); | ||
+ | } | ||
+ | </ |
esp8266/capteurspol.txt · Dernière modification : 2024/02/09 17:10 de 127.0.0.1