Страница 2 из 4
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 02:51
lfgjikjjyj
Получил то что хотел - чистый код под новые ядра ESP + IDI 2.3.7 без библиотек FLProg
Молодец от нас то что требуется
Или ты форумом ошибся
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 09:41
Phazz
Ну как бы это не совсем МК а гибрид мк с одноплатным ПК и работа с ним выглядит совсем по другому. Но штука занятная, и по нынешним временам не очень и дорого по сравнению с распберри.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 13:02
AndreyR
lfgjikjjyj писал(а): 23 фев 2026, 02:51
Получил то что хотел - чистый код под новые ядра ESP + IDI 2.3.7 без библиотек FLProg
Молодец от нас то что требуется
Или ты форумом ошибся
По моему это тот случай куда нужно развивать программу о не тормозить на месте
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 15:44
lfgjikjjyj
AndreyR писал(а): 23 фев 2026, 13:02
lfgjikjjyj писал(а): 23 фев 2026, 02:51
Получил то что хотел - чистый код под новые ядра ESP + IDI 2.3.7 без библиотек FLProg
Молодец от нас то что требуется
Или ты форумом ошибся
По моему это тот случай куда нужно развивать программу о не тормозить на месте
Судя по вашему ответу и по вашему фразам нужно удалить flprog на хрен и работать с чистым кодом
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 16:39
Rovki
Программисты так и делают( их пока большенство) , а для электронщиков нужна схема(FBD)
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 17:28
Dmabst
И нейросети и FLProg - это инструменты. Человек выбирает инструменты, в зависимости от задачи. Что быстрее и точнее еë решает, то человек и выберет. Никто не запрещает использовать оба инструмента. Меняется поколение людей и по мере развития нейросетей приоритет, вероятно, будет смещаться к ИИ.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 18:23
AndreyR
lfgjikjjyj писал(а): 23 фев 2026, 15:44
AndreyR писал(а): 23 фев 2026, 13:02
lfgjikjjyj писал(а): 23 фев 2026, 02:51
Молодец от нас то что требуется
Или ты форумом ошибся
По моему это тот случай куда нужно развивать программу о не тормозить на месте
Судя по вашему ответу и по вашему фразам нужно удалить flprog на хрен и работать с чистым кодом
Я этого не говорил!Просто неплохо бы было иметь такую связку! Каждый делает как ему удобней- для меня FLProg сейчас работает как программа в которой я просто в кучу накидываю блоки и все! Дальше за меня ИИ думает.И если есть такая возможность почему бы ей не воспользоваться
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 18:49
Rovki
Dmabst писал(а): 23 фев 2026, 17:28
И нейросети и FLProg - это инструменты. Человек выбирает инструменты, в зависимости от задачи. Что быстрее и точнее еë решает, то человек и выберет. Никто не запрещает использовать оба инструмееета
Написание кода и разработка схемы это разные способы мышления, Работа писателя и художника очень сильно отличается. Языкам и схемах учат на разных специальностях. Поэтому человек выбирает способ решения не исходя из задачи, а из того на кого учился. Графический язык и текстовый совершенно по разному воспринимается(читается) мозгом . Хороший программист воспринимает схемы как ересь, набор каких то проводов и квадратиков. Аналогично и схемотехник воспринимает текст, код -абракадабра.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 23 фев 2026, 22:13
Dmabst
Rovki писал(а): 23 фев 2026, 18:49
Графический язык и текстовый совершенно по разному воспринимается(читается) мозгом . Хороший программист воспринимает схемы как ересь, набор какихто тпроводов и квадратиков. Аналогично и схемотехник воспринимает текст, код -абракадабра.
Вот тут, как раз, ИИ может помочь обоим. У него для каждого найдëтся время для разъяснения без нравоучений и обвинений, в отличие от людей. Но просто "на веру" информацию от ИИ принимать, конечно, не нужно.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 01:00
Dmabst
AndreyR писал(а): 23 фев 2026, 18:23
Просто неплохо бы было иметь такую связку! Каждый делает как ему удобней- для меня FLProg сейчас работает как программа в которой я просто в кучу накидываю блоки и все! Дальше за меня ИИ думает.И если есть такая возможность почему бы ей не воспользоваться
Интересный вопрос. А как вам видится такая связка, как она должна выглядеть и что делать?
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 10:44
Dmabst
В принципе, не грех спросить об этом и сам ИИ.
Навскидку написал два простых промпта и по очереди задавал их различным нейросетям:
"Расскажи, каким образом ИИ может помочь в программировании микроконтроллеров пользователю, разбирающегося в электронике, но не умеющему программировать? Интересует именно возможность использования ИИ в работе с программой FLProg таким пользователем."
"Как можно было бы принципиально улучшить саму программу FLProg для лучшей интеграции с ИИ, для работы пользователей, не умеющих писать текстовый код? Чего не хватает этой программе для взаимодействия с ИИ?"
Можете попробовать задавать их или сформируйте свои вопросы.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 10:58
montirovka
Можно спросить и это: - Алиса, что хорошего в программе FLProg?
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 11:14
slsl
montirovka писал(а): 24 фев 2026, 10:58
Можно спросить и это: - Алиса, что хорошего в программе FLProg?
Алиса умеет и ПБ делать для флп.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 11:38
Phazz
slsl писал(а): 24 фев 2026, 11:14
montirovka писал(а): 24 фев 2026, 10:58
Можно спросить и это: - Алиса, что хорошего в программе FLProg?
Алиса умеет и ПБ делать для флп.
В каком виде?
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 12:07
AndreyR
Ну собственно ответ ИИ
Импорт визуальных схем из ИИ
ИИ-инструменты типа диаграмм ИИ генерируют блок-схемы (блок-схемы, FBD-подобные) из текста, которые можно скопировать как изображения или описания для ручного ввода в FLProg. Это заключает в себе прототипирование: о логике («если энкодер повернут — шаг степпера»), создайте схему и возьмите в редакторе перетаскивание.
Практические шаги вперед
Оставьте задачу: "Создай описание для блока FLProg OLED SH1106 с текстом".
Импортируйте во FLProg (библиотеки, блоки).
Тестируйте в симуляторе Wokwi, итеративно уточняя ошибки компиляции ИИ. Это сводит к минимуму барьер для некодировщиков, концентрирующихся на идеях, а не синтаксиса.
Вопро к ИИ можно написать программу на Python для блок-схемы подхвата из FLPRog c последующим написанием кода
ответ
Да, я напишу Python-программу для анализа экспорта блок-схем FLProg (.flp или .flb — XML-подобный формат) и генерации кода C++ для блоков блоков (Declare/Setup/Loop). Скрипт использует xml.etree.ElementTree для анализа блоков/связей, шаблонов для кода — идеально для ваших ESP32-проектов с энкодерами/степперами.
Установка и использование
Установите: pip install lxml(для надежного XML-парсинга).
Запуск: python flprog_parser.py input.flp output.cpp— последовательно Declare/Setup/Loop с #include, пинами, логикой if/связи.
Полный код парсера (flprog_parser.py)
Вопрос к ИИ
можешь написать программу для удаленного управления умным домом для MQTT
ответ
Вот полный пример программы на C++ для Arduino IDE (ESP32), реализующей удаленное управление умным домом через MQTT. Она управляет 2 реле (свет/степпер), публикует данные с энкодера (обороты) и температуру (DHT22), подходит для ваших проектов с моторами.
Требования
ESP32 (Super Mini/C3).
Библиотеки: PubSubClient, DHT sensor library (Arduino IDE: Sketch > Include Library > Manage Libraries).
MQTT-брокер: Установите Mosquitto на ПК/RPi (IP замените в коде) или используйте test.mosquitto.org.
Подключение: DHT22 (GPIO14), Реле1 (GPIO12), Реле2 (GPIO13), Энкодер (AiEsp32RotaryEncoder на GPIO 25/26).
ниже код
По-моему плюсов больше чем минусов)))))
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 12:13
slsl
Phazz писал(а): 24 фев 2026, 11:38
slsl писал(а): 24 фев 2026, 11:14
montirovka писал(а): 24 фев 2026, 10:58
Можно спросить и это: - Алиса, что хорошего в программе FLProg?
Алиса умеет и ПБ делать для флп.
В каком виде?
Для бэйсик редактора.
Вот буквально за минуту для управления Dali.
(задал всего два коротких вопроса: 1.
напиши блок для управления Dali 2.
переделать под ESP32)
Показать
напиши блок для управления Dali
Конечно! Разберём создание пользовательского блока для управления устройствами по протоколу DALI (Digital Addressable Lighting Interface) в среде FLProg.
Что понадобится
Аппаратная часть:
микроконтроллер (например, Arduino);
DALI-трансивер (например, MAX485 или специализированный модуль);
схема согласования уровней (DALI использует 16 В, а Arduino — 5 В/3,3 В).
Программная часть:
библиотека для работы с DALI (например, DALI или DALI2 для Arduino).
Пошаговое создание блока в FLProg
Шаг 1. Создание нового пользовательского блока
В FLProg: «Пользовательские блоки» → ПКМ → «Добавить новый блок».
Задайте имя: DALI_Controller.
Тип: «Функциональный блок».
Описание: «Управление устройствами DALI: включение, регулировка яркости, чтение статуса».
Шаг 2. Настройка входов и выходов блока
Входы Тип Описание
Enable bool Активация блока
Address int Адрес устройства DALI (0–63)
Command int Команда (1–255, см. таблицу команд DALI)
Value int Параметр команды (например, яркость 0–254)
Trigger bool Импульс для выполнения команды
Выходы Тип Описание
Status int Статус выполнения (0 — ошибка, 1 — успех)
Response int Ответ от устройства (если есть)
Busy bool Флаг занятости шины DALI
Шаг 3. Написание кода
Секция «Инициализация»
cpp
#include <DALI.h> // Подключаем библиотеку для работы с DALI
DALI dali; // Создаём объект DALI
int lastTrigger = 0;
int responseValue = 0;
void setupDALI() {
// Инициализация пинов для трансивера
pinMode(2, OUTPUT); // DE (Driver Enable) для MAX485
digitalWrite(2, LOW); // По умолчанию приём
dali.begin(9600); // Инициализация DALI на скорости 1200 бод (стандарт)
}
setupDALI(); // Вызываем инициализацию
Секция «Выполнение»
cpp
// Проверка активации блока
if (Enable) {
Busy = true;
// Обработка триггера (выполняем команду только при изменении сигнала)
if (Trigger && !lastTrigger) {
// Формируем команду DALI
uint8_t daliAddress = (uint8_t)Address;
uint8_t daliCommand = (uint8_t)Command;
uint8_t daliValue = (uint8_t)Value;
// Отправляем команду
if (dali.sendCommand(daliAddress, daliCommand, daliValue)) {
Status = 1; // Успех
// Если команда предполагает ответ (например, чтение яркости)
if (Command == 160) { // Пример: команда «Query Actual Level»
responseValue = dali.readResponse();
Response = responseValue;
}
} else {
Status = 0; // Ошибка
}
}
lastTrigger = Trigger;
} else {
Status = 0;
Busy = false;
}
Секция «Завершение»
cpp
// Деинициализация (опционально)
digitalWrite(2, LOW);
Шаг 4. Настройка библиотеки Arduino
Перед загрузкой кода в микроконтроллер:
Установите библиотеку DALI через менеджер библиотек Arduino IDE.
Убедитесь, что скорость UART соответствует стандарту DALI (1200 бод).
Проверьте подключение трансивера к пинам микроконтроллера.
Примеры команд DALI
Команда Значение Описание
0 OFF Выключить устройство
1 UP Увеличить яркость
2 DOWN Уменьшить яркость
5 STEP DOWN Шаг уменьшения яркости
160 QUERY ACTUAL LEVEL Запросить текущую яркость
254 RESET Сброс устройства
Схема подключения (упрощённо)
Arduino (5 В) → MAX485 (трансивер) → DALI Bus (16 В)
Pin 2 (DE) → /RE & DE (MAX485)
TX → DI (MAX485)
RX → RO (MAX485)
Важные нюансы
Электробезопасность: DALI использует напряжение до 16 В. Не подключайте напрямую к Arduino без согласования уровней!
Адресация: в DALI есть 3 режима адресации:
короткая (0–63);
групповая (0–15);
широковещательная (команда всем).
Тайминги: между командами должен быть интервал ≥ 24 мс.
Отладка: добавьте Serial.print() в код для отслеживания команд и ответов.
Обработка ошибок: проверяйте статус шины (например, коллизии) через библиотеку DALI.
Использование блока в проекте
Перетащите DALI_Controller на схему FLProg.
Подключите входы:
Enable → кнопка или логика активации;
Address → константа или переменная с адресом устройства;
Command → блок выбора команды;
Value → ползунок яркости (0–254);
Trigger → импульс от кнопки.
Подключите выходы к индикаторам или другим блокам.
Сгенерируйте код и загрузите в микроконтроллер.
Хотите, я раскрою какой‑то из этапов подробнее или помогу адаптировать блок под конкретную задачу (например, управление группой светильников или чтение статуса)?
переделать под ESP32
Конечно! Переделаем блок для управления DALI под ESP32 с учётом особенностей платформы (множество UART, тактовая частота, пины и т. д.).
Ключевые отличия ESP32 от Arduino
Несколько UART: ESP32 имеет 3 аппаратных UART (UART0, UART1, UART2) — можно выбрать свободный.
Напряжение пинов: 3,3 В (нужно учитывать при подключении трансивера).
Гибкая настройка пинов: почти любой пин можно назначить под UART.
Более высокая производительность: можно реализовать сложную логику обработки ответов.
Модификации для ESP32
Шаг 1. Создание блока в FLProg
В FLProg: «Пользовательские блоки» → ПКМ → «Добавить новый блок».
Имя: DALI_ESP32_Controller.
Тип: «Функциональный блок».
Описание: «Управление DALI на ESP32 с гибкой настройкой UART».
Шаг 2. Настройка входов и выходов
Добавлены новые входы для настройки UART:
Входы Тип Описание
Enable bool Активация блока
Address int Адрес устройства DALI (0–63)
Command int Команда DALI (1–255)
Value int Параметр команды (яркость 0–254)
Trigger bool Импульс для выполнения команды
UART_Num int Номер UART (0, 1 или 2)
Pin_TX int Пин для TX
Pin_RX int Пин для RX
Pin_DE int Пин для управления трансивером (Driver Enable)
Выходы Тип Описание
Status int Статус выполнения (0 — ошибка, 1 — успех)
Response int Ответ от устройства
Busy bool Флаг занятости шины
Error_Code int Код ошибки (если есть)
Шаг 3. Код для ESP32
Секция «Инициализация»
cpp
#include <HardwareSerial.h>
HardwareSerial daliSerial(1); // Используем UART1 по умолчанию
int lastTrigger = 0;
int responseValue = 0;
bool isInitialized = false;
void setupDALI() {
if (!isInitialized) {
// Настраиваем пины
pinMode(Pin_DE, OUTPUT);
digitalWrite(Pin_DE, LOW); // По умолчанию приём
// Инициализируем UART
daliSerial.begin(1200, SERIAL_8N1, Pin_RX, Pin_TX);
isInitialized = true;
}
}
setupDALI();
Секция «Выполнение»
cpp
Busy = true;
if (Enable) {
// Обработка триггера
if (Trigger && !lastTrigger) {
uint8_t daliAddress = (uint8_t)Address;
uint8_t daliCommand = (uint8_t)Command;
uint8_t daliValue = (uint8_t)Value;
// Формируем DALI-команду
uint8_t command[3];
command[0] = daliAddress << 1; // Адрес в старшем байте
command[1] = daliCommand;
command[2] = daliValue;
// Активируем передачу
digitalWrite(Pin_DE, HIGH);
delayMicroseconds(100);
// Отправляем команду
for (int i = 0; i < 3; i++) {
daliSerial.write(command);
}
// Ждём завершения передачи
delay(24); // Минимальный интервал между командами по стандарту DALI
// Возвращаем приём
digitalWrite(Pin_DE, LOW);
// Проверяем ответ (если команда предполагает ответ)
if (Command >= 160 && Command <= 191) { // Команды запроса
unsigned long timeout = millis() + 100; // Таймаут 100 мс
while (daliSerial.available() == 0 && millis() < timeout) {
delay(1);
}
if (daliSerial.available() > 0) {
responseValue = daliSerial.read();
Response = responseValue;
Status = 1;
} else {
Status = 0;
Error_Code = 1; // Таймаут ответа
}
} else {
Status = 1; // Команды без ответа считаются успешными
Error_Code = 0;
}
}
lastTrigger = Trigger;
} else {
Status = 0;
Error_Code = 2; // Блок отключён
}
Busy = false;
Секция «Завершение»
cpp
digitalWrite(Pin_DE, LOW);
isInitialized = false;
Шаг 4. Настройка проекта в FLProg для ESP32
Выбор платы: в настройках проекта укажите вашу модель ESP32 (например, ESP32‑WROOM‑32).
Настройка пинов: задайте конкретные номера пинов для:
Pin_TX (например, GPIO17);
Pin_RX (например, GPIO16);
Pin_DE (например, GPIO4).
UART: выберите доступный UART (рекомендуется UART1 или UART2, чтобы не мешать отладке через UART0).
Шаг 5. Подключение оборудования
Схема подключения для ESP32:
ESP32 (3,3 В) → MAX485 (трансивер) → DALI Bus (16 В)
GPIO17 (TX) → DI (MAX485)
GPIO16 (RX) → RO (MAX485)
GPIO4 (DE) → /RE & DE (MAX485)
Важные нюансы для ESP32
Согласование уровней: MAX485 работает с 5 В, а ESP32 — с 3,3 В. Используйте:
делитель напряжения на резисторах для RX;
буферный элемент (например, 74LVC1T45) для надёжности.
Питание трансивера: MAX485 требует 5 В — используйте DC‑DC преобразователь.
Защита шины: добавьте TVS‑диоды на DALI‑линию для защиты от перенапряжений.
Оптимизация энергопотребления: в режиме ожидания отключайте трансивер.
Отладка: используйте UART0 для вывода Serial.print() в монитор порта.
Примеры использования
Сценарий 1. Включение светильника
Address: 1;
Command: 0 (OFF) или 1 (UP);
Value: 254 (максимальная яркость);
Trigger: импульс 1 → 0.
Сценарий 2. Чтение яркости
Address: 1;
Command: 160 (QUERY ACTUAL LEVEL);
Value: 0;
Trigger: импульс — в Response придёт текущее значение яркости.
Сценарий 3. Групповое управление
Address: 64–79 (групповые адреса);
Command: 5 (STEP DOWN);
Value: 0.
Рекомендации по настройке
Тестирование: начните с простой команды (например, включение/выключение) и постепенно усложняйте логику.
Логирование: добавьте вывод отладочной информации через Serial для отслеживания команд и ответов.
Обработка ошибок: анализируйте Error_Code для диагностики проблем.
Тайминги: соблюдайте интервалы между командами (≥ 24 мс) согласно стандарту DALI.
Библиотеки: при необходимости используйте специализированные библиотеки для DALI, адаптированные под ESP32.
Хотите, я раскрою какой‑то из этапов подробнее или помогу адаптировать блок под конкретную модель ESP32 или задачу?
Скрины лень было делать, - просто скопипастил со страницы...
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 14:59
nickass
У меня мурашки по коже. Наверно уже скоро среды программирования контроллеров будет писать нам ИИ.
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 15:27
Rovki
Для меня схему накидать на 50 микросхем это минут 30, а с этим ИИ сутки. Дело даже не во времени, а куда нас всё это заведет.?... Это как с навигаторами и прочими гаджетами (инструментами) - сначала пища стала промышленной, потом лишились движения (доставки), потом мозг разгрузили ( маршрут перестали помнить, номера телефонов итд). Результат- ранние болезни (рак, диабет, сердечные, ожирение) ), а теперь и деменция повсеместная( зачем мозг, есть инструменты облегчения). Все, что не тренируется -отмирает. Природа (эволюция генов) не поспевает за развитием технологий...
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 15:30
cmept-27
Rovki писал(а): 24 фев 2026, 15:27
Для меня схему накидать на 50 микросхем это минут 30, а с этим ИИ сутки. Дело даже не во времени, а куда нас всё это заведет.?... Это как с навигаторами и прочими гаджетами (инструментами) - сначала пища стала промышленной, потом лишились движения (доставки), потом мозг разгрузили ( маршрут перестали помнить, номера телефонов итд). Результат- ранние болезни (рак, диабет, сердечные, ожирение) ), а теперь и деменция повсеместная( зачем мозг, есть инструменты облегчения). Все, что не тренируется -отмирает. Природа (эволюция генов) не поспевает за развитием технологий...
ОТКУДА ВЫ БЕРЕТЕСЬ ТАКИЕ ТУПЫЕ ? Извини забыл капс. Тема не про это
Re: FLProg - что было, как сейчас и что ожидается. Истории, случаи, казусы
Добавлено: 24 фев 2026, 15:35
nickass
Мозг можно нагрузить и другими задачами. Но соглашусь с вами. Человек существо ленивое и постоянно ищет способы облегчить себе работу. И постепенно наш мозг превращается из механизма обработки и хранения данных, в механизм хранения ссылок. Куда пойти и где найти нужную информацию.