Arduino Mega Server

Модератор: Alex

zDimaBYz
Сообщения: 5
Зарегистрирован: Сб июн 09, 2018 6:57 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение zDimaBYz » Вс июн 10, 2018 4:14 pm

serghei писал(а):
Сб июн 09, 2018 5:48 pm
Вот цырк - сам не могу скомпилировать 017 версию. Хотя работало (((.

To zDimaBYz
А что у Вас за первые три каталога? Хотя у меня бывает , что Дуя теряет карту. Но это уже от старости и грязи на контактах. Помогает передергивание SD в слоте.
Хотя с 017 версией плотно не работал.
Проблема решена... форматировал SD Card через SD Card Formatter и отключил питание опять включил заработало. Эта версия (ams_017.zip) предназначена для работы со средой Arduino 1.8.5
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс июн 10, 2018 4:27 pm

А где обещанная в статье 0.18 версия?))
Ёлки-палки, благодарю, я почему-то был уверен, что АМС уже 0.18 версии :)
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server

Сообщение eGorka » Вс июн 10, 2018 4:29 pm

Alex писал(а):
Вс июн 10, 2018 3:56 pm
Для любителей Ардуино и АМС статья на Хабре «Таймеры и многозадачность на Ардуино»
Основной кейс при данном типе организации многозадачности — это создавать так называемый «неблокирующий» код, то есть код, который не использует функцию delay(), которая просто приостанавливает выполнение программы на заданное время.
И при этом использовать в AMS

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

#include <DallasTemperature.h>
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс июн 10, 2018 4:29 pm

Конкретный пример многозадачности ( поморгать и покрутить ) , а самое главное - понятие " конечный автомат " и ООП на ардуино очень хорошо объяснены В этой статье.
Спасибо за пояснения!
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс июн 10, 2018 4:44 pm

zDimaBYz писал(а):
Вс июн 10, 2018 4:14 pm
Эта версия (ams_017.zip) предназначена для работы со средой Arduino 1.8.5
Разобрался. Опять расположение библиотек поломал. Вернул все обратно.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
zDimaBYz
Сообщения: 5
Зарегистрирован: Сб июн 09, 2018 6:57 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение zDimaBYz » Вс июн 10, 2018 4:48 pm

У меня очень интересный вопрос: как перенести любую переменю например из server_ajax.ino в arduino_mega_server.ino ?
Например у меня написано в server_ajax.ino

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

byte light1 = 0;

void setControl() {
 #ifdef LEDS_FEATURE
  if (StrContains(HTTP_req, "light1=1")) {
    light1 = 1;
    red(led1, 127);
  } 
И переменую light1 перенести в arduino_mega_server.ino

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

// Реле модуль подключен к цифровому выводу 22
int Relay = 22;

void setup() 
{                
  pinMode(Relay, OUTPUT);     
}

void loop() 
{
if (light1 = 1) {
  digitalWrite(Relay, LOW);   // реле включено
  }
else {   
  digitalWrite(Relay, HIGH);  // реле выключено
  }          
}
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс июн 10, 2018 4:49 pm

И при этом использовать в AMS
#include DallasTemperature.h
:) Дело в том, что разработка идёт на принципах разумной достаточности — если далласы вписываются (в данном случае в мои) представления о разумной достаточности, то я использую эту библиотеку, если нет — использую другое решение или переписываю библиотеку.
а самое главное - понятие " конечный автомат
Куды уж без него. На данный момент АМС это и есть своего рода конечный автомат (собственно почему он и работает).

И, кстати, рекомендую, кто не слушал, послушать лекции Олега — ничего особо нового, но всё очень хорошо раскладывает по полочкам.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс июн 10, 2018 5:03 pm

To zDimaBYz
По поводу переменной light1 . Выкладывал код пощелкать реле с Web страницы. Он сейчас не доступен ((. Реализацию можно посмотреть в " Готовых примерах" на форуме.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server

Сообщение eGorka » Вс июн 10, 2018 5:06 pm

Alex писал(а): Дело в том, что разработка идёт на принципах разумной достаточности — если далласы вписываются (в данном случае в мои) представления о разумной достаточности, то я использую эту библиотеку, если нет — использую другое решение или переписываю библиотеку.
Ваши представления
Основной кейс при данном типе организации многозадачности — это создавать так называемый «неблокирующий» код, то есть код, который не использует функцию delay(), которая просто приостанавливает выполнение программы на заданное время.
Разумная достаточность

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

#include <DallasTemperature.h>
Другими словами рассуждения о "неблокирующем» коде, так, пыль в глаза, разумнее использовать библиотеку, которая блокирует код на 750 мс.?
Без обид, но Вы второй человек который публично рассуждает о неблокирующем коде и при этом использует DallasTemperature.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс июн 10, 2018 8:39 pm

разумнее использовать библиотеку, которая блокирует код на 750 мс.?
eGorka, ну какие 750 мс? И что это вообще за детский сад — штаны на лямках? Во всех моих проектах далласы работают на «второй скорости», сейчас не помню, но это кажется то ли 200, то ли 150 мс. Да, это ещё много, но ДЛЯ МОИХ КОНКРЕТНЫХ ЗАДАЧ это меня вполне устраивает.

И 200 мс раз в 5 минут при типовых задержках 10 мс — это более чем приемлемо. Надо будет меньше — будем думать.
Ответить