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

Кастомный контроллер ESP32 Devkit V1 для версий 6.1

Контроллеры на основе ESP32
Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#1

Сообщение DrMario » 31.10.2019{, 14:18}

Добавил кастомный контроллер 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-WROVER-B Module.7z
Кастомный модуль ESP32-WROVER-B
(1.19 МБ) 259 скачиваний
ESP32.ubl
Блоки пользователя от 03.12.2019
(925.27 КБ) 254 скачивания
ESP32.7z
Кастомный контроллер ESP32 от 03.12.2019
(2.33 МБ) 314 скачиваний
ESP32 EEPROM Test.flp
Пример с тестом ESP32EEPROM
(2.24 МБ) 277 скачиваний
Последний раз редактировалось DrMario 20.12.2019{, 11:20}, всего редактировалось 10 раз.

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#2

Сообщение Ecomat » 05.11.2019{, 11:59}

DrMario, Здравствуйте. Большое спасибо за выложенное Вами пользовательское описание 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. а очень хочется.

ecoins
Полковник
Сообщения: 2932
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#3

Сообщение ecoins » 05.11.2019{, 12:28}

На ESP32 Serial1 использовать проблематично, можно Serail2.
Может отсюда проблемы?

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#4

Сообщение DrMario » 05.11.2019{, 19:09}

Ecomat писал(а):
05.11.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 с возможностью задавать параметры внешними входами. У меня не получается.

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#5

Сообщение Ecomat » 05.11.2019{, 19:35}

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

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#6

Сообщение DrMario » 05.11.2019{, 19:40}

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

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#7

Сообщение RedSky » 06.11.2019{, 21:18}

DrMario, не увидел у вас в стандартных блоках пункта "система". А веб интерфейс модбас получиться запустить? Или нужно ждать выхода версии с поддержкой ESP32?

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#8

Сообщение Rovki » 06.11.2019{, 22:55}

Скачал пример и бибку ,но что то не увидел работы с вайфай ,при выборе устройств предлагается только шилд езернет :smile37:
Электронщик до мозга костей и не только

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#9

Сообщение DrMario » 07.11.2019{, 05:27}

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

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#10

Сообщение Rovki » 07.11.2019{, 06:57}

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

Аватара пользователя
ДедОк
Рядовой
Сообщения: 23
Зарегистрирован: 31.10.2016{, 13:48}
Репутация: 3
Откуда: Славута

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

#11

Сообщение ДедОк » 08.11.2019{, 12:26}

Rovki писал(а):
07.11.2019{, 06:57}
Так вроде есп без вайфай зачем нужна???Ардуинок хватает
32 разрядность, богатая периферия, скорсть отличная...

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#12

Сообщение Ingwar » 08.11.2019{, 16:36}

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

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#13

Сообщение Rovki » 08.11.2019{, 17:29}

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

Anydy

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

#14

Сообщение Anydy » 08.11.2019{, 17:45}

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

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

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#15

Сообщение Ingwar » 08.11.2019{, 20:10}

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

Отправлено спустя 24 минуты 11 секунд:
Или вот еще.
Заливаю такой код
СпойлерПоказать
#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.
}
Результат
СпойлерПоказать
3.jpg
Меняю размер резерва при неизменном коде
СпойлерПоказать
#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.
}
Результат
СпойлерПоказать
20.jpg
Соответственно вопрос - какого ... засвечены еще несколько светодиодов?
Хотя может я неправильно написал скетч...

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#16

Сообщение DrMario » 08.11.2019{, 22:06}

Добавил пару вариантов обновления по воздуху. Блоки пользователя добавил в пером сообщении

Anydy

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

#17

Сообщение Anydy » 08.11.2019{, 23:07}

бывает всякое...ну не важно....смысл в FLPпрграмм !!!!!

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#18

Сообщение vovka1973 » 11.11.2019{, 20:15}

Anydy писал(а):
08.11.2019{, 17:54}
даже сенсорные кнопки есть!
Опробовал ,работают отлично!
Изображение

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#19

Сообщение DrMario » 12.11.2019{, 10:34}

В первом посте добавил несколько новых блоков и обновил кастомный контроллер.

ecoins
Полковник
Сообщения: 2932
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#20

Сообщение ecoins » 12.11.2019{, 17:57}

Подскажите, пожалуйста, куда подгружать файл ESP32.cdl?

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

Ответить

Вернуться в «ESP32»