Через интернет и с железными часами проблем нет - все работает. По дефолту в дистрибутиве прописано , что если есть связь с МД , то время брать с компа по 8888 порту. А вот это на винде работать не хочет. Может надо как то настраивать NTP сервер на самой винде. У меня не получается.
Да , и заходим в панель управления - объекты. Появится импорт файла.
Пожалуйста. Сам долго мучился , пока получилось....
Установка и связка AMS с Majordomo
Модератор: Alex
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Установка и связка AMS с Majordomo
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Установка и связка AMS с Majordomo
Огромное спасибо! Все получилось! Теперь все свои показания датчиков вижу не только в реальном времени, но и в их хронологическом изменении и взаимосвязи!serghei писал(а): ↑Ср апр 25, 2018 3:12 pmДавно не проверял , вечером попробую. Может в связи с переходом на PHP7 что то поменялось. Посмотрю у себя.
PS Проверил. Система на Win 10. С нового дистрибутива. Но для начала узнаем IP адрес Алисы и вписываем в скетч AMS во вкладке " dmajor"После этого в сериал порту должны увидеть , что AMS подключилась к Алисе и отсылает данные. ( Время не синхронизировано. Это отдельная зубная боль ))Код: Выделить всё
#ifdef MAJORDOMO_FEATURE char majorMegaObject[] = "ncMega01"; char majorCommObject[] = "comm_mega01"; // MajorDoMo net settings byte MAJOR_IP[] = {192, 168, 2, 103}; #define MAJOR_PORT 80
Температуру увижу через 5 минут.СпойлерПоказать
- Modul NTP...
Local port: 8888
started
1970-01-01 00:00:03 Modul Server... started
1970-01-01 00:00:03 Modul MajorDoMo...
1970-01-01 00:00:03 Connect to MajorDoMo... OK
1970-01-01 00:00:14 started
1970-01-01 00:00:14 Modul Upload... started
1970-01-01 00:00:19 Modul Electro... started
1970-01-01 00:00:19 Modul RobotDyn... started
1970-01-01 00:00:19 Modul nooLite... started
1970-01-01 00:00:19 GLOBAL Init DONE (19s)
1970-01-01 00:00:19 AMS WORK 2048 (25%)
1970-01-01 00:00:23 Host 192.168.2.103 GET /objects/?object=packPower1&op=m&m=update&u=89.13&p1=625.14&p2=642.16&p3=386.75&p4=398.32&p5=717.86&p6=294.93&p7=260.9&p8=234.5&p9=210.96&p10=205.83&p11=252.98&p12=223.76&p13=204.4 HTTP/1.0
1970-01-01 00:00:43 Host 192.168.2.103 GET /objects/?object=packPower1&op=m&m=update&u=84.55&p1=574.47&p2=595.26&p3=360.50&p4=372.98&p5=675.81&p6=274.19&p7=241.20&p8=214.72&p9=190.85&p10=186.12&p11=232.86&p12=205.9&p13=177.54 HTTP/1.0
1970-01-01 00:01:03 Host 192.168.2.103 GET /objects/?object=packPower1&op=m&m=update&u=80.21&p1=510.81&p2=527.51&p3=318.59&p4=328.81&p5=594.50&p6=242.27&p7=213.10&p8=190.37&p9=171.9&p10=168.3&p11=207.59&p12=183.65&p13=160.65 HTTP/1.0
1970-01-01 00:01:04 Host 192.168.2.103 GET /objects/?object=ncMega01&op=m&m=update&v=1
Далее в МД переходим в панель управления. В самом низу нажимаем " Инструменты". Появляется "Импортировать класс из файла:" Выбираем ARDUINO.TXT ( а так же два других файла ). Ставим галочку " Переписать". И затем "Импортировать"
В результате появится новый классДалее в Х-рее проверяем новые свойстваСпойлерПоказатьМД_АМС.jpgТо же самое будет для температуры и мощностей. Как это использовать - я могу только вывести на домашнюю страницу в SteelSeries или строить графики.СпойлерПоказатьСвойства.jpg
PS Как то не правильно вставляются картинки.
СпойлерПоказать
СпойлерПоказать
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Установка и связка AMS с Majordomo
Только исправь в своем сообщении, что надо заходить в панель управления - объекты - кнопка инструменты, чтобы другие не путались
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Установка и связка AMS с Majordomo
Сам только сейчас начал пилить под себя эту страницу. Спасибо ser009 за предоставленную возможность!
PS Поправил.
Оо! А такие графики не хочешь получить в AMS ? Уже запилили и логирование на карту тоже !
PS Поправил.
Оо! А такие графики не хочешь получить в AMS ? Уже запилили и логирование на карту тоже !
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Установка и связка AMS с Majordomo
Началось всё Отсюда. Для ESP8266 со SPIFFS системой. Потом перенёс на SD-карту. Продолжил на ДУЕ и закончил на ESP32. Сначала надо записать все данные на карту. Потом вывести на страницу. Процесс был долгим и разбросан по форуму. На Меге не проверял. Боюсь что тяжелые библиотеки будут долго грузиться. На дуе как то пошустрее будет. Мне проще готовый код сбросить. Или самому лопатить форум AMS и искать мои сообщения.
PS. Прежде чем "залезть" в эту тему , посмотри - создается или нет файл на карте. Работает на Дуе. На Меге не проверял.
На главной вкладке добавить
После этого должен создастся файл на карте. А уже после этого научить AMS работать с новыми файлами.
СпойлерПоказать
СпойлерПоказать
Код: Выделить всё
/*
Module TLOG DUE
part of Arduino Mega Server project
*/
/*
Модуль создаёт два файла :
1 "Gotdata.css" для страницы "Chart.htm". Автор идеи и сода Ledmax.
2 "/день-месяц-год/.log" для страницы "Graf.htm". Автор кода Ser009.
Страницу "Graf.htm" создал Alexsis_76.
*/
#ifdef TLOG_FEATURE
void TlogInit() { // Инициализируем модуль
moduleTlog = MODULE_ENABLE; // Если модуль активен
started("TLog"); // Старт модуля
}
void TlogWorks(){
if(cycle5m){ // Каждые 5 минут записываем данные
// собираем Имя путь и имя файла
String Mess1Name;
//MessName+="/Alarm/";
if(day()<10)
Mess1Name+="0"+String(day(),DEC);
else
Mess1Name+=String(day(),DEC);
if(month()<10)
Mess1Name+="-0"+String(month(),DEC);
else
Mess1Name+="-"+String(month(),DEC);
Mess1Name+="-"+String(year()-2000,DEC);
Mess1Name+=".log";
File dataFile = SD.open(String (Mess1Name), FILE_WRITE); // Открываем файл для записи логов страницы "Graf.htm"
if (dataFile) { // Если удалось открыть файл
dataFile.println(logString()); // Записываем строку логов в файл
dataFile.close(); // Закрываем файл
}else // Если не удалось открыть файл
Serial.println("Can't open file"); // Выводим сообщение об ошибке
}
//================================================================================================
if(cycle5m){ // Каждые 5 минут записываем данные
File dataFile = SD.open("gotdata.css", FILE_WRITE); // Открываем файл для записи логов для страницы "Chart.htm"
if (dataFile) { // Если удалось открыть файл
dataFile.println(logString()); // Записываем строку логов в файл
dataFile.close(); // Закрываем файл
}else // Если не удалось открыть файл
Serial.println("Can't open file"); // Выводим сообщение об ошибке
}
}
String logString() { // Функция для генерации логов
String dataString = String (year()) + "-" + String (month()) + "-" + String (day()) + " " + String (hour()) + ":" + String (minute()) + ":" + String (second())+ " " + ","
+ String (current_temp[0]) + "," + String (current_temp[1]) + "," + String (current_temp[2]) + "," + String (dht.readHumidity()) + "," + String (dht.readTemperature())+ " " + ","
+ String (temp) + "," + String (hum) + "," + String (pres); // Помещаем дату и температуру в новую строку логов ( можно добавить еще данных. 6 штук работают уверенно )
Serial.println(dataString); // Выводим строку логов на монитор серийного порта
return(dataString); // Возвращаем полученные значения в место вызова функции
}
#endif // DATALOG_FEATURE
СпойлерПоказать
Код: Выделить всё
#define SD_MESSAGE_FEATURE
#define TLOG_FEATURE
==============
// Durations
time_t prevEventElectroCycle;
time_t prevEventMegaLive;
time_t prevEventRequest;
//Alarm text
String AlarmLog = "";
//Log text
String DataLog = "";
// Переменная для текста сообщения
String MessText = "";
// Переменная для текста chart
String MesText = "";
// Переменная для типа сообщения
String Info = "информационное";
String Alarm = "аварийное";
=================================
byte moduleTlog = NOT_COMPILLED;
======================
#ifdef TLOG_FEATURE
TlogInit();
#endif
=====================
#ifdef TLOG_FEATURE
TlogWorks();
#endif
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS