Arduino Mega Server

Модератор: Alex

eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am

Re: Arduino Mega Server

Сообщение eGorka »

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

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

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

Re: Arduino Mega Server

Сообщение Alex »

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

И 200 мс раз в 5 минут при типовых задержках 10 мс — это более чем приемлемо. Надо будет меньше — будем думать.
zDimaBYz
Сообщения: 5
Зарегистрирован: Сб июн 09, 2018 6:57 am

Re: Arduino Mega Server

Сообщение zDimaBYz »

Кто-то знает как по умолчанию поменять тему на "Хакер дизайн" в версий 017 ??
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Классный вопрос! Но надо знать как вообще работает AMS. У Alex в подписи есть ссылки на описание проекта.
Самое примитивное, что приходит в голову - переименовать файлы _dash_hk.htm в _dash.htm и все подобные.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Кто-то знает как по умолчанию поменять тему на "Хакер дизайн" в версий 017 ??
По идее, если не перезагружать контроллер, то тема должна сохраняться. А перезагрузка возвратит всё по умолчанию. Кажется так, если я ничего не путаю.

А как сделать её по умолчанию, это вам только serghei скажет, он лучше всех в этом разбирается :)
Самое примитивное, что приходит в голову - переименовать файлы _dash_hk.htm в _dash.htm и все подобные.
Не, не, эти глотать не надо, они неправильные... Только хотел похвалить — но так делать не надо — нужно копать переменные тем в самом скетче...
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Так я и говорю - если открывать шампанское зубами, первое что приходит в голову - это ПРОБКА © :lol: . Но что бы не остаться без зубов - действительно надо рыть глубже.
Докручю MySensors ещё к 8266 ( на 32 работает , на Дуе в упор не видит), займусь этой темой.

PS/* Второе , что прилетело в голову , ковырять вкладку "Module Page Maker", где-то в этом месте
SPOILERSPOILER_SHOW

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

String themeSuffix(byte design) {
  switch (design) {
    case HOME_DESIGN:   return "_hm"; break;
    case MODERN_DESIGN: return "_md"; break;
    case HACKER_DESIGN: return "_hk"; break;
    case PART1_DESIGN:  return "_p1"; break;
    case PART2_DESIGN:  return "_p2"; break;
    case PART3_DESIGN:  return "_p3"; break;
    case PART4_DESIGN:  return "_p4"; break;
               default: return "";
  }
}
и заставить хакер-дизайн быть дефолтным.*/
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am

Re: Arduino Mega Server

Сообщение alexsis_76 »

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

Re: Arduino Mega Server

Сообщение serghei »

Всё таки первым шагом , как не странно, надо сделать устойчивый запуск сервера при любых условиях. Сейчас получается увидеть заветную надпись " АМС работает" когда он подключился к сети , прочитал файлы с карточки и запустил все свои модули. Последние ,в свою очередь, должны увидеть все сторонние сервисы.
А тут проводные АМС и с WIFI ведут себя по разному. То есть если включен модуль МД, а по факту Алисы в системе нет - сервер будет очень сильно тормозить.
Обслуживание далласов на ESP32 - это вообще отдельная песня. Что бы они заработали - сервер останавливается на уровне библиотеки. То есть пока не обработаются все данные , сервер не продолжит свою работу. А если на 1-wire понавесить еще кучу всего ? У меня эта сеть работает благодаря неимоверным усилиям eGorka . Так что он знает , что говорит.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Обслуживание далласов на ESP32 - это вообще отдельная песня.
У вас уже много полезных наработок — было бы неплохо, если бы вы их оформляли в виде статей тут или даже на своём сайте.
У меня эта сеть работает благодаря неимоверным усилиям eGorka . Так что он знает , что говорит.
Мы нисколько не сомневаемся в компетентности eGorka, он её доказал своими решениями.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Alex писал(а): Пн июн 11, 2018 8:18 am У вас уже много полезных наработок
Всё что касается проводных серверов на Меге и Дуе - это кеширование в браузере , логирование на карту и вывод на страницу графиков - все это обсуждали , решили и я выкладывал на форуме. Ну еще прикрутил индикаторы SteelSeries.
Готовую сборку выложу еще раз.

По ESP8266 подобная ситуация. Прикручивание NRF24 то же объяснял. Еще ползу на сайт погоды и вывожу данные ( с КАРТИНКАМИ тучек ) на страницу. Но это реализовано в коде на 5000 порту. Это очень криво и не правильно , НО РАБОТАЕТ !

А вот по ESP32 - есть очень много вопросов. И главный - как вообще работать с RTOS на двух ядрах поразнь. То , что сейчас у меня в подписи - по уму вообще работать не должно !!!! А работает только за счет модификации ВСЕХ библиотек!
Единственное , что работает ПРАВИЛЬНО - это реконект к сети.
За последний год сформировались требования , как я вижу правильную работу серверов , но реализовать на уровне кода - нужна помощь зала.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить