From 3bcdf8d8b5864c35884ed56ab3e6a55e5fb975e2 Mon Sep 17 00:00:00 2001 From: biver Date: Tue, 1 Feb 2022 13:26:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B5=D0=BB=D0=B0=D0=B5=D0=BC=20Ds18b20?= =?UTF-8?q?=20=D1=81=20=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=BE=D0=B9=20=D0=B1?= =?UTF-8?q?=D1=83=D0=BA=D0=B2=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_svelte/config.json | 12 ++++++++++++ src/modules/API.cpp | 4 ++-- src/modules/ds18b20.cpp | 14 +++++++------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/data_svelte/config.json b/data_svelte/config.json index 583d056b..2afecbd8 100644 --- a/data_svelte/config.json +++ b/data_svelte/config.json @@ -11,5 +11,17 @@ "multiply": 1, "pin": 0, "int": 15 + }, + { + "type": "Reading", + "subtype": "Ds18b20", + "id": "tmp", + "widget": "anydataTmp", + "page": "Сенсоры", + "descr": "Температура", + "int": 15, + "pin": 0, + "index": 0, + "addr": "" } ] \ No newline at end of file diff --git a/src/modules/API.cpp b/src/modules/API.cpp index 0812e534..37ef8ec3 100644 --- a/src/modules/API.cpp +++ b/src/modules/API.cpp @@ -3,7 +3,7 @@ //============================================================================================ //здесь скопируйте строку и вставьте ниже, заменив имя AnalogAdc на название вашего сенсора void* getAPI_AnalogAdc(String subtype, String params); -void* getAPI_ds18b20(String subtype, String params); +void* getAPI_Ds18b20(String subtype, String params); //============================================================================================ void* getAPI(String subtype, String params) { @@ -11,7 +11,7 @@ void* getAPI(String subtype, String params) { //=============================================================================================================== //здесь нужно скопировать строку еще раз и вставить ее ниже, переименовав AnalogAdc на название вашего сенсора if ((tmpAPI = getAPI_AnalogAdc(subtype, params)) != nullptr) return tmpAPI; - if ((tmpAPI = getAPI_ds18b20(subtype, params)) != nullptr) return tmpAPI; + if ((tmpAPI = getAPI_Ds18b20(subtype, params)) != nullptr) return tmpAPI; //================================================================================================================ return nullptr; diff --git a/src/modules/ds18b20.cpp b/src/modules/ds18b20.cpp index c227dc2c..628ec0bb 100644 --- a/src/modules/ds18b20.cpp +++ b/src/modules/ds18b20.cpp @@ -9,7 +9,7 @@ std::map oneWireTemperatureArray; std::map sensorsTemperatureArray; -class ds18b20 : public IoTSensor { +class Ds18b20 : public IoTSensor { private: //для работы библиотеки с несколькими линиями необходимо обеспечить каждый экземпляр класса ссылками на объекты настроенные на эти линии OneWire* oneWire; @@ -27,7 +27,7 @@ class ds18b20 : public IoTSensor { //Такие как ...begin и подставлять в них параметры полученные из web интерфейса. //Все параметры хранятся в перемененной parameters, вы можете прочитать любой параметр используя jsonRead функции: // jsonReadStr, jsonReadBool, jsonReadInt - ds18b20(String parameters): IoTSensor(parameters) { + Ds18b20(String parameters): IoTSensor(parameters) { _pin = jsonReadInt(parameters, "pin"); _index = jsonReadInt(parameters, "index"); @@ -79,15 +79,15 @@ class ds18b20 : public IoTSensor { } //======================================================================================================= - ~ds18b20(){}; + ~Ds18b20(){}; }; //после замены названия сенсора, на функцию можно не обращать внимания //если сенсор предполагает использование общего объекта библиотеки для нескольких экземпляров сенсора, то в данной функции необходимо предусмотреть -//создание и контроль соответствующих глобальных переменных (см. пример реализации сенсора ds18b20) -void* getAPI_ds18b20(String subtype, String param) { - if (subtype == F("ds18b20")) { - return new ds18b20(param); +//создание и контроль соответствующих глобальных переменных +void* getAPI_Ds18b20(String subtype, String param) { + if (subtype == F("Ds18b20")) { + return new Ds18b20(param); } else { return nullptr; }