1. Sps, на первой странице Alex подробно описал в каком состоянии проект:
На данный момент проект находится в статусе альфа версии и для работы с ним нужны знания программирования и веб-технологий. Если вы не чувствуете в себе уверенности в этих областях, то, возможно, вам стоит подождать некоторое время, пока проект не приобретёт более или менее законченный вид.
2. Alex, как можно писать код не добавляя комментарии? GaiverX проделал работу по комментированию файла: arduino_mega_server.ino (ver. 0.12), может использовать данный файл как основу?
3. Alex, м.б. вынести константы, как id температурных датчиков, вкл/выкл модулей(вместо //#define ELECTRO_FEATURE) на карту памяти в файл ams.conf (например), и управлять файлом с веба, а не перепрошивкой.
4. FAQ по поводу подключения температурных датчиков:
а. подключили датчики к порту
D2
б. загружаем скетч(если не загружен) и открываем "
монитор последовательного порта", где должны увидеть:
MEGA started...
Init SD card... OK
index.htm... found
Waiting for RTC sync...
Init SD card... OK
2015-11-03 16:37:01 Modul Temperature Init START
2015-11-03 16:37:01 Parasite power OFF
2015-11-03 16:37:01 Found 3 devices
2015-11-03 16:37:01 #0: 16 88 33 86 2 8 0 (tempSTR)
2015-11-03 16:37:01 #1: 16 225 34 86 2 8 0 (tempHOM)
2015-11-03 16:37:01 #2: 40 96 164 78 4 0 0 (tempWRM)
Found 3 devices - или сколько у Вас подключено датчиков. Далее берем id датчиков: 16 88 33 86 2 8 0, 16 225 34 86 2 8 0, 40 96 164 78 4 0 0 и заменяем значения в скетче rtemp:
Код: Выделить всё
// Sensors ID's
byte idTempDat[MAX_TEMP_SENSORS][MAX_ID_DIGITS] = {
{40, 240, 72, 81, 3, 0, 0}, // STR
{40, 221, 16, 81, 3, 0, 0}, // SRV
{40, 23, 98, 87, 3, 0, 0}, // WRM
};
в. Загружаем новый скетч и получаем на даш-панеле температуру с первого датчика(// STR).
P.S.: Alex, не знаю почему, но версия 0.12 работает стабильно (доступ к веб-серверу не пропадает), а версия 0.13 и пример (брал 7 и 8) из учебника
http://startingelectronics.org постоянно виснет, станица становится недоступной. Чудеса какие-то! А что делает следующий код(точнее для чего он?):
Код: Выделить всё
if (force == 0) {
sendTagByte("force", "", 1, cl);
} else {
sendTagByte("force", "", 0, cl);
}