Василий
- неплохо было бы сравнить с bme280
Андрей Будылин
https://vladikoms.livejournal.com/97796.html
Андрей Будылин
но про 31 там нету, тоже хочу потестить
Evgheni
может кто рассказать про сенсорные выключатели от sonoff? можно ли их перепрошить, что по качеству или аналог если полный шлак
Evgheni
а поискать 5 минут ?
звучит слишком легко
Evgheni
на самом деле просто интересует личный опыт
Alexey
чаты все по ардуино ревратились не в помощь а в учебники по использованию компьютера или копи паст с поисковика
Alexey
шьються
Alexey
как своими так и сторонними
Alexey
работают
Slava
И Там кажись не есп8266, а урезанный аналог.
Evgheni
хмм, понадобится значит много терпения
Slava
хмм, понадобится значит много терпения
Ага, лучше не начинай, ковыряйся на есп32, в ней хоть ресурсов на полгода желаний хватит.
Алексей
Для выключателей 32 мягко говоря избыточна
Василий
так ведь не жалко - стасибо китайцам стоит копейки
Алексей
Ну сильно дороже 8266
Василий
ыыыы....я про 8266 подумал
Slava
Для выключателей 32 мягко говоря избыточна
Радиореле 315\433 МГц отличный вариант
Evgheni
Для выключателей 32 мягко говоря избыточна
я когда игрался смог упереться в ресурсы когда пытался подключится к amazon iot greengrass, http + ssl + json + mqtt и чёт приуныл 8266
Evgheni
не спрашивайте зачем я это делал, было вечером скучно
Denisio
Для выключателей 32 мягко говоря избыточна
ебошыть на все деньги! распберри на каждый выключатель!
Denisio
с ssl у 8266 всё оч плохо
Evgheni
он приуныл только от ssl, всё остальное заебись
mqtt + ssl более менее ещё норм, но если добавить ещё что-то, то всё, не хипа, не стека не хватает
Evgheni
mqtt + ssl более менее ещё норм, но если добавить ещё что-то, то всё, не хипа, не стека не хватает
это на freertos, на ардуино видимо как раз всё очень плохо возможно будет
Slava
Slava
Есть вопрос, это типа многозадачность в есп32?
ushakov
xTaskCreate() - это функция freeRTOS для создания потока (задачи). при использовании фреймворка esp-idf, то esp32 шьется с этой осью, насчет прошивки через ардуину, то не знаю точно, но судя по скринам там также в основе используется фриРТОС.
Slava
xTaskCreate() - это функция freeRTOS для создания потока (задачи). при использовании фреймворка esp-idf, то esp32 шьется с этой осью, насчет прошивки через ардуину, то не знаю точно, но судя по скринам там также в основе используется фриРТОС.
т.е. я могу сделать чтобы обработка получения данных от телеграм, которая может длиться до 10 секунд в худшем случае работала паралельно и не останавливала другие процедуры и функции?
ushakov
да, верно. там еще колбэки есть. т.е. можно по событию дергать функцию
Slava
спсб, буду пробовать
ushakov
спсб, буду пробовать
https://freertos.org/event-groups-API.html вот по ивентам (колбэкам)
Василий
спсб, буду пробовать
а можно послать нафиг все эти RTOS и писать методом автомата состояний - и без всяких RTOS будет - тысячезадачность
Василий
...хм...так сразу и не обьяснишь на пальцах суть проста - но нужно вникнуть
Василий
ща попытаюсь обьяснить
Василий
но может не стоит ?
Василий
надо перейти от линейного програмирования - к автомату состояний
Slava
Что такое автомат состояний?
Василий
ну теории по этому поводу много - но там все не понятно
Василий
давайте на примере
Василий
вот напишите как вы сделалаете мигамие светодиодом с задержкой в одну сек ?
Василий
а я напишу как это будет в автомате состояний
Slava
Ну конечно без delay(1000)
Василий
ну напишите как
Slava
Мигаем светодиодом без delay() | Аппаратная платформа Arduino http://arduino.ru/tutorials/BlinkWithoutDelay
Slava
Вот так
Василий
ну в принципе это близко к автомату состояний - но не совсем
Slava
Ждём код на автомате состояний
Alexandre
Что такое автомат состояний?
State machine, если английский ближе
Василий
enum { LED_ON, LED_OFF, } LED_State = LED_OFF; unsigned short Timer_LED = 0; // ************************************************************************************** // void SysTick_Handler (void) // 1ms - тут прерывания от вашего системного таймера // ************************************************************************************** // { if (Timer_LED > 0 ) Timer_LED--; } void TASK_LED (void) { switch (LED_State) { case LED_ON: { if (Timer_LED > 0 ) break; включаем светодиод Timer_LED = 500; LED_State = LED_OFF; break; } case LED_OFF: { if (Timer_LED > 0 ) break; вЫключаем светодиод Timer_LED = 500; LED_State = LED_ON; break; } } }
dizayner
На одном ядре не может быть многороточности в её обывательском смысле. Это мультиплексирование, где процессоргюное время делится между задачами
Василий
вот так это выгдлядит
Василий
многопоточность и многозадачность - немного разные вещи - там уже зависит от ядер
Василий
ну а тут ядро одно - так что многозадачность
Василий
ух ты
dizayner
а в esp32 два ядра ))
Воу, сорян, не знал)
Василий
ну компилятор разберется что с этими яйцами, ой ядрами делать
Василий
Суть этого заменить счетчик милис, я так понимаю.
нет - это как раз и есть состояния
Василий
т.е. задача делиться на кучу состояний - и потом пошагово выполняется
Василий
при этом - мы можем создать кучу ветвлений и перейти на нужное состояние - из любой точки
dizayner
Так вопрос был же про многозадачность, не понимаю, как ваш автомат решает это
Василий
ну автомат - не мой - его придумали умные люди - до меня
dizayner
Да, я знаю
dizayner
Я к тому что это не про многозадачность совсем
Slava
Про препывания я знаю, я программировал на ассемблере очень давно.
Василий
Я к тому что это не про многозадачность совсем
с чего бы это ??? у меня так работает около 40 задач со всеми ожиданиями и т.д
ushakov
Так вопрос был же про многозадачность, не понимаю, как ваш автомат решает это
там каждую миллисекунду проверяется состояние автомата и выполняется соответсвующее состоянию действо. т.е. в данном случае мы просто распределение процессорного времени перенесли на плечи пользовательской программы
Slava
В те времена, без системных прерываний игры не делались.
Василий
ну как бы ДА тут все ручками сделать надо - чужой RTOS не позаботиться
Василий
зато и не сожрет ресурсы - непонятно куда
Василий
поэтому я сразу и спросил - может не стоит описывать автомат состояний
Василий
тут как бы - каждый делает свой выбор - или не заморачиваясь и RTOS и потом удивляясь куда все делось - или полное управление ресурсами