Страница 30 из 51
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 10:05 am
Alex
Алгоритм уже озвучили Тут. Осталось только код написать )).
Друзья, код этого «секретного алгоритма» уже больше года лежит в открытом доступе на ресурсах Сергея Третьякова и его друга Рената К — там и JSON и SNMP и автообновление с веб-сервера и всё прочее. Бери — и пользуйся, всё уже написано и роздано всем желающим.
Все «кому надо» об этом знают, похоже секретом это является только для участников нашего форума. Точный адрес не подскажу, давно это было, я «бросил глаз» на этот код и забыл за ненадобностью.
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 10:10 am
serghei
Ну вот ,хотел как лучше , а получилось как всегда......
Пошел искать этот кландайк...
Похоже он гораздо
Ближе.
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 10:31 am
OverLock
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 10:38 am
serghei
В моем понимании IDE - это просто компилятор. А дрова для плат идут как бесплатное приложение. Про это очень давно писал Алекс о не возможности компиляции скетчей на разных версиях.
А для ESP32 все по другому. Там просто отдельная папочка. А в неё можно кидать любые библиотеки. И затачивать их под свои нужды. Поэтому и бесполезно говорить про источники.
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 10:41 am
OverLock
доплил малось вачдогину которая по отсутсвию вайвай ребутает зверушку не нарушая РОС
инит:
Код: Выделить всё
//watchdog timer
long WDOGFALLBACKCOUNTER = 180000;
long wdog;
int wdcounter;
код:
Код: Выделить всё
wdog = millis();
if (WiFi.status() != WL_CONNECTED) {
wdcounter++;
if (wdcounter >= 50000) {
Serial.print("Start counting down to reboot in:");
Serial.println(WDOGFALLBACKCOUNTER-millis());
wdcounter=0;
}
if (wdog >= millis()+WDOGFALLBACKCOUNTER) {
Serial.println("some cheat happened... restarting MCU");
ESP.restart();
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 11:14 am
serghei
А если так?
Код: Выделить всё
Объявляем задачу:
xTaskCreate( reconnectTask, "Reconnect", 5000, NULL, 1, NULL );
Собственно задача:
void reconnectTask( void * parameter )
{
while(1)
{
if (WiFi.status() != WL_CONNECTED )
{
WiFi.reconnect();
}
vTaskDelay( 30000 / portTICK_PERIOD_MS );
}
vTaskDelete(NULL);
}
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 11:46 am
olmoro
serghei писал(а):А если так?
Код: Выделить всё
Объявляем задачу:
xTaskCreate( reconnectTask, "Reconnect", 5000, NULL, 1, NULL );
Собственно задача:
void reconnectTask( void * parameter )
{
while(1)
{
if (WiFi.status() != WL_CONNECTED )
{
WiFi.reconnect();
}
vTaskDelay( 30000 / portTICK_PERIOD_MS );
}
vTaskDelete(NULL);
}
Так тоже можно))
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 12:32 pm
OverLock
только я не понял как оно работает

Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 1:44 pm
serghei
Хороший вопрос. Для начала надо вообще врубиться что такое Rtos , как оно работает , что такое два ядра и один комплект Gpio. В примерах есть работа с двумя ядрами по очереди. По правильному надо новый код для любого железа ( датчиков) писать с учетом задач. Даже то же поиск и чтение DS18B20 разбивать на кучу мелких задачек.
Примеры кода надо смотреть у olmoro на сайте.
Re: Arduino Mega Server для ESP32
Добавлено: Пт мар 16, 2018 3:09 pm
Alex