mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
1mb
This commit is contained in:
@@ -17,22 +17,16 @@
|
||||
|
||||
//===========FileSystem==============================================================================================================================================
|
||||
#define littlefs_on
|
||||
|
||||
//==================================================================================================================================================================
|
||||
#define NUM_BUTTONS 6
|
||||
#define LED_PIN 2
|
||||
|
||||
//===========MQTT=================================================================================================================================================
|
||||
#define MQTT_RECONNECT_INTERVAL 20000
|
||||
|
||||
//==========Telemetry=============================================================================================================================================
|
||||
#define TELEMETRY_UPDATE_INTERVAL_MIN 60
|
||||
|
||||
//=========Configuration==========================================================================================================================================
|
||||
#define DEVICE_CONFIG_FILE "s.conf.csv"
|
||||
#define DEVICE_SCENARIO_FILE "s.scen.txt"
|
||||
|
||||
|
||||
//=========System parts===========================================================================================================================================
|
||||
//#define OTA_UPDATES_ENABLED
|
||||
//#define MDNS_ENABLED
|
||||
@@ -40,17 +34,14 @@
|
||||
//#define LAYOUT_IN_RAM
|
||||
//#define UDP_ENABLED
|
||||
//#define SSDP_ENABLED
|
||||
|
||||
//=========Sensors enable/disable=================================================================================================================================
|
||||
#define SensorBme280Enabled
|
||||
#define SensorBmp280Enabled
|
||||
#define SensorDhtEnabled
|
||||
#define PwmOutEnable
|
||||
//#define SensorModbusEnabled
|
||||
|
||||
//=========others=================================================================================================================================
|
||||
//#define telegram
|
||||
//#define uartEnable
|
||||
//=========Features=================================================================================================================================
|
||||
//#define telegramEnable
|
||||
#define uartEnable
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
//===================Libraries===================================================================================================================================================
|
||||
#include "Consts.h"
|
||||
#include <Adafruit_BME280.h>
|
||||
#include <Adafruit_BMP280.h>
|
||||
#include <Arduino.h>
|
||||
@@ -15,14 +16,13 @@
|
||||
#include <TickerScheduler.h>
|
||||
#include <Wire.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "Clock.h"
|
||||
#include "Consts.h"
|
||||
#include "ESP32.h"
|
||||
#include "ESP8266.h"
|
||||
#include "GyverFilters.h"
|
||||
#include "MqttClient.h"
|
||||
#include "Upgrade.h"
|
||||
|
||||
#include "Utils/FileUtils.h"
|
||||
#include "Utils/JsonUtils.h"
|
||||
#include "Utils/SerialPrint.h"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include "Consts.h"
|
||||
#ifdef uartEnable
|
||||
#include "SoftwareSerial.h"
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#ifdef telegram
|
||||
#include "Consts.h"
|
||||
#ifdef telegramEnable
|
||||
#include "Global.h"
|
||||
|
||||
extern void sendTelegramMsg();
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
#pragma once
|
||||
#include "Consts.h"
|
||||
#ifdef SensorModbusEnabled
|
||||
#include <Arduino.h>
|
||||
#include <ModbusMaster.h>
|
||||
#include <SoftwareSerial.h>
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
#include "items/SensorConvertingClass.h"
|
||||
|
||||
ModbusMaster modbus1;
|
||||
SoftwareSerial uart(13, 12); // RX, TX
|
||||
|
||||
class SensorModbusClass : public SensorConvertingClass {
|
||||
public:
|
||||
SensorModbusClass() : SensorConvertingClass(){};
|
||||
|
||||
void SensorModbusInit() {
|
||||
uart.begin(9600);
|
||||
jsonWriteStr(configOptionJson, _key + "_map", _map);
|
||||
jsonWriteStr(configOptionJson, _key + "_с", _c);
|
||||
sensorReadingMap10sec += _key + " " + _addr + " " + _reg + ",";
|
||||
Serial.println(sensorReadingMap10sec);
|
||||
}
|
||||
|
||||
void SensorModbusRead(String key, uint8_t slaveAddress, uint16_t regAddress) {
|
||||
int value;
|
||||
|
||||
modbus1.begin(slaveAddress, uart);
|
||||
uint16_t reqisterValue = modbus1.readHoldingRegisters(regAddress, 1);
|
||||
if (getResultMsg(&modbus1, reqisterValue)) {
|
||||
reqisterValue = modbus1.getResponseBuffer(0);
|
||||
value = reqisterValue;
|
||||
} else {
|
||||
value = NULL;
|
||||
}
|
||||
|
||||
int valueFl = this->correction(key, value);
|
||||
eventGen2(key, String(valueFl));
|
||||
jsonWriteStr(configLiveJson, key, String(valueFl));
|
||||
publishStatus(key, String(valueFl));
|
||||
SerialPrint("I", "Sensor", "'" + key + "' data: " + String(valueFl) + ", Slave dev addr: " + String(slaveAddress) + ", Register: " + String(regAddress));
|
||||
}
|
||||
|
||||
bool getResultMsg(ModbusMaster* modbus1, uint16_t result) {
|
||||
String tmpstr;
|
||||
switch (result) {
|
||||
case modbus1->ku8MBSuccess:
|
||||
return true;
|
||||
tmpstr += "Ok";
|
||||
break;
|
||||
case modbus1->ku8MBIllegalFunction:
|
||||
tmpstr += "Illegal Function";
|
||||
break;
|
||||
case modbus1->ku8MBIllegalDataAddress:
|
||||
tmpstr += "Illegal Data Address";
|
||||
break;
|
||||
case modbus1->ku8MBIllegalDataValue:
|
||||
tmpstr += "Illegal Data Value";
|
||||
break;
|
||||
case modbus1->ku8MBSlaveDeviceFailure:
|
||||
tmpstr += "Slave Device Failure";
|
||||
break;
|
||||
case modbus1->ku8MBInvalidSlaveID:
|
||||
tmpstr += "Invalid Slave ID";
|
||||
break;
|
||||
case modbus1->ku8MBInvalidFunction:
|
||||
tmpstr += "Invalid Function";
|
||||
break;
|
||||
case modbus1->ku8MBResponseTimedOut:
|
||||
tmpstr += "Response Timed Out";
|
||||
break;
|
||||
case modbus1->ku8MBInvalidCRC:
|
||||
tmpstr += "Invalid CRC";
|
||||
break;
|
||||
default:
|
||||
tmpstr += "Unknown error: " + String(result);
|
||||
break;
|
||||
}
|
||||
SerialPrint("I", "Modbus", tmpstr);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
extern SensorModbusClass mySensorModbus;
|
||||
|
||||
extern void modbus();
|
||||
extern void modbusReading();
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user