#include #include #include #include #include // Modbus Registers Offsets (0-9999) const int TEST_HREG = 0; #define ONE_WIRE_BUS 0 // DS18B20 pin //D3 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature DS18B20(&oneWire); ModbusIP mb; bool led; void setup() { Serial.begin(115200); IPAddress ip(192,168,13,11); //Node static IP IPAddress gateway(192,168,13,254); IPAddress subnet(255,255,255,0); WiFi.config(ip, gateway, subnet); mb.config("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()); mb.addHreg(TEST_HREG); pinMode(BUILTIN_LED, OUTPUT); led=0; } void loop() { //Call once inside loop() - all magic here mb.task(); float temp; int tmpi; if (led==0) {led=1;digitalWrite(BUILTIN_LED, HIGH);} else {led=0;digitalWrite(BUILTIN_LED, LOW);} Serial.print("LED: "); Serial.println(led); do { DS18B20.requestTemperatures(); temp = DS18B20.getTempCByIndex(0); Serial.print("Temperature: "); Serial.println(temp); } while (temp == 85.0 ); tmpi=(int) (temp*100); mb.Hreg(TEST_HREG, tmpi); delay(2000); }