Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <OneWire.h>
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- #include <DallasTemperature.h>
- #define ONE_WIRE_BUS 2
- const char* host = "192.168.1.100";
- const char* readhost = "192.168.1.100";
- String path1 = "/test/insert-device-data.php?room=1&temp=";
- String path2 = "&humidity=";
- String readpath = "/test/bulb-info/room.txt";
- const char* ssid = "SSID-HERE";
- const char* pass = "PASSWORD-HERE";
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature DS18B20(&oneWire);
- char temperatureString1[6];
- char temperatureString2[6];
- // Pin
- int led_pin = 14;
- int relay_pin = 0;
- //Variable to save readed channel state
- WiFiClient client;
- void setup(void){
- Serial.begin(115200);
- Serial.println("");
- WiFi.begin(ssid, pass);
- // Wait for connection
- while (WiFi.status() != WL_CONNECTED) {
- delay(100);
- Serial.print(".");
- }
- Serial.println("");
- Serial.print("Connected to ");
- Serial.println(ssid);
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
- DS18B20.begin();
- // Prepare GPIO-14
- pinMode(led_pin, OUTPUT);
- digitalWrite(led_pin, 1);
- // Prepare GPIO-0
- pinMode(relay_pin, OUTPUT);
- digitalWrite(led_pin, 1);
- }
- float getTemperature1() {
- float temp1;
- do {
- DS18B20.requestTemperatures();
- temp1 = DS18B20.getTempCByIndex(0);
- delay(100);
- } while (temp1 == 85.0 || temp1 == (-127.0));
- return temp1;
- }
- float getTemperature2() {
- float temp2;
- do {
- DS18B20.requestTemperatures();
- temp2 = DS18B20.getTempCByIndex(1);
- delay(100);
- } while (temp2 == 85.0 || temp2 == (-127.0));
- return temp2;
- }
- void loop() {
- // Flashing a LED to check the ESp8266 run state
- digitalWrite(led_pin, 0);
- delay(3000);
- digitalWrite(led_pin, 1);
- delay(200);
- float temperature1 = getTemperature1();
- dtostrf(temperature1, 2, 2, temperatureString1);
- // send temperature to the serial console
- //Serial.print("0: ");
- //Serial.println(temperatureString1);
- float temperature2 = getTemperature2();
- dtostrf(temperature2, 2, 2, temperatureString2);
- // send temperature to the serial console
- //Serial.print("1: ");
- //Serial.println(temperatureString2);
- Serial.print("Temperature1: ");
- Serial.println(temperatureString1);
- Serial.print("Temperature2: ");
- Serial.println(temperatureString2);
- WiFiClient client;
- const int httpPort = 80;
- if (!client.connect(host, httpPort)) {
- Serial.println("connection failed");
- return;
- }
- client.print(String("GET ") + path1 + temperatureString1 + path2 + temperatureString2 + " HTTP/1.1\r\n" +
- "Host: " + host + "\r\n" +
- "Connection: keep-alive\r\n\r\n");
- delay(500);
- // if you get a connection, report back via serial:
- //if (client.connect(readhost, 80)) {
- //Serial.println("connected");
- // Make a HTTP request:
- client.println("GET /test/bulb-info/room.txt HTTP/1.0");
- client.println();
- //while(client.available()){
- //String line = client.readStringUntil('\r');
- char line = client.read();
- //int line = client.read();
- Serial.print(line);
- if(line == 49){
- digitalWrite(relay_pin, HIGH);
- } else {
- digitalWrite(relay_pin, LOW);
- }
- //}
- //}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement