Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Для любителей Ардуино и АМС статья на Хабре «Таймеры и многозадачность на Ардуино»

https://habr.com/post/413779/
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

А где обещанная в статье 0.18 версия?))

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
zDimaBYz
Сообщения: 5
Зарегистрирован: Сб июн 09, 2018 6:57 am

Re: Arduino Mega Server

Сообщение zDimaBYz »

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

Re: Arduino Mega Server

Сообщение Alex »

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

Re: Arduino Mega Server

Сообщение eGorka »

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

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

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

Re: Arduino Mega Server

Сообщение serghei »

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

Re: Arduino Mega Server

Сообщение serghei »

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

Re: Arduino Mega Server

Сообщение 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);  // реле выключено
  }          
}
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

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

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

Re: Arduino Mega Server

Сообщение serghei »

To zDimaBYz
По поводу переменной light1 . Выкладывал код пощелкать реле с Web страницы. Он сейчас не доступен ((. Реализацию можно посмотреть в " Готовых примерах" на форуме.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить