Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266Influxdb.h>
- #include <ESP8266WiFi.h>
- #include <WiFiClient.h>
- #include <ESP8266WebServer.h>
- #include <ESP8266mDNS.h>
- #include <ESP8266HTTPUpdateServer.h>
- #include <WiFiUdp.h>
- #include <Arduino.h>
- ADC_MODE(ADC_VCC); // to use getVcc
- extern "C" {
- #include "user_interface.h"
- }
- #include <DHTesp.h>
- DHTesp dht;
- const char* host = "therm1";
- const char* ssid = "";
- const char* password = "";
- const char *INFLUXDB_HOST = "10.0.1.7";
- const uint16_t INFLUXDB_PORT = 8086;
- const char *DATABASE = "poele";
- const char *DB_USER = "";
- const char *DB_PASSWORD = "";
- ESP8266WebServer httpServer(80);
- ESP8266HTTPUpdateServer httpUpdater;
- Influxdb influxdb(INFLUXDB_HOST, INFLUXDB_PORT);
- void setup(void)
- {
- //#########################################################################################################
- WiFi.mode(WIFI_STA);
- WiFi.begin(ssid, password);
- while(WiFi.waitForConnectResult() != WL_CONNECTED)
- {
- WiFi.begin(ssid, password);
- }
- MDNS.begin(host);
- httpUpdater.setup(&httpServer);
- httpServer.begin();
- MDNS.addService("http", "tcp", 80);
- influxdb.opendb(DATABASE, DB_USER, DB_PASSWORD);
- //#########################################################################################################
- //GPIO1 (BLUE LED et desactive le TX)
- PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);
- pinMode(1, OUTPUT);
- digitalWrite(1, HIGH); //LED OFF
- //GPIO3 (PIN RX pour le OneWire)
- PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);
- pinMode(3, OUTPUT);
- digitalWrite(3, LOW);
- //HighZ
- PIN_PULLUP_DIS(PERIPHS_IO_MUX_U0RXD_U);
- dht.setup(3);
- }
- void loop(void)
- {
- httpServer.handleClient();
- //##################################################################################################################
- delay(dht.getMinimumSamplingPeriod());
- float humidity = dht.getHumidity();
- float temperature = dht.getTemperature();
- uint32_t getVcc = ESP.getVcc();
- float voltage = 0.0;
- voltage = getVcc/1000.0;
- FIELD dataObj("thermo");
- dataObj.addTag("device", "1");
- dataObj.addField("temp", float(temperature));
- dataObj.addField("humi", float(humidity));
- dataObj.addField("volt", float(voltage));
- Serial.println(influxdb.write(dataObj) == DB_SUCCESS ? "Object write success"
- : "Writing failed");
- delay(30000);
- //##################################################################################################################
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement