mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
A02Distance with IotUart
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
"tx": "TX пин",
|
||||
"rx": "RX пин",
|
||||
"speed": "Скорость UART",
|
||||
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17",
|
||||
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17, для SoftwarwSerial в ESP32 line = -1",
|
||||
"btn-uploadUI": "Формирует автоматически графический интерфейс на базе конфигурации и выгружает в экран. Занимает продолжительное время! (в разработке)"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
#include "Global.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
|
||||
|
||||
class A02Distance : public IoTItem
|
||||
class A02Distance : public IoTUart
|
||||
{
|
||||
private:
|
||||
public:
|
||||
A02Distance(String parameters) : IoTItem(parameters)
|
||||
A02Distance(String parameters) : IoTUart(parameters)
|
||||
{
|
||||
if (myUART)
|
||||
if (_myUART)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -20,7 +21,7 @@ public:
|
||||
//Периодическое выполнение программы, в int секунд, которые зададим в конфигурации
|
||||
void doByInterval()
|
||||
{
|
||||
if (myUART)
|
||||
if (_myUART)
|
||||
{
|
||||
static uint8_t data[4];
|
||||
|
||||
@@ -67,14 +68,14 @@ public:
|
||||
//Приём данных из COM порта
|
||||
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
|
||||
uint8_t index = 0; // Bytes we have read
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,11 @@
|
||||
"page": "Сенсоры",
|
||||
"descr": "Дальность",
|
||||
"int": 5,
|
||||
"round": 1
|
||||
"round": 1,
|
||||
"tx": 17,
|
||||
"rx": 16,
|
||||
"line": 2,
|
||||
"speed": 9600
|
||||
}
|
||||
],
|
||||
"about": {
|
||||
@@ -23,12 +27,18 @@
|
||||
"moduleVersion": "0.1",
|
||||
"moduleDesc": "Позволяет получить дальность с ультрозвуковых датчиков A0221AU, A02YYUW",
|
||||
"propInfo": {
|
||||
"int": "Количество секунд между опросами датчика."
|
||||
"int": "Количество секунд между опросами датчика.",
|
||||
"tx": "TX пин",
|
||||
"rx": "RX пин",
|
||||
"speed": "Скорость UART",
|
||||
"line": "Актуально только для ESP32: номер линии hardUART. =2 rx=16 tx=17, для SoftwarwSerial в ESP32 line = -1"
|
||||
},
|
||||
"title": "A0221AU, A02YYUW Ультразвуковой датчик дальности"
|
||||
},
|
||||
"defActive": true,
|
||||
"usedLibs": {
|
||||
"esp32_4mb": [],
|
||||
"esp32_4mb3f": [],
|
||||
"esp8266_4mb": [],
|
||||
"esp8266_1mb": [],
|
||||
"esp8266_1mb_ota": [],
|
||||
|
||||
Reference in New Issue
Block a user