mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
@@ -59,7 +59,7 @@
|
|||||||
"bootloader_qio_80m": "0x1000",
|
"bootloader_qio_80m": "0x1000",
|
||||||
"firmware": "0x10000",
|
"firmware": "0x10000",
|
||||||
"partitions": "0x8000",
|
"partitions": "0x8000",
|
||||||
"littlefs": "0x290000"
|
"littlefs": "0x310000"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "esp32_16mb",
|
"name": "esp32_16mb",
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
"tx": "TX пин",
|
"tx": "TX пин",
|
||||||
"rx": "RX пин",
|
"rx": "RX пин",
|
||||||
"speed": "Скорость UART",
|
"speed": "Скорость UART",
|
||||||
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17",
|
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17, для SoftwarwSerial в ESP32 line = -1",
|
||||||
"btn-uploadUI": "Формирует автоматически графический интерфейс на базе конфигурации и выгружает в экран. Занимает продолжительное время! (в разработке)"
|
"btn-uploadUI": "Формирует автоматически графический интерфейс на базе конфигурации и выгружает в экран. Занимает продолжительное время! (в разработке)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,17 +2,18 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "classes/IoTItem.h"
|
#include "classes/IoTItem.h"
|
||||||
|
|
||||||
#include "modules/sensors/UART/Uart.h"
|
///#include "modules/sensors/UART/Uart.h"
|
||||||
|
#include "classes/IoTUart.h"
|
||||||
|
|
||||||
#define READ_TIMEOUT 100
|
#define READ_TIMEOUT 100
|
||||||
|
|
||||||
class A02Distance : public IoTItem
|
class A02Distance : public IoTUart
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
public:
|
public:
|
||||||
A02Distance(String parameters) : IoTItem(parameters)
|
A02Distance(String parameters) : IoTUart(parameters)
|
||||||
{
|
{
|
||||||
if (myUART)
|
if (_myUART)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -20,7 +21,7 @@ public:
|
|||||||
//Периодическое выполнение программы, в int секунд, которые зададим в конфигурации
|
//Периодическое выполнение программы, в int секунд, которые зададим в конфигурации
|
||||||
void doByInterval()
|
void doByInterval()
|
||||||
{
|
{
|
||||||
if (myUART)
|
if (_myUART)
|
||||||
{
|
{
|
||||||
static uint8_t data[4];
|
static uint8_t data[4];
|
||||||
|
|
||||||
@@ -67,14 +68,14 @@ public:
|
|||||||
//Приём данных из COM порта
|
//Приём данных из COM порта
|
||||||
uint16_t recieve(uint8_t *resp, uint16_t len)
|
uint16_t recieve(uint8_t *resp, uint16_t len)
|
||||||
{
|
{
|
||||||
((SoftwareSerial *)myUART)->listen(); // Start software serial listen
|
((SoftwareSerial *)_myUART)->listen(); // Start software serial listen
|
||||||
unsigned long startTime = millis(); // Start time for Timeout
|
unsigned long startTime = millis(); // Start time for Timeout
|
||||||
uint8_t index = 0; // Bytes we have read
|
uint8_t index = 0; // Bytes we have read
|
||||||
while ((index < len) && (millis() - startTime < READ_TIMEOUT))
|
while ((index < len) && (millis() - startTime < READ_TIMEOUT))
|
||||||
{
|
{
|
||||||
if (myUART->available() > 0)
|
if (_myUART->available() > 0)
|
||||||
{
|
{
|
||||||
uint8_t c = (uint8_t)myUART->read();
|
uint8_t c = (uint8_t)_myUART->read();
|
||||||
resp[index++] = c;
|
resp[index++] = c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,11 @@
|
|||||||
"page": "Сенсоры",
|
"page": "Сенсоры",
|
||||||
"descr": "Дальность",
|
"descr": "Дальность",
|
||||||
"int": 5,
|
"int": 5,
|
||||||
"round": 1
|
"round": 1,
|
||||||
|
"tx": 17,
|
||||||
|
"rx": 16,
|
||||||
|
"line": 2,
|
||||||
|
"speed": 9600
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"about": {
|
"about": {
|
||||||
@@ -23,12 +27,18 @@
|
|||||||
"moduleVersion": "0.1",
|
"moduleVersion": "0.1",
|
||||||
"moduleDesc": "Позволяет получить дальность с ультрозвуковых датчиков A0221AU, A02YYUW",
|
"moduleDesc": "Позволяет получить дальность с ультрозвуковых датчиков A0221AU, A02YYUW",
|
||||||
"propInfo": {
|
"propInfo": {
|
||||||
"int": "Количество секунд между опросами датчика."
|
"int": "Количество секунд между опросами датчика.",
|
||||||
|
"tx": "TX пин",
|
||||||
|
"rx": "RX пин",
|
||||||
|
"speed": "Скорость UART",
|
||||||
|
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17, для SoftwarwSerial в ESP32 line = -1"
|
||||||
},
|
},
|
||||||
"title": "A0221AU, A02YYUW Ультразвуковой датчик дальности"
|
"title": "A0221AU, A02YYUW Ультразвуковой датчик дальности"
|
||||||
},
|
},
|
||||||
"defActive": true,
|
"defActive": true,
|
||||||
"usedLibs": {
|
"usedLibs": {
|
||||||
|
"esp32_4mb": [],
|
||||||
|
"esp32_4mb3f": [],
|
||||||
"esp8266_4mb": [],
|
"esp8266_4mb": [],
|
||||||
"esp8266_1mb": [],
|
"esp8266_1mb": [],
|
||||||
"esp8266_1mb_ota": [],
|
"esp8266_1mb_ota": [],
|
||||||
|
|||||||
@@ -6,8 +6,7 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "classes/IoTItem.h"
|
#include "classes/IoTItem.h"
|
||||||
|
|
||||||
//встроена в ядро для 8266, для 32 по этому же имени обращаемся к другой библиотеке plerup/EspSoftwareSerial
|
|
||||||
#include <SoftwareSerial.h>
|
|
||||||
|
|
||||||
extern IoTGpio IoTgpio;
|
extern IoTGpio IoTgpio;
|
||||||
|
|
||||||
@@ -15,7 +14,8 @@ extern IoTGpio IoTgpio;
|
|||||||
int rxPinCO2; // зеленый провод сенсора к прописаному по умолчанию D7 (GPIO13)
|
int rxPinCO2; // зеленый провод сенсора к прописаному по умолчанию D7 (GPIO13)
|
||||||
int txPinCO2; // синий провод сенсора к прописаному по умолчанию D6 (GPIO12)
|
int txPinCO2; // синий провод сенсора к прописаному по умолчанию D6 (GPIO12)
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
|
//встроена в ядро для 8266, для 32 по этому же имени обращаемся к другой библиотеке plerup/EspSoftwareSerial
|
||||||
|
#include <SoftwareSerial.h>
|
||||||
SoftwareSerial *swSerialCO2 = nullptr;
|
SoftwareSerial *swSerialCO2 = nullptr;
|
||||||
#endif
|
#endif
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
|
|||||||
@@ -80,9 +80,7 @@
|
|||||||
"usedLibs": {
|
"usedLibs": {
|
||||||
"esp32_4mb": [],
|
"esp32_4mb": [],
|
||||||
"esp32_4mb3f": [],
|
"esp32_4mb3f": [],
|
||||||
"esp32s2_4mb": [
|
"esp32s2_4mb": [],
|
||||||
"plerup/EspSoftwareSerial"
|
|
||||||
],
|
|
||||||
"esp32cam_4mb": [],
|
"esp32cam_4mb": [],
|
||||||
"esp8266_4mb": []
|
"esp8266_4mb": []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,6 +132,10 @@
|
|||||||
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом)",
|
"title": "Счетчик электроэнергии PZEM 004 t версии 3.0 (с модбасом)",
|
||||||
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры. Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem. Для работы обязателен модуль Pzem004uart",
|
"moduleDesc": "Считает потраченную электроэнергию, измеряет напряжение, частоту, силу тока и прочие параметры. Возможно подключение трех счетчиков к одной esp для трехфазных сетей. Для этого нужно настроить разные адреса modbus в платах pzem. Для работы обязателен модуль Pzem004uart",
|
||||||
"propInfo": {
|
"propInfo": {
|
||||||
|
"tx": "TX пин",
|
||||||
|
"rx": "RX пин",
|
||||||
|
"speed": "Скорость UART",
|
||||||
|
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17, для SoftwarwSerial в ESP32 line = -1",
|
||||||
"addr": "Адрес modbus",
|
"addr": "Адрес modbus",
|
||||||
"int": "Количество секунд между опросами датчика. Желателно устанавливать одинаковые интервалы для параметров (для одного адреса Pzem) что опрос происходил один раз, остальные из 500мс буфера.",
|
"int": "Количество секунд между опросами датчика. Желателно устанавливать одинаковые интервалы для параметров (для одного адреса Pzem) что опрос происходил один раз, остальные из 500мс буфера.",
|
||||||
"btn-changeaddr": " Будет установлен адрес указанный в setaddr. Смотрите в логе результат: [i] Pzem address set: 0x01 Новый адрес который нужно назначить",
|
"btn-changeaddr": " Будет установлен адрес указанный в setaddr. Смотрите в логе результат: [i] Pzem address set: 0x01 Новый адрес который нужно назначить",
|
||||||
|
|||||||
Reference in New Issue
Block a user