Страница 1 из 4

ESP32 программирование из FLProg.

Добавлено: 31 окт 2019, 14:18
DrMario
Добавил кастомный контроллер ESP32 Devkit V1. Для добавления платы нужно загрузить библиотеку ESP32 в пользовательские описания контроллеров FLProg.
Добавил несколько пользовательских блоков для системы, ESP32 Bluetooth, ESP32 EEPROM
Для ESP32 EEPROM меня приятно удивило то, что при смене прошивки контроллера данные не стираются как в ESP8266.
09.11.2019
Отдельно добавил блоки пользователя, сделал 3 варианта обновления прошивки по воздуху.
10.11.2019
Обновил блоки пользователя, не корректно работал блок OTAWebUpdater
12.11.2019
Обновил файл с блоками пользователя и файл кастомного контроллера. В списке блоков добавлены блоки для обновления прошивки с подключением непосредственно к модулю, который сам работает в режиме точки доступа SoftAP, а так же блоки с двумя вариантами для обмена по UDP.
В кастомный контроллер подключил дополнительные библиотеки для работы некоторых блоков.
17.11.2019
Обновил файл с блоками пользователя. В блоках пользователя "Система" добавлены:
Блок опроса встроенного датчика температуры.
Блок опроса встроенного датчика Холла.
Блок записи переменной в ЦАП (выводы 25, 26). На указанном выводе меняется напряжение от 0 до 3,2в.
Встроенный датчик температуры проверить не удалось, в имеющихся у меня контроллерах его нету :smile37:
Встроенный датчик Холла работает, при приближении магнита к контроллеру значение на выходе заметно меняется.
01.12.2019
В связи с выходом FLProg с поддержкой ESP32 сделаны некоторые изменения в настройках кастомного контроллера. Теперь появилась полноценная работа выводов PWM.
Добавлены настройки для сенсорных кнопок.
03.12.2019
В кастомном контроллере для платы MH ET LIVE ESP32DevKIT исправлены названия выводов в соответствии с названиями на плате.
В ПБ добавлены два разных блока енкодера. Один из них на аппаратном счетчике импульсов ESP32 и отлично работает на GPIO36 (SVP) и GPIO39 (SVN).
20.12.2019
Добавил кастомный модуль ESP32-WROVER-B. Ссылки на документацию в описании контроллера.

ESP32 программирование из FLProg.

Добавлено: 05 ноя 2019, 11:59
Ecomat
[ref]DrMario[/ref], Здравствуйте. Большое спасибо за выложенное Вами пользовательское описание ESP32! Попробовал, работает!
Проверяно:
OLED 0.96 I2C
MAX31855
18b20
Энкодер пока не подобрал, но использую без прерывания, работает.
ШИМ работает.
Не получилось выход UART к дисплею Nextion. Перепробовал все варианты портов.
FlProg не доходя до IDE выдает ошибку
Unhandled exception: Message not understood: #portModeString
An error occurred in this application.
The application will now terminate.
При этом просто передача переменной в UART компилируется. Использую 6.1.1. Без Nextion мне не перейти с MEGA на ESP32. а очень хочется.

ESP32 программирование из FLProg.

Добавлено: 05 ноя 2019, 12:28
ecoins
На ESP32 Serial1 использовать проблематично, можно Serail2.
Может отсюда проблемы?

ESP32 программирование из FLProg.

Добавлено: 05 ноя 2019, 19:26
DrMario
Ecomat писал(а): 05 ноя 2019, 11:59 Не получилось выход UART к дисплею Nextion. Перепробовал все варианты портов.
Я проверял порт Serail2 и назначал GPIO для виртуальных портов 0,4,25,26,27,32,33,34,35 для SoftwareSerial. Все варианты работали.
Serial1 на ESP32 скорее всего не выйдет.
Чуть не забыл. Нужно учитывать, что не все GPIO могут выдержать 5 В. уровни.

Отправлено спустя 16 минут 43 секунды:
Может кто нибудь сможет сделать ПБ WebUpdate в режиме WiFi.softAP с возможностью задавать параметры внешними входами. У меня не получается.

ESP32 программирование из FLProg.

