Initial versiob

This commit is contained in:
ftc
2022-09-07 23:11:20 +03:00
commit 9075fb1c03
6 changed files with 127 additions and 0 deletions
+81
View File
@@ -0,0 +1,81 @@
#include "DHT.h"
#include <ESP8266WiFi.h>
#include <ModbusIP_ESP8266.h>
#include "config.h"
#define DHTPIN 5
#define DHTTYPE DHT22
#define READ_INTERVAL 100
#define TCP_PORT 15000
IPAddress my_ip(MY_IP);
IPAddress gateway(MY_GW);
IPAddress subnet(MY_NET);
ModbusIP mb;
DHT dht(DHTPIN, DHTTYPE);
char id[64];
#define REGISTER_CURRENT_TEMP 0
#define REGISTER_CURRENT_HUM 1
int cur_t = 0;
int cur_hum = 0;
void setup()
{
Serial.begin(115200);
Serial.println("Initialised...");
pinMode(DHTPIN, INPUT);
dht.begin();
WiFi.mode(WIFI_STA);
WiFi.config(my_ip, gateway, subnet);
WiFi.setAutoReconnect(true);
WiFi.begin(WIFI_NAME, WIFI_PASS);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());
uint8_t macAddr[6];
WiFi.macAddress(macAddr);
sprintf(id, "%02x:%02x:%02x:%02x:%02x:%02x", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]);
Serial.printf("Connected, mac address: %s\n", id);
// Modbus init
mb.server(15000);
mb.addHreg(REGISTER_CURRENT_TEMP, cur_t);
mb.addHreg(REGISTER_CURRENT_HUM, cur_hum);
}
void UpdateDHTData()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
cur_hum = (int)(h * 100);
cur_t = (int)(t * 100);
}
unsigned long last_read = 0;
void loop()
{
unsigned long current = millis();
if (current < last_read || current - last_read >= READ_INTERVAL)
{
UpdateDHTData();
last_read = current;
}
mb.task();
mb.Hreg(REGISTER_CURRENT_TEMP, cur_t);
mb.Hreg(REGISTER_CURRENT_HUM, cur_hum);
}