progserega
New member
Добрый день!
Насколько я понял есть три основных вырианта программирования esp8266:
1) В среде ардуино - в результате из esp8266 как бы эмулируется некое arduino-подобное устройство с setup(), loop(). Но есть возможность использовать вал библиотек, созданных под arduino, но и можно вызывать функции RTOS для работы с прерываниями, потоками и прочими мьютексами и очередями. Из минусов вижу, что из-за слоёв надстроек - не совсем может быть понятно где проблема, если что-то не заработает. А так же часть примеров откажется работать, т.к. "платформа не ардуино!". В общем как-то "сырова-то". Разбираться в проблемах кучи надстроек - мало приятного.
2) SDK nonOS - тут наверное для каких-то особо тяжеловесных задач, где не нужен RTOS.
3) SDK RTOS - тут всё бы хорошо, но тут гольный Си (что хорошо), но нет практически библиотек (что плохо). Можно портировать с ардуино, но это переписывать С++ -> Си, плюс разные проблемы внутри. Для LCD 1602 переписал под RTOS , а попробовал глянуть 1Wire - и ужаснулся сколько там зависимостей внутри и сколько переписывать. А для ESP826, например OneWire библиотеки не нашёл - все, что есть - написаны под ESP32, где есть модуль RMT (последовательной передачи). И в результати RTOS вроде и красиво, но столько всего переписывать, а готовых либ практически нет. А если и есть, то зачастую заточены именно под ESP32. И как-то это ставит в тупик.
Получается, что ESP8266 - это либо оконечное устройство для какой-нибудь HomeAssistent в виде ESPHome, либо эмулировать Arduino (пункт 1). А в чистом виде писать под RTOS - это брать спеки и писать, зачастую всё с нуля, что достаточно затратно по времени, в сравнении с "покидал кусков примеров на arduino, скрутил изолентой и в прод" - первого варианта.
Может быть я чего-то фундаментального не понимаю - прошу подсказать опытных товарищей.
Насколько я понял есть три основных вырианта программирования esp8266:
1) В среде ардуино - в результате из esp8266 как бы эмулируется некое arduino-подобное устройство с setup(), loop(). Но есть возможность использовать вал библиотек, созданных под arduino, но и можно вызывать функции RTOS для работы с прерываниями, потоками и прочими мьютексами и очередями. Из минусов вижу, что из-за слоёв надстроек - не совсем может быть понятно где проблема, если что-то не заработает. А так же часть примеров откажется работать, т.к. "платформа не ардуино!". В общем как-то "сырова-то". Разбираться в проблемах кучи надстроек - мало приятного.
2) SDK nonOS - тут наверное для каких-то особо тяжеловесных задач, где не нужен RTOS.
3) SDK RTOS - тут всё бы хорошо, но тут гольный Си (что хорошо), но нет практически библиотек (что плохо). Можно портировать с ардуино, но это переписывать С++ -> Си, плюс разные проблемы внутри. Для LCD 1602 переписал под RTOS , а попробовал глянуть 1Wire - и ужаснулся сколько там зависимостей внутри и сколько переписывать. А для ESP826, например OneWire библиотеки не нашёл - все, что есть - написаны под ESP32, где есть модуль RMT (последовательной передачи). И в результати RTOS вроде и красиво, но столько всего переписывать, а готовых либ практически нет. А если и есть, то зачастую заточены именно под ESP32. И как-то это ставит в тупик.
Получается, что ESP8266 - это либо оконечное устройство для какой-нибудь HomeAssistent в виде ESPHome, либо эмулировать Arduino (пункт 1). А в чистом виде писать под RTOS - это брать спеки и писать, зачастую всё с нуля, что достаточно затратно по времени, в сравнении с "покидал кусков примеров на arduino, скрутил изолентой и в прод" - первого варианта.
Может быть я чего-то фундаментального не понимаю - прошу подсказать опытных товарищей.