Добрый день.
Респект автору, весьма познавательная получилась ветка. Я не силен в программировании и эта ветка натолкнула
меня на некоторые идеи ранее для меня не очевидные (как то использование вкладок в Arduino IDE, о существовании которых я даже не предполагал).
Идей собственно родилось несколько:
1. Экспериментируя со своей Arduini-UNO я быстро осознал, что покупать нужно было "Мегу", но родилась идея,
а что если "кастрировать" библиотеки дабы сделать их легче?
У меня при подключении SD.h память жрет неимоверно, а в проекте моей метеостанции ещё ни все реализовано.
Возможно можно обрезать другие библиотеки исходя из конкретных потребностей проекта и в итоге получить библиотеку под данный проект.
2. Прорабатывая варианты реализации проекта в рамках "Умный Дом" я все же склонился к применению распределённых ресурсов. Например на базе Laurent-2.
А с них уже собирать статистику и т.д., реализовав сбор данных и управление на базе проекта "Arduino Mega Server".
При таком подходе экономятся материалы на реализацию СКС в доме, к сожалению в самих Laurent-2 пока нет питания по POE, но автор заверил,
что данный вопрос рассматривается и возможно будет реализован в не далеком будущем.
Ну а теперь несколько вопросов и прошу ногами больно не пинать
1. Насколько я помню из опыта написания простеньких страничек на HTML при запуске index.html должна открываться некая страничка
через которую можно в последствии попасть в "глубь" проекта. Так это или нет? Ибо я если честно запутался в содержимом SD пытаясь разгадать
структуру оболочки и пока это отложил на потом, хотя в плане реализации управления всем проектом это важно.
2. Alex подскажите, что в вашем проекте относится именно к серверной части и без чего можно обойтись изучая принципы построения именно сервера.
Проект вышел весьма весомый и объемный. Просто изучая листинг я пока не понял (запутался), какие из вкладок отвечают именно за работу с серверной частью.
3. Подскажите новичку возможен ли вывод кириллицы напрямую командами из скетча (client.print, Serial.print).
4. В программе часто встречаются директивы препроцессирования #define которая как я понял в данном случае описывает наименование подпрограмм, в дальнейшем используемых в проекте.
Alex пожалуйста прокомментируйте следующие строки (что для чего и почему)
// Core
#define SERVER_FEATURE
// Middle
#define RTC_FEATURE
#define MAJORDOMO_FEATURE
#define UPLOAD_FEATURE
// Modules
#define SD_FEATURE
//#define PING_FEATURE
//#define LAURENT_FEATURE
#define PIRS_FEATURE
#define CONTACTS_FEATURE
//#define TEMP_FEATURE
#define ELECTRO_FEATURE
#define LEDS_FEATURE // + 1960 bytes progmem
//#define KEYS_FEATURE
//#define ELECTRO_DEBUG
//#define SERVER_PROFILING
Если это некие константы, то где им присваиваются значения?
Если это имена подпрограмм, тогда почему например SERVER_FEATURE в комбинации
#ifdef SERVER_FEATURE встречаются по всему проекту с разным вложением?
Короче нужна помощь по освоению программирования, можно в личку.
Буду весьма признателен за любые конструктивные консультации по программированию.
Больно уж хочется осилить "Умный Дом" самому, с ковыряниями под себя любимого.