NodeMCU V3 + RemoteXY + FLProg

Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

Здравствуйте
воюю уже много часов, постепенно отсоединяя и упрощая то, что мне изначально было необходимо.
Теперь требуется самое простое: включать встроенный в ESP светодиод с кнопки на телефоне (remotexy)
вот схема в Flprog
flpr.jpg
вот экран телефона в remoteXY
rem.jpg
вот скетч, генерируемый flprog
pr11.ino
По факту - связь по wifi устанавливается, приложение соединяется. Что интересно, обратная связь при изменении состояния выключателя включает виртуальный индикатор на экране смартфона, но на плате ESP ничего не включается (равно как не работает все что подключал, ни адресная лента ни светодиоды).
з.ы. схема в FLprog такая многовыходная, потому что я грешил на китайскую распиновку и "бил по площадям".
Платки в наличии 4 штуки, 2 от одного китайца, две от другого. По всем всё одинаково.
Куда копать, уважаемые?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
nic103
Рядовой
Сообщения: 16
Зарегистрирован: 08 дек 2016, 16:56
Откуда: Назарово
Имя: Сергей
Благодарил (а): 6 раз
Поблагодарили: 2 раза

NodeMCU V3 + RemoteXY + FLProg

Сообщение nic103 »

Привет! Выкинь пока лишние вывода особенно GPIO16. Почитай про вывода https://codedevice.ru/archives/1328
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 25 окт 2019, 15:15
Куда копать, уважаемые?
Попробуй от сюда и пока без облака[spoiler]
проба.flp
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

[ref]SergeyShikal[/ref], ё-моё, низкий поклон, добрый человек! Сначала попробовал с точкой доступа - работает! Потом в вашей же программе поменял на облако и о чудо! состояние светодиода меняется! Похоже я тупо не разобрался с пинами..
Теперь дело за подключением WS2812b. На какую ногу лучше вешать?
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 25 окт 2019, 19:58 [ref]SergeyShikal[/ref], ё-моё, низкий поклон, добрый человек! Сначала попробовал с точкой доступа - работает! Потом в вашей же программе поменял на облако и о чудо! состояние светодиода меняется! Похоже я тупо не разобрался с пинами..
Теперь дело за подключением WS2812b. На какую ногу лучше вешать?
GPIO-4 (D2)
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

SergeyShikal писал(а): 26 окт 2019, 03:30 GPIO-4 (D2)
именно так вчера и сделал, но опять затык... Насколько хватило ума добавил пользовательские блоки для WS2812b (раньше с ними всё делал - без проблем). Теперь вот простенькая схема в FLprog, а ЕСП дурит. Встроенный диод напрочь перестал реагировать на свич, а лента (один диод) светит при каждом включении рандомным цветом, чаще зеленым. Чудесным образом пару включений начинала нормально реагировать на RGB ползунки в телефоне, но недолго, секунд 10 и ЕСП опять падала в перезагрузку. Опять в упор не вижу свою ошибку. Прошу прощения за дилетантские вопросы.
flp2.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 26 окт 2019, 09:44
SergeyShikal писал(а): 26 окт 2019, 03:30 GPIO-4 (D2)
именно так вчера и сделал, но опять затык... Насколько хватило ума добавил пользовательские блоки для WS2812b (раньше с ними всё делал - без проблем). Теперь вот простенькая схема в FLprog, а ЕСП дурит. Встроенный диод напрочь перестал реагировать на свич, а лента (один диод) светит при каждом включении рандомным цветом, чаще зеленым. Чудесным образом пару включений начинала нормально реагировать на RGB ползунки в телефоне, но недолго, секунд 10 и ЕСП опять падала в перезагрузку. Опять в упор не вижу свою ошибку. Прошу прощения за дилетантские вопросы.
flp2.jpg
Скинь свой проект
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

SergeyShikal писал(а): 26 окт 2019, 10:03 Скинь свой проект
то есть сгенерированный код для IDE? вот он
[spoiler]#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
#include <Adafruit_NeoPixel.h>

extern "C" {
#include "user_interface.h";
}
#define REMOTEXY_WIFI_SSID "VitaliNadin"
#define REMOTEXY_WIFI_PASSWORD "27072017"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "мой токен"
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {4, 1, 34, 0, 8, 24, 1, 2, 0, 5, 83, 28, 13, 2, 26, 31, 16, 79, 78, 0, 79, 70, 70, 0, 65, 4, 45, 83, 12, 12, 6, 0, 3, 5, 57, 57, 2, 26};
struct {
unsigned char switch_1;
unsigned char rgb_1_r;
unsigned char rgb_1_g;
unsigned char rgb_1_b;
unsigned char led_1_r;
unsigned char connect_flag;
} RemoteXY;
#pragma pack(pop)
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
Adafruit_NeoPixel strip= Adafruit_NeoPixel(64, D4, NEO_GRB + NEO_KHZ800);
bool En_26897752_2;
int Num_Led_26897752_2;
byte Brightness_26897752_2;
byte Led_R_26897752_2;
byte Led_G_26897752_2;
byte Led_B_26897752_2;
byte Led_W_26897752_2;
extern "C" {
#include "user_interface.h"
}
os_timer_t watchDogTimer;
int _PWDC = 0;
bool ESP8266ControllerWifiClient_HRD = 0;
bool ESP8266ControllerWifiClient_status = 1;
char ESP8266ControllerWifiAP_SSID[40] = "raz";
char ESP8266ControllerWifiAP_password[40] = "";
bool ESP8266ControllerWifiAP_IsNeedReconect = 0;
bool ESP8266ControllerWifiAP_workStatus = 1;
IPAddress ESP8266ControllerWifiAP_ip(0, 0, 0, 0);
IPAddress ESP8266ControllerWifiAP_dns (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiAP_gateway (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiAP_subnet (255, 255, 255, 0);
uint8_t ESP8266ControllerWifiAP_mac[6] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
bool ESP8266ControllerWifiClient_isDHCP = 1;
bool ESP8266ControllerWifiClient_IsNeedReconect = 0;
bool ESP8266ControllerWifiClient_workStatus = 1;
char ESP8266ControllerWifiClient_SSID[40] = "VitaliNadin";
char ESP8266ControllerWifiClient_password[40] = "27072017";
IPAddress ESP8266ControllerWifiClient_ip(0, 0, 0, 0);
IPAddress ESP8266ControllerWifiClient_dns (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiClient_gateway (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiClient_subnet (255, 255, 255, 0);
uint8_t ESP8266ControllerWifiClient_mac[6] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
bool _gtv1;
int _gtv2;
int _gtv3;
int _gtv4;
int _swi1;
void setup()
{
RemoteXY_Init ();
WiFi.mode(WIFI_AP_STA);
_esp8266WifiModuleClientReconnect();
_esp8266WifiModuleApReconnect();
satrtWachDogTimer();
pinMode(2, OUTPUT);

strip.begin(); // Инициализация NeoPixel library.
strip.show(); // Устанавливаем все светодиоды в состояние "Выключено"

}
void loop()
{RemoteXY_Handler ();
_PWDC = 0;
if(ESP8266ControllerWifiAP_IsNeedReconect) {_esp8266WifiModuleApReconnect(); ESP8266ControllerWifiAP_IsNeedReconect = 0; }
if(ESP8266ControllerWifiClient_IsNeedReconect) {_esp8266WifiModuleClientReconnect(); ESP8266ControllerWifiClient_IsNeedReconect = 0; }
ESP8266ControllerWifiClient_status = WiFi.status() == WL_CONNECTED;
if (ESP8266ControllerWifiClient_status) { if ( ! ESP8266ControllerWifiClient_HRD) { ESP8266ControllerWifiClient_ip = WiFi.localIP();
ESP8266ControllerWifiClient_subnet = WiFi.subnetMask();
ESP8266ControllerWifiClient_gateway = WiFi.gatewayIP();
ESP8266ControllerWifiClient_dns = WiFi.dnsIP();
WiFi.macAddress(ESP8266ControllerWifiClient_mac);
ESP8266ControllerWifiClient_HRD = 1;
}} else {ESP8266ControllerWifiClient_HRD = 0;}





//Плата:1

if(_gtv1)
{_swi1=255;}
else
{_swi1=0;}
RemoteXY.led_1_r = _swi1;
_gtv4 = (RemoteXY.rgb_1_b);
_gtv3 = (RemoteXY.rgb_1_g);
_gtv2 = (RemoteXY.rgb_1_r);
En_26897752_2 = (RemoteXY.switch_1);
Num_Led_26897752_2 = 0;
Brightness_26897752_2 = 100;
Led_R_26897752_2 = (byte(_gtv2));
Led_G_26897752_2 = (byte(_gtv3));
Led_B_26897752_2 = (byte(_gtv4));
Led_W_26897752_2 = 0;
if ( En_26897752_2 == 1)
{
strip.setBrightness(Brightness_26897752_2);
strip.setPixelColor(Num_Led_26897752_2, strip.Color(Led_R_26897752_2, Led_G_26897752_2, Led_B_26897752_2, Led_W_26897752_2 ) );
strip.show();
}
else
{
strip.setPixelColor(Num_Led_26897752_2, strip.Color(0, 0, 0, 0 ) );
strip.show();
};

_gtv1 = (RemoteXY.switch_1);
digitalWrite(2, !((RemoteXY.switch_1)));




}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}

void wachDogTimerTick(void *pArg) {
if (_PWDC >= 100){ ESP.reset(); }else{_PWDC = _PWDC+1;}
}
void satrtWachDogTimer(void ) {
os_timer_setfn(&watchDogTimer, wachDogTimerTick, NULL);
os_timer_arm(&watchDogTimer, 100, true);
}
int hexStrToInt(String instring)
{
byte len = instring.length();
if (len == 0) return 0;
int result = 0;
for (byte i = 0; i < 8; i++) // только первые 8 цыфар влезуть в uint32
{
char ch = instring;
if (ch == 0) break;
result <<= 4;
if (isdigit(ch))
result = result | (ch - '0');
else result = result | (ch - 'A' + 10);
}
return result;
}
void _esp8266WifiModuleApReconnect()
{
if ( _checkMacAddres(ESP8266ControllerWifiAP_mac)) {
wifi_set_macaddr(1, const_cast<uint8*>(ESP8266ControllerWifiAP_mac));
}
WiFi.softAPConfig(ESP8266ControllerWifiAP_ip, ESP8266ControllerWifiAP_gateway, ESP8266ControllerWifiAP_subnet);
WiFi.softAP(ESP8266ControllerWifiAP_SSID, ESP8266ControllerWifiAP_password);
if ( ! (_checkMacAddres(ESP8266ControllerWifiAP_mac))) {
WiFi.softAPmacAddress(ESP8266ControllerWifiAP_mac);
}
}
void _esp8266WifiModuleClientReconnect()
{
if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) { wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}
if( ESP8266ControllerWifiClient_isDHCP) { WiFi.config(0U, 0U, 0U, 0U, 0U); } else {
WiFi.config(ESP8266ControllerWifiClient_ip, ESP8266ControllerWifiClient_gateway, ESP8266ControllerWifiClient_subnet, ESP8266ControllerWifiClient_dns , ESP8266ControllerWifiClient_dns );
}
WiFi.begin(ESP8266ControllerWifiClient_SSID, ESP8266ControllerWifiClient_password);
}
bool _checkMacAddres(byte array[])
{
bool result = 0;
for (byte i = 0; i < 6; i++)
{
if (array == 255) {
return 0;
}
if (array > 0 ) {
result = 1;
}
}
return result;
}[/spoiler]
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

NodeMCU V3 + RemoteXY + FLProg

Сообщение EgorKa »

Mozgoklui писал(а): 27 окт 2019, 12:49 то есть сгенерированный код для IDE? вот он
Вы сам то понимаете этот код? Это форум FlProg и проект логично выкладывать flp :yes: если бы знали как делать в IDE то здесь бы не присутствовали так же как и Вы :yes:
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

EgorKa писал(а): 27 окт 2019, 14:52 Вы сам то понимаете этот код? Это форум FlProg и проект логично выкладывать flp если бы знали как делать в IDE то здесь бы не присутствовали так же как и Вы
Сорри, я подтупливаю)))
В общем я устал возиться с RemoteXY и попробовал Blynk. Вот где вещь! Блоков с данного форума хватило на все мои хотелки. Всё работает четко и как надо!
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 27 окт 2019, 15:01 Сорри, я подтупливаю)))
В общем я устал возиться с RemoteXY и попробовал Blynk. Вот где вещь! Блоков с данного форума хватило на все мои хотелки. Всё работает четко и как надо!
С чем бороться, в флпрог штатные блоки соединить, кроме как от ленты ws2812
проба1.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
vovka1973
Подполковник
Сообщения: 1202
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan
Благодарил (а): 32 раза
Поблагодарили: 6 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение vovka1973 »

Mozgoklui писал(а): 27 окт 2019, 15:01 и попробовал Blynk
а где вы их взяли, можно ссылку?
Изображение
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

vovka1973 писал(а): 27 окт 2019, 15:50 а где вы их взяли, можно ссылку?
я из разных веток насобирал, лучше все выложу сюда:
Blynk_ESP_BASE_(CODE).ubi
OTA_Blynk_(CODE).ubi
Из_Blynk_boolean_(CODE).ubi
Из_Blynk_Integer_(CODE).ubi
оповещение_о_подключение_(CODE).ubi
Отправка_float_в__Blynk_(CODE).ubi
Отправка_integer_в_Blunk_(CODE).ubi
Отправка_string_в__Blynk_(CODE).ubi
Отправлено спустя 3 минуты 17 секунд:
SergeyShikal писал(а): 27 окт 2019, 15:18 С чем бороться, в флпрог штатные блоки соединить, кроме как от ленты ws2812
Да я понимаю, очень просто всё звучит, но у меня почему-то не работало (скорее всего мои руки и виноваты). А в блынке сходу все работает.
Немного не по теме, подскажите пожалуйста из каких блоков флпрог соорудить логику включения/выключения одной лампочки с двух кнопок, при том что одна из кнопок с обратной связью (индикатор состояния)?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 27 окт 2019, 16:53 Да я понимаю, очень просто всё звучит, но у меня почему-то не работало (скорее всего мои руки и виноваты). А в блынке сходу все работает.
Немного не по теме, подскажите пожалуйста из каких блоков флпрог соорудить логику включения/выключения одной лампочки с двух кнопок, при том что одна из кнопок с обратной связью (индикатор состояния)?
[spoiler]
Безымянный.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

[ref]SergeyShikal[/ref], неужто всё так просто.. а если обратная связь это отдельный блок? (отправка int в blynk)
я уже такие небоскрёбы городил из триггеров, компараторов и прочего, но логика неправильная, то кнопка не отображает состояние светодиода, то физическая кнопка не влияет на состояние...
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение SergeyShikal »

Mozgoklui писал(а): 27 окт 2019, 17:15 [ref]SergeyShikal[/ref], неужто всё так просто.. а если обратная связь это отдельный блок?
Используй переменные
vovka1973
Подполковник
Сообщения: 1202
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan
Благодарил (а): 32 раза
Поблагодарили: 6 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение vovka1973 »

Mozgoklui писал(а): 27 окт 2019, 16:53
vovka1973 писал(а): 27 окт 2019, 15:50 а где вы их взяли, можно ссылку?
я из разных веток насобирал, лучше все выложу сюда:
Blynk_ESP_BASE_(CODE).ubiOTA_Blynk_(CODE).ubiИз_Blynk_boolean_(CODE).ubiИз_Blynk_Integer_(CODE).ubiоповещение_о_подключение_(CODE).ubiОтправка_float_в__Blynk_(CODE).ubiОтправка_integer_в_Blunk_(CODE).ubiОтправка_string_в__Blynk_(CODE).ubi

Отправлено спустя 3 минуты 17 секунд:
SergeyShikal писал(а): 27 окт 2019, 15:18 С чем бороться, в флпрог штатные блоки соединить, кроме как от ленты ws2812
Да я понимаю, очень просто всё звучит, но у меня почему-то не работало (скорее всего мои руки и виноваты). А в блынке сходу все работает.
Немного не по теме, подскажите пожалуйста из каких блоков флпрог соорудить логику включения/выключения одной лампочки с двух кнопок, при том что одна из кнопок с обратной связью (индикатор состояния)?
хотел попробовать сделал проект два реле на ноде мсу ,не подключается к моей сети и я ее не вижу как подключеной, тот же проект но сделанный в ремоте ху через облако все пашет подключается к моей сети :smile37:
перекачал блок подключения и все заработало :D
на мой взгляд ремоте ху скоростней блинка да и проще .
Последний раз редактировалось vovka1973 27 окт 2019, 18:36, всего редактировалось 2 раза.
Изображение
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

SergeyShikal писал(а): 27 окт 2019, 17:33 Используй переменные
вот, такая схема работает неправильно. Точнее правильно только с сенсорной кнопки (и правильно меняется состояние виртуальной в блинке), а вот вкл/выкл с виртуальной кнопки не работает. К сожалению я хоть убей не могу врубиться как работает "инвертировать", ставлю методом тыка..
[spoiler]
flp3.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

NodeMCU V3 + RemoteXY + FLProg

Сообщение belyx »

немножко не по теме но сейчас попробовал управление RGB светодиодами с ремоте.
мой REMOTE RGB.rar
у меня всё работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mozgoklui
Сержант
Сообщения: 109
Зарегистрирован: 11 окт 2019, 23:19
Имя: Виталий

NodeMCU V3 + RemoteXY + FLProg

Сообщение Mozgoklui »

belyx писал(а): 27 окт 2019, 20:13 у меня всё работает
везет. у меня не пошло, да и потом посмотрел что у блинка есть больше всяких фичей чем у ремоте. Лучше сразу все поделки собирать в одном приложении.
За сегодня так и не смог сделать логику двух кнопок правильной..
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя