One Wire วัดอุณหภูมิ แบริ่ง มอเตอร์ พัดลม
เป็นการทดสอบการต่อ OneWire 4 ตัว เข้าที่ขา 4 และ 14 ขาละ 2 ตัว
/* * This sketch sends data via HTTP GET requests to data.sparkfun.com service. * * You need to get streamId and privateKey at data.sparkfun.com and paste them * below. Or just customize this script to talk to other HTTP servers. * Set board NodeMCU-32S pr ESP32 Dev Module * Set Programmer AVRISP mkll */ // Use 3V3 GIOP 2 ESP32 Dev Module // Programmer AVRSIP mkll #include <Adafruit_Sensor.h> /********* Rui Santos Complete project details at https://RandomNerdTutorials.com *********/ #include <OneWire.h> #include <DallasTemperature.h> // GPIO where the DS18B20 is connected to const int oneWireBus1 = 4; const int oneWireBus2 = 14; // Setup a oneWire instance to communicate with any OneWire devices OneWire oneWire1(oneWireBus1); OneWire oneWire2(oneWireBus2); // Pass our oneWire reference to Dallas Temperature sensor DallasTemperature sensors1(&oneWire1); DallasTemperature sensors2(&oneWire2); //========= #include <WiFi.h> //====== //==== //const char* ssid = "AndridsfsdodAP"; //const char* password = "nhdlsdfsd8613"; //const char* ssid = "Arsesdfsdnalsdfsd2019_2.4G"; //const char* password = "kb75699sdfsd212"; const char* ssid = "dlsddfsdfink_DfddWR-932C_0C4E"; const char* password = "gkyVD3sdfs5784"; //const char* ssid = "AndrdfsdfoidAP-J7"; //const char* password = "brasfsdfw5645"; const char* host = "otrixiot.com"; const char* code = "xxx-xxx"; const char* dID = "xxx"; float tempC_0 = 0; float tempF_0=0; float fan_c = 0; float fan_f =0; float pulley_c=0; float pulley_f=0; float motor_NDE_c =0; float motor_NDE_f=0; float motor_DE_c=0; float motor_DE_f=0; float humid_0 = 0; float vHumidity = 0; float vTemperature = 0; float data1=0; float data2=0; float data3=0; float data4=0; float data5=0; float data6=0; float data7=0; float data8=0; float data9=0; float data10=0; float data11=0; float data12=0; float data13=0; float data14=0; float data15=0; float data16=0; float data17=0; float data18=0; float data19=0; float data20=0; float temperatureC=30; float temperatureF=75; /* void setup_Sensor_Box_Temperature() { dht.begin(); } */ /// === void ds18b20_setup() { // Start the Serial Monitor Serial.begin(115200); // Start the DS18B20 sensor sensors1.begin(); sensors2.begin(); } // Main setup ======== void setup() { Serial.begin(115200); ds18b20_setup(); delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } int value = 0; void loop() { delay(5000); ds18b20_loop(); // scanSensor_Box_Temperature(); //data1 = vTemperature; ++value; data1 = fan_c; data2 = pulley_c; data3 = motor_NDE_c; data4 = motor_DE_c; Serial.print("connecting to "); Serial.println(host); // Use WiFiClient class to create TCP connections WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } // We now create a URI for the request String url = "/api/insesdcsdrtData?device_id=" + String(dID)+"&code="+String(code)+"&data1=" +String(data1) +"&data2=" + String(data2)+"&data3=" +String(data3)+"&data4=" +String(data4)+"&data5=" +String(data5) +"&data6=" +String(data6)+"&data7=" +String(data7)+"&data8=" +String(data8)+"&data9=" +String(data9) +"&data10=" +String(data10)+"&data11=" +String(data11)+"&data12=" +String(data12)+"&data13=" +String(data13) +"&data14=" +String(data14)+"&data15=" +String(data15)+"&data16=" +String(data16)+"&data17=" +String(data17) +"&data18=" +String(data18)+"&data19=" +String(data19)+"&data20=" +String(data20); Serial.print("Requesting URL: "); Serial.println(url); // This will send the request to the server client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); //unsigned long timeout = millis(); delay(1000); while (client.available() == 0) { Serial.println(">>> Client Timeout !"); client.stop(); return; } // Read all the lines of the reply from server and print them to Serial while(client.available()) { String line = client.readStringUntil('\r'); //Serial.print(line); } Serial.println(); Serial.println("closing connection"); delay(30000); } //==== void ds18b20_loop() { sensors1.requestTemperatures(); float fanbearing_c = sensors1.getTempCByIndex(0); float pulley_bearing_c = sensors1.getTempCByIndex(1); float motorNDE_c = sensors2.getTempCByIndex(0); float motorDE_c = sensors2.getTempCByIndex(1); Serial.print(fanbearing_c); Serial.println("ºC"); Serial.print(pulley_bearing_c); Serial.println("ºF"); delay(5000); fan_c = fanbearing_c; pulley_c=pulley_bearing_c; motor_NDE_c=motorNDE_c; motor_DE_c=motorDE_c; } //====