Страница 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
получается у тебя ИДЕ свежее а дровишки старее.... б..ть опять старые дрова лучше походу... :oops: :oops: :oops:

Re: Arduino Mega Server для ESP32

Добавлено: Пт мар 16, 2018 10:38 am
serghei
В моем понимании IDE - это просто компилятор. А дрова для плат идут как бесплатное приложение. Про это очень давно писал Алекс о не возможности компиляции скетчей на разных версиях.

А для ESP32 все по другому. Там просто отдельная папочка. А в неё можно кидать любые библиотеки. И затачивать их под свои нужды. Поэтому и бесполезно говорить про источники.

Re: Arduino Mega Server для ESP32

Добавлено: Пт мар 16, 2018 10:41 am
OverLock
доплил малось вачдогину которая по отсутсвию вайвай ребутает зверушку не нарушая РОС
SPOILERSPOILER_SHOW
инит:

Код: Выделить всё

//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
А если так?
SPOILERSPOILER_SHOW

Код: Выделить всё

Объявляем задачу:
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 писал(а):А если так?
SPOILERSPOILER_SHOW

Код: Выделить всё

Объявляем задачу:
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
только я не понял как оно работает :roll:

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
Пошел искать этот кландайк...

Похоже он гораздо Ближе.
Для тех, кто совсем в танке:

https://github.com/renat2985
https://github.com/renat2985/rgb

https://github.com/tretyakovsa
https://github.com/tretyakovsa/Sonoff_WiFi_switch