сам написал этот код, а как пользоваться millis не знаешь?
Знаю, с millis улучшиться точность временной задержки, но будет ли работать blynk лучше?
Эта та же задержка, на которую ардуино отвлекаеться и ничего не делает во время отсчета времени.
Сейчас 600 строк кода в программе и уже критичны временные затраты на различные функции измерения. В UNO код уже давно не помещаеться.
Думаю сделать измерение темпиратуры в начале программы, при отсчете 750 милисек задержке по millis выполняем весь остальной код, и в конце программы проверяем завершение отсчета - когда отсчет завершен дозаканчиваем измерение темпиратуры.
1 токен для двух разных девайсов - это старый подход. Так как на сегодняйшний день мы реализовали мультидевайсы, то правильно будет асайнить каждому девайсу свой токен.
Для передать сообщение от одного девайса другому есть несколько способов.
1 - Бридж.
2. Теги (работает только на четние состояния из апки)
Спасибо, буду пробовать. Пока стабильно работает на REST, но уж очень долго отрабатывает (у меня сервер крутится на довольно старой железке cubieboard1).
C бриджем разобрался, работает гораздо быстрее RESTа. Тут спасибо.
А вот с тэгами пока не докурил. Переназначил кнопке (V2) вместо 2 девайса тег из двух девайсов. С esp-шки шлю Blynk.virtualWrite (V2, 1); результат нулевой. При этом, если блинкать на кнопку в самой app-шке, то на втором девайсе месседж доходит.
Т.е., для коммуникаций между двумя девайсами (а именно месседж с девайса 1->2) теги не подходят?
В проекте прописаны два микроконтролера, на обоих задействован виртуальный пин V7. Эвентор настроен на V7 первого микроконтролера, но срабатывает и по значениям второго. Пришлось разные пины задействовать. Благо втрой микроконтроле ESP, а там 127 виртуальных пинов.
Подскажите пожалуйста, каким образом я могу ограничить количество знаков после запятой при отображении значаения переменной в LCD Widget advanced mode?amp;
После обновления на 2.13.1 совсем перестала работать панель вкладок.
Во первых они стали с каким то смещением отражаться на экране
Во вторых при переключении они тоже сбоят (курсор должен быть на "Сервис")
И в третьих при редактировании я вообще не могу эту панель переместить в другое место экрана, а так же не могу перенести виджет из одной вкладки в другую. Раньше ВСЕ РАБОТАЛО.
Добрый день
Вы решили проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
Добрый день
Вы решили проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
Добрый день
Решили ли вы проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."?
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
О каких кнопках речь? Не совсем понимаю.
Я имею ввиду на мобильном в программе blynk настройка индикаторов к какому пину привязываем
Схему подключения Nodemcu к плате контроля
А также скетч, каким прошить arduino, чтоб работал
если возможно прислать скетч, схему подключения и видео работы устройства с настройкой индикаторов отображения
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Спасибо за отклик
Вот только рабочий скетч не могу найти...
Всем привет
Что за хурма творится с блинком? Сегодня обновился до последней версии и у меня изменилась цветовая гамма в проекте. Ну думаю хорошо, подумал, что глюк. Восстановил все. Запустил проект. Через некоторое время опять захожу в блинк и ....., и вижу такую же хурму, цветовая гамма опять слетела. Все голубое. Цвет красивый, но хочется разнообразия.
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Прописал скетч, как у вас но при компиляции выдает такое
Что не так?
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Прописал скетч, как у вас но при компиляции выдает такое
Что не так?
ВНИМАНИЕ: Категория '' в библиотеке PZEM004T не является действительной. Установка на 'Uncategorized'
ПРЕДУПРЕЖДЕНИЕ: библиотека PZEM004T-master должна запускаться на архитектурах [avr] и может быть несовместима с вашей платой на архитектуре [esp8266].
C:\Program Files (x86)\Arduino\libraries\PZEM004T-master\PZEM004T.cpp: In member function 'bool PZEM004T::recieve(uint8_t, uint8_t*)':
C:\Program Files (x86)\Arduino\libraries\PZEM004T-master\PZEM004T.cpp:137:37: error: 'class SoftwareSerial' has no member named 'listen'
((SoftwareSerial *)serial)->listen();
^
Несколько библиотек найдено для "BlynkSimpleEsp8266.h"
Используется: F:\Ardulino\libraries\Cayenne
Не используется: F:\Ardulino\libraries\Blynk
Не используется: F:\Ardulino\libraries\Blynk
Не используется: F:\Ardulino\libraries\Blynk
Не используется: F:\Ardulino\libraries\Blynk
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
Подскажите, в чем ошибка?
Скачал скетч и пример с https://github.com/olehs/PZEM004T
запустил пример PZEMDisplay
Ничего не вносил. просто компилирую. Плата Nodemcu (1.0) wifi
И выдает вот такое
что делать?
что не так?
ВНИМАНИЕ: Категория '' в библиотеке PZEM004T не является действительной. Установка на 'Uncategorized'
ПРЕДУПРЕЖДЕНИЕ: библиотека PZEM004T-master должна запускаться на архитектурах [avr] и может быть несовместима с вашей платой на архитектуре [esp8266].
F:\Ardulino\libraries\PZEM004T-master\PZEM004T.cpp: In member function 'bool PZEM004T::recieve(uint8_t, uint8_t*)':
F:\Ardulino\libraries\PZEM004T-master\PZEM004T.cpp:137:37: error: 'class SoftwareSerial' has no member named 'listen'
((SoftwareSerial *)serial)->listen();
^
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <SoftwareSerial.h> // Arduino IDE <1.6.6
#include <PZEM004T.h>
PZEM004T pzem(&Serial);
IPAddress ip(192,168,1,1);
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "хххххххххххххххххххххххх";
WidgetLCD lcd(V10);
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Blynk";
char pass[] = "хххххххх";
SimpleTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void pzm()
{
float v = pzem.voltage(ip);
if (v < 0.0) v = 0.0;
Blynk.virtualWrite(V1, v);
Serial.print(v);Serial.print("V; ");
float i = pzem.current(ip);
if(i >= 0.0){ Blynk.virtualWrite(V2, i);
Serial.print(i);Serial.print("A; "); }
float p = pzem.power(ip);
if(p >= 0.0){ Blynk.virtualWrite(V3, p);
Serial.print(p);Serial.print("W; ");}
float e = pzem.energy(ip);
if(e >= 0.0){ Blynk.virtualWrite(V4, e);
Serial.print(e);Serial.print("Wh; ");}
Serial.println();
lcd.clear(); //Use it to clear the LCD Widget
lcd.print(0, 0, "U="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
int vv=(int)v;
lcd.print(2, 0, vv); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(5, 0, "V"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(8, 0, "I="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(10, 0, i); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(14, 0, " A"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(0, 1, "P="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
int pp=(int)p;
lcd.print(2, 1, pp); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(6, 1, "W"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(8, 1, "E="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
//int ee=(int)e/1000;
lcd.print(10, 1, e/1000); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(13, 1, "kWh"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
}
void setup()
{
// Debug console
lcd.clear(); //Use it to clear the LCD Widget
Serial.begin(9600);
pzem.setAddress(ip);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
// Setup a function to be called every second
timer.setInterval(5000L, pzm);
}
void loop()
{
ArduinoOTA.handle();
Blynk.run();
timer.run(); // Initiates SimpleTimer
}
сам написал этот код, а как пользоваться millis не знаешь?
Знаю, с millis улучшиться точность временной задержки, но будет ли работать blynk лучше?
Эта та же задержка, на которую ардуино отвлекаеться и ничего не делает во время отсчета времени.
Сейчас 600 строк кода в программе и уже критичны временные затраты на различные функции измерения. В UNO код уже давно не помещаеться.
Думаю сделать измерение темпиратуры в начале программы, при отсчете 750 милисек задержке по millis выполняем весь остальной код, и в конце программы проверяем завершение отсчета - когда отсчет завершен дозаканчиваем измерение темпиратуры.
В общем отваливался коннект не из-за моей самописной библиотеки, оказываеться.
Я сделал вывод данных в History Graf ettings каждую секунду, поэтому связь отваливалась. Сделал по 30 секунд - работает нормально.
Дмитрий, хотелось бы увидеть комментарии/советы про проблеме, описанной в постах 443-444
1 токен для двух разных девайсов - это старый подход. Так как на сегодняйшний день мы реализовали мультидевайсы, то правильно будет асайнить каждому девайсу свой токен.
Для передать сообщение от одного девайса другому есть несколько способов.
1 - Бридж.
2. Теги (работает только на четние состояния из апки)
3. Вебхук.
Спасибо, буду пробовать. Пока стабильно работает на REST, но уж очень долго отрабатывает (у меня сервер крутится на довольно старой железке cubieboard1).
Это может быть связано с JVM. Мы не затачивали сервер под low-end hardware. При желании можно ускорить.
В принципе, работает шустро, но клиент (с виджетами) загружается заметно дольше, чем на малине (зеленые шарики крутятся 3-4 сек.)
От помощи в ускорении не откажусь. Если это не потребует пересборки дистрибутива...
Дистрибутив брал тут: https://www.armbian.com/cubieboard-1/
Яву ставил по вашему мануалу.
Да, на это есть тикет - https://github.com/blynkkk/blynk-server/issues/462. Но пока что не приоритет.
Из тикета нифига не понятно. Подозреваю, что профайл клиенту передайтся зазипованным, а можно, видимо, открытым.
В тикете напсано что есть медленный код, который можно улучшить, возможно именно он результат подгрузки в 3-4 сек.
C бриджем разобрался, работает гораздо быстрее RESTа. Тут спасибо.
А вот с тэгами пока не докурил. Переназначил кнопке (V2) вместо 2 девайса тег из двух девайсов. С esp-шки шлю Blynk.virtualWrite (V2, 1); результат нулевой. При этом, если блинкать на кнопку в самой app-шке, то на втором девайсе месседж доходит.
Т.е., для коммуникаций между двумя девайсами (а именно месседж с девайса 1->2) теги не подходят?
Да, не подходят. Но, с тег виджета можно считать последнее состояние. Иногда это бывает надо.
Обнаружил баг для Eventor Settings.
В проекте прописаны два микроконтролера, на обоих задействован виртуальный пин V7. Эвентор настроен на V7 первого микроконтролера, но срабатывает и по значениям второго. Пришлось разные пины задействовать. Благо втрой микроконтроле ESP, а там 127 виртуальных пинов.
Точно. Спасибо. Зафиксали. Скоро будет новый деплой.
Что может быть, мега2560 и шилд на sim900
не коннектиться с сервером блинка
https://hostingkartinok.com/show-image.php?id=40b09117bfc0816fbf286241e51c21ed
Не знаю. Закиньте пожалуйста тикет сюда - https://github.com/vshymanskyy/TinyGSM/issues
Доброго времени.
Подскажите пожалуйста, каким образом я могу ограничить количество знаков после запятой при отображении значаения переменной в LCD Widget advanced mode?amp;
/pin/
- displays the value without formatting (12.6789)/pin./
- displays the value without decimal part (13)/pin.#/
- displays the value with 1 decimal digit (12.7)/pin.##/
- displays the value with two decimal places (12.68)К сожалению в Advanced режиме отсутствует такая возможность же...
Упс. Виноват :).
float testfloat = 23.673;
int testint = testfloat * 100;
testfloat = testint / 100.0;
100 - 2 знака после запятой
Добрый день.
После обновления на 2.13.1 совсем перестала работать панель вкладок.
Во первых они стали с каким то смещением отражаться на экране
Во вторых при переключении они тоже сбоят (курсор должен быть на "Сервис")
И в третьих при редактировании я вообще не могу эту панель переместить в другое место экрана, а так же не могу перенести виджет из одной вкладки в другую. Раньше ВСЕ РАБОТАЛО.
Синхронизация
Спасибо за помощь -))))
Добрый день
Вы решили проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
Добрый день
Вы решили проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
О каких кнопках речь? Не совсем понимаю.
Я имею ввиду на мобильном в программе blynk настройка индикаторов к какому пину привязываем
Добрый день
Решили ли вы проблему с отвалом связи "NodeMCU прикрученную к PZEM-004 по RX, TX."?
Если да, помогите пожалуйста
Хочу сделать контроль, такой как у вас
Возможно ли прислать схему подключения и скетс
А также, как настроили в blynk кнопки и отображение
Заранее спасибо
О каких кнопках речь? Не совсем понимаю.
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Спасибо за отклик
Вот только рабочий скетч не могу найти...
Я вот здесь брал скетч.
https://github.com/olehs/PZEM004T
Я вот здесь брал скетч.
https://github.com/olehs/PZEM004T
Спасибо
Пробую
Доброго времени.
Подскажите, пропали тренды в графиках History. Причем, во всех проектах...
Это я чё-то накосячил или с серверами проблема?
Всем привет
Что за хурма творится с блинком? Сегодня обновился до последней версии и у меня изменилась цветовая гамма в проекте. Ну думаю хорошо, подумал, что глюк. Восстановил все. Запустил проект. Через некоторое время опять захожу в блинк и ....., и вижу такую же хурму, цветовая гамма опять слетела. Все голубое. Цвет красивый, но хочется разнообразия.
Не, у меня норм обновка встала. Все по прежнему.
Откатился на 2.13.3 - цвета вернулись.
К сожалению устройство сейчас в сборе и установлено в труднодоступном месте...
Доступа нет ни к нему ни к компьютеру, по этому расскажу ньюансы.
По схеме подключения:
схема стандартная. Перед подключением обязательно на контакты белого разъема PZEM-004t припаиваем резистор. На какие ноги и какой номинал резистора, сейчас уже не вспомню. Есть фото в сети. NodeMCU подключаем к белому разъему и обязательно запитываем PZEM-004t от NodeMCU.
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Прописал скетч, как у вас но при компиляции выдает такое

Что не так?
По скетчу: библиотеку брал с гитхаба. Тоже гуглится быстро. Там и пример есть. Делал все как в примере. Сначала просто подключил NodeMCU к PZEM-004t, подал 220 В на вход PZEM-004t и мониторил порт, отлаживал скетч.
Потом прописал виртуальные пины и уже в программе Blynk проверял работу...
Надеюсь Вам это поможет.
Прописал скетч, как у вас но при компиляции выдает такое

Что не так?
Подскажите, если не трудно
как на схеме
прописал ваш скетч
собрал,
Запустил для компиляции
Выдало ниже
Что не так?
ВНИМАНИЕ: Категория '' в библиотеке PZEM004T не является действительной. Установка на 'Uncategorized'
Схему подключения использовал не такую. У меня без транзистора.
Скетч сейчас посмотреть не смогу, но как мне помнится я использовал скетч не с SoftwareSerial, а HardwareSerial...
Подскажите, в чем ошибка?
Скачал скетч и пример с https://github.com/olehs/PZEM004T
запустил пример PZEMDisplay
Ничего не вносил. просто компилирую. Плата Nodemcu (1.0) wifi
И выдает вот такое
что делать?
что не так?
Ошибка "Категория '' в библиотеке PZEM004T не является действительной. Установка на 'Uncategorized' есть и у меня. На работоспособность не влияет.
У меня используется скетч PZEMHardSerial.ino
Танцы с бубном не помогают
Уже и переустанавливал Arduino и плясал с библиотеками, ничего не помогло
Скачал и подключил ZIP библиотку PZEM004
запустил пример PZEMDisplay
Не могу запустить компиляцию даже на примере
В чем причина может быть?
Мне кажется или Вы по прежнему используете скетч
PZEMDisplay.ino?
Нет
Гружу и компилирую PZEMHardSerial
вот что

Вот такой у меня скетч:
Спасибо
Какая-то фигня с библиотеками или с установкой
Не понимаю
Выдает вот это и хоть ты тресни...
Разобрался, заработало. Грохнул библиотеку SoftwareSerial.h Вычистил полностью с компа
Загрузил ее от сюда https://github.com/plerup/espsoftwareserial
и все стало!
Спасибо огромное!
Буду пробовать, но скетч уже прокомпилировался и это хорошо!
На здоровье. Все получится!
почему при отключении питания nodemcu слетает прошивка? и не поднимается после подключения питания?
Не должно такого быть. Мож плата проблемная?