Уважаемые посетители сайта esp8266.ru!
Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram
Программа при запуске определяет, например, что это ESP-01 и соответственно понимает, что у нее есть 4 порта ввода-вывода.
Т.е. чтоб не делать два вида прошивок или не заводить бит конфигурации.... - взяли чистую esp, прошили и программа поняла куда ее прошили
Есть устройство в 2-х работающих версиях: в первой используется esp-01 и управляет 2 реле и 2 концевика, а в новой версии уже 4 реле и 3 концевика. Все концевики изначально разомкнуты и по ним не определить. Допаивать что-то не вариант - вскрывать работающие устройства никто не даст.
Может есть какая функция, которая возвращала инфу, по которой можно определить что за esp используется?
Чип во обоих случаях один и тот же - ESP8266EX.
ESP-01 и ESP-12 - это не чипы, а модули. Отличаются дизайном и в частности объемом флеш памяти. В вашем случае думаю этого критерия достаточно. ESP-01 с 4МБ памяти не бывает (если только самому флеш не перепаять)
Или анализируйте их схемы - может найдете где какой пин по-другому подтянут. Но вряд ли, и это еще более сомнительный путь.
Если нет возможности визуально увидеть саму плату и вам нужно определять при запуске, то можно сделать вывод подсказки в монитор порта при подключении к компьютеру или подключить экранчик, например 1602 и при запуске выводить информацию на экран. Вам придется создать 2 программы: для 01 и 12 с соответствующим названием. Если это ваш вариант, можно поговорить подробней.
Я могу предложить еще такой "забавный" универсальный вариантик первоначальной инициализации...
1. Отслеживаем самый первый запуск программы (через запись переменной в NVS).
2. Во время первого запуска в основной код не заходим, а включаем 2 прерывания от "концевика 2 модуля -01" и от "концевика 3 модуля -12" и ждемс "нажатия кнопочки"...
3. По тому, какое прерывание сработало, определяем что установлено внутри (пишем в NVS) и в путь...