Страница 262 из 328
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:14 pm
zDimaBYz
serghei писал(а): ↑Сб июн 09, 2018 5:48 pm
Вот цырк - сам не могу скомпилировать 017 версию. Хотя работало (((.
To
zDimaBYz
А что у Вас за первые три каталога? Хотя у меня бывает , что Дуя теряет карту. Но это уже от старости и грязи на контактах. Помогает передергивание SD в слоте.
Хотя с 017 версией плотно не работал.
Проблема решена... форматировал SD Card через SD Card Formatter и отключил питание опять включил заработало. Эта версия (ams_017.zip) предназначена для работы со средой Arduino 1.8.5
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:27 pm
Alex
А где обещанная в статье 0.18 версия?))
Ёлки-палки, благодарю, я почему-то был уверен, что АМС уже 0.18 версии
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:29 pm
eGorka
Alex писал(а): ↑Вс июн 10, 2018 3:56 pm
Для любителей Ардуино и АМС статья на Хабре «Таймеры и многозадачность на Ардуино»
Основной кейс при данном типе организации многозадачности — это создавать так называемый «неблокирующий» код, то есть код, который не использует функцию delay(), которая просто приостанавливает выполнение программы на заданное время.
И при этом использовать в AMS
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:29 pm
serghei
Конкретный пример многозадачности ( поморгать и покрутить ) , а самое главное - понятие " конечный автомат " и ООП на ардуино очень хорошо объяснены
В этой статье.
Спасибо за пояснения!
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:44 pm
serghei
zDimaBYz писал(а): ↑Вс июн 10, 2018 4:14 pm
Эта версия (ams_017.zip) предназначена для работы со средой Arduino 1.8.5
Разобрался. Опять расположение библиотек поломал. Вернул все обратно.
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:48 pm
zDimaBYz
У меня очень интересный вопрос: как перенести любую переменю например из
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); // реле выключено
}
}
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 4:49 pm
Alex
И при этом использовать в AMS
#include DallasTemperature.h
Дело в том, что разработка идёт на принципах разумной достаточности — если далласы вписываются (в данном случае в мои) представления о разумной достаточности, то я использую эту библиотеку, если нет — использую другое решение или переписываю библиотеку.
а самое главное - понятие " конечный автомат
Куды уж без него. На данный момент АМС это и есть своего рода конечный автомат (собственно почему он и работает).
И, кстати, рекомендую, кто не слушал, послушать лекции Олега — ничего особо нового, но всё очень хорошо раскладывает по полочкам.
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 5:03 pm
serghei
To zDimaBYz
По поводу переменной light1 . Выкладывал код пощелкать реле с Web страницы. Он сейчас не доступен ((. Реализацию можно посмотреть в " Готовых примерах" на форуме.
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 5:06 pm
eGorka
Alex писал(а): Дело в том, что разработка идёт на принципах разумной достаточности — если далласы вписываются (в данном случае в мои) представления о разумной достаточности, то я использую эту библиотеку, если нет — использую другое решение или переписываю библиотеку.
Ваши представления
Основной кейс при данном типе организации многозадачности — это создавать так называемый «неблокирующий» код, то есть код, который не использует функцию delay(), которая просто приостанавливает выполнение программы на заданное время.
Разумная достаточность
Другими словами рассуждения о "неблокирующем» коде, так, пыль в глаза, разумнее использовать библиотеку, которая блокирует код на 750 мс.?
Без обид, но Вы второй человек который публично рассуждает о неблокирующем коде и при этом использует DallasTemperature.
Re: Arduino Mega Server
Добавлено: Вс июн 10, 2018 8:39 pm
Alex
разумнее использовать библиотеку, которая блокирует код на 750 мс.?
eGorka, ну какие 750 мс? И что это вообще за детский сад — штаны на лямках? Во всех моих проектах далласы работают на «второй скорости», сейчас не помню, но это кажется то ли 200, то ли 150 мс. Да, это ещё много, но ДЛЯ МОИХ КОНКРЕТНЫХ ЗАДАЧ это меня вполне устраивает.
И 200 мс раз в 5 минут при типовых задержках 10 мс — это более чем приемлемо. Надо будет меньше — будем думать.