Добавлено: 05 ноя 2019, 19:39
Ecomat
Ecoins, большое спасибо! Я ведь пробовал все порты, включая и этот. Не работало. А сейчас 2 й порт работает. Теперь есть все необходимое. Старый проект перенесу на ESP32, я уже все блоки обкатал, все работает на базовой программе. Вам надо ей название придумать. Спасибо!

Отправлено спустя 4 минуты 4 секунды:
[ref]DrMario[/ref], И Вам Большое спасибо! но дело в том, что в этом варианте дело не в номере порта, до компилирования вообще не доходит. При установке блока передачи по UART на Nextion, какой бы я порт не указывал, происходит сбой программы FlProg. Если просто ставлю блок отправки в UART, то все нормально. Возможно это какой то глюк бэта версии.

ESP32 программирование из FLProg.

Добавлено: 05 ноя 2019, 19:40
DrMario
дайте свой проект, я проверю
У меня панели Nextion на том момент не было и я стандартные блоки добавил без проверки. Сейчас приобрел панель, буду проверять.
Упс. Программа вылетает на стандартном блоке Nextion.

ESP32 программирование из FLProg.

Добавлено: 06 ноя 2019, 21:18
RedSky
[ref]DrMario[/ref], не увидел у вас в стандартных блоках пункта "система". А веб интерфейс модбас получиться запустить? Или нужно ждать выхода версии с поддержкой ESP32?

ESP32 программирование из FLProg.

Добавлено: 06 ноя 2019, 22:55
Rovki
Скачал пример и бибку ,но что то не увидел работы с вайфай ,при выборе устройств предлагается только шилд езернет :smile37:

ESP32 программирование из FLProg.

Добавлено: 07 ноя 2019, 05:27
DrMario
Шилд езернет можете удалить в настройках кастомного контроллера, по умолчанию я добавил все стандартные блоки. Блок настроек вайфай еще не сделал, думал что кто нибудь сделает их самостоятельно :smile469: . Мне хочется, чтобы параметры вайфай задавались строковыми входами блока и их можно было менять без смены прошивки, но из меня программист как с г. пуля :D .
Пробую делать через еепром, но пока не получается.

ESP32 программирование из FLProg.

Добавлено: 07 ноя 2019, 06:57
Rovki
DrMario писал(а): 07 ноя 2019, 05:27 Шилд езернет можете удалить в настройках кастомного контроллера, по умолчанию я добавил все стандартные блоки. Блок настроек вайфай еще не сделал, думал что кто нибудь сделает их самостоятельно :smile469: . Мне хочется, чтобы параметры вайфай задавались строковыми входами блока и их можно было менять без смены прошивки, но из меня программист как с г. пуля :D .
Пробую делать через еепром, но пока не получается.
Так вроде есп без вайфай зачем нужна???Ардуинок хватает :smile37:

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 12:26
ДедОк
Rovki писал(а): 07 ноя 2019, 06:57 Так вроде есп без вайфай зачем нужна???Ардуинок хватает
32 разрядность, богатая периферия, скорсть отличная...

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 16:36
Ingwar
Библиотеки на esp32 под arduino ide ещё "сыроваты". Ещё недавно секция loop выполнялась всего ОДИН раз! Обновился - вроде норма. Но например neopixel при управлении одиночными ws2812 "шалит".

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 17:29
Rovki
ДедОк писал(а): 08 ноя 2019, 12:26
Rovki писал(а): 07 ноя 2019, 06:57 Так вроде есп без вайфай зачем нужна???Ардуинок хватает
32 разрядность, богатая периферия, скорсть отличная...
Мне лично хватило нано ,что бы управлять 4 шаговыми двигателями ,а это быстро должно быть ...

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 17:54
Anydy
ДедОк писал(а): 08 ноя 2019, 12:26 32 разрядность, богатая периферия, скорсть отличная...
не забываем - 2 ядра --- одно отвечат за WiFi а второе за зашитую программу...то есть отличие от ESP8266 ---при зависании WiFi ---Программа продолжает выполняться! И как уже сказали более богатая перефирия, больше выводов, даже сенсорные кнопки есть! да что говорить...сами почитайте даташит!

Отправлено спустя 8 минут 49 секунд:
Ingwar писал(а): 08 ноя 2019, 16:36 Библиотеки на esp32 под arduino ide ещё "сыроваты". Ещё недавно секция loop выполнялась всего ОДИН раз!
Можно пруф в студию? Как такое возможно? Loop это цикл который постоянно выполняется как только микроконтроллер прошел инициализацию......не нужно вводить людей в заблуждение!

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 21:08
Ingwar
Anydy писал(а): 08 ноя 2019, 17:54 Можно пруф в студию? Как такое возможно? Loop это цикл который постоянно выполняется как только микроконтроллер прошел инициализацию......не нужно вводить людей в заблуждение!
Я тоже примерно так возмущался...))) Правильного пруфа предоставить не смогу, так как не записывал, какие библиотеки обновил. А "встрял" я на примере simple.ino что лежит в ...Adafruit_NeoPixel\examples\simple Выражено это было в зажигании светодиодов последовательно ОДИН раз. Далее они горели постоянно. После сброса/отключения питания ничего не менялось. После обновления нескольких библиотек (по рекомендации спойлера IDE), заработало как положено.
Я допускаю, что еспшка зависала только в этом примере, но факт БЫЛ, верите Вы или нет.

Отправлено спустя 24 минуты 11 секунд:
Или вот еще.
Заливаю такой код
[spoiler]#include <Adafruit_NeoPixel.h>
#define PIN 5
#define NUMPIXELS 3
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
pixels.begin();
}
void loop()
{
pixels.clear(); // Set all pixel colors to 'off'
pixels.setPixelColor( 0 , pixels.Color( 150 , 0 , 0 ));
pixels.setPixelColor( 1 , pixels.Color( 0 , 150 , 0 ));
pixels.setPixelColor( 2 , pixels.Color( 0 , 0 , 150 ));
pixels.show(); // Send the updated pixel colors to the hardware.
}[/spoiler]
Результат
[spoiler]
3.jpg
[/spoiler]
Меняю размер резерва при неизменном коде
[spoiler]#include <Adafruit_NeoPixel.h>
#define PIN 5
#define NUMPIXELS 20
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
pixels.begin();
}
void loop()
{
pixels.clear(); // Set all pixel colors to 'off'
pixels.setPixelColor( 0 , pixels.Color( 150 , 0 , 0 ));
pixels.setPixelColor( 1 , pixels.Color( 0 , 150 , 0 ));
pixels.setPixelColor( 2 , pixels.Color( 0 , 0 , 150 ));
pixels.show(); // Send the updated pixel colors to the hardware.
}[/spoiler]
Результат
[spoiler]
20.jpg
[/spoiler]

Соответственно вопрос - какого ... засвечены еще несколько светодиодов?
Хотя может я неправильно написал скетч...

Отправлено спустя 33 минуты 13 секунд:
Нашел виновника, заставившего меня написать про loop…
Заморочился и проверил несколько версий библиотеки neopixel. Товарищи разработчики из Adafruit в разных версиях прикладывают примеры с непостоянным кодом. Например в версии 1.2.5 вышеназванный пример simple.ino отличается от свежих версий отсутствием сроки pixels.clear(); что и дало мне повод сделать неверный вывод...
Прошу прощения за неверный "вброс".

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 22:06
DrMario
Добавил пару вариантов обновления по воздуху. Блоки пользователя добавил в пером сообщении

ESP32 программирование из FLProg.

Добавлено: 08 ноя 2019, 23:07
Anydy
бывает всякое...ну не важно....смысл в FLPпрграмм !!!!!

ESP32 программирование из FLProg.

Добавлено: 11 ноя 2019, 20:15
vovka1973
Anydy писал(а): 08 ноя 2019, 17:54 даже сенсорные кнопки есть!
Опробовал ,работают отлично!

ESP32 программирование из FLProg.

Добавлено: 12 ноя 2019, 10:34
DrMario
В первом посте добавил несколько новых блоков и обновил кастомный контроллер.

ESP32 программирование из FLProg.

Добавлено: 12 ноя 2019, 18:02
ecoins
Подскажите, пожалуйста, куда подгружать файл ESP32.cdl?

Отправлено спустя 5 минут 17 секунд:
И еще вопрос - испытывали ESP32 Bluetooth на практике?
Мы тестировали месяца 2 назад, упорно - минут через 15 постоянного обмена обмен зависал, похоже было на переполнение буферов. Разбираться не стали, отложили на время. В сети серьезных примеров не нашли.