Это не совсем так. У проекта много граней и монетизация это только одна из них. Любой желающий может бесплатно скачать любой дистрибутив и свободно его использовать для личных целей и обучения. А также каждый может задать вопрос на форуме и получить ответ от меня или от сообщества.Проект изначально разрабатывался как коммерческий
Arduino Mega Server
Модератор: Alex
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
-
- Сообщения: 45
- Зарегистрирован: Вт окт 27, 2015 4:23 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Arduino Mega Server
Как организовать логгирование показаний датчиков на SD карту с последующим их выводом в график.Alex писал(а):А также каждый может задать вопрос на форуме и получить ответ от меня или от сообщества.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Пару сообщений назад я уже ответил по поводу таких вопросов.Как организовать логгирование показаний датчиков на SD карту с последующим их выводом в график.
Если коротко, то эта задача вполне решаемая, но потребует значительных затрат сил и времени на её реализацию. Тут уже выкладывали пару её реализаций, я за этим не слежу, форумчане помогут ссылками.Если я могу сразу ответить и что-то подсказать, то отвечаю, но АМС неисчерпаем как атом ( (с) сами знаете кто) и если я буду сам копать код по каждому вопросу, то у меня времени ни на что больше не останется.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Конечно ответим ! Буквально вчера Alexsis_76 выложил поправленную версию страницы с динамическим обновлением графиков. Конкретная реализация зависит от платформы , на которую установлен AMS. ( От этого зависит процедура записи файла. У меня конкретно работает на DUE и ESP32 ). Почитайте историю создания этого чуда в ветке " Визуализация".
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Arduino Mega Server
где-то тут https://majordomo.smartliving.ru/forum/ ... 246#p51246Sps писал(а): Как организовать логгирование показаний датчиков на SD карту с последующим их выводом в график.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 45
- Зарегистрирован: Вт окт 27, 2015 4:23 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Arduino Mega Server
У меня Mega 2560 AMS v.0.16 чтобы прикрутить эти графики мне надо что-то менять в AMS?serghei писал(а):Буквально вчера Alexsis_76 выложил поправленную версию страницы с динамическим обновлением графиков. Конкретная реализация зависит от платформы , на которую установлен AMS.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Та ссылка на самое начало , с чего все началось. Работает на ESP8266 без SD карты. Запись истории в памяти 3 мегабайта. Использует сторонний сервер для построения графиков. То есть посылает файл данных и сервер возвращает картинку. Ограничения - файл не более 1 мегабайта. Из глобальных минусов - используется сторонний серверов и очень медленная работа.
На Меге сначала надо сформировать файл с историей значений каких хотите. Потом скачать и установить библиотеки графиков. И последнее - просто установить готовую .htm страницу graf.htm / Да и еще руками прописать в файле .txt названия для графиков.
А всё!
Все это работает на Due более полугода. Причем в двух версиях - логгирование по дням и за один период.
Готовый код выложу в ветке " Библиотека готовых решений". Единственное - на Меге я это не проверял. Да и работает очень медленно.
Сначала Вам надо проверить как правильно создается и записывается файл истории. А затем просто скопировать и установить файл graf.htm
PS. Если сами разберётесь - то быстро отвечу. Добавьте вкладку tlog
На SD закинь файлы
В сервер ажакс добавить по смыслу
На Меге сначала надо сформировать файл с историей значений каких хотите. Потом скачать и установить библиотеки графиков. И последнее - просто установить готовую .htm страницу graf.htm / Да и еще руками прописать в файле .txt названия для графиков.
А всё!
Все это работает на Due более полугода. Причем в двух версиях - логгирование по дням и за один период.
Готовый код выложу в ветке " Библиотека готовых решений". Единственное - на Меге я это не проверял. Да и работает очень медленно.
Сначала Вам надо проверить как правильно создается и записывается файл истории. А затем просто скопировать и установить файл graf.htm
PS. Если сами разберётесь - то быстро отвечу. Добавьте вкладку tlog
СпойлерПоказать
Код: Выделить всё
/*
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() { // Инициализируем модуль
modulTlog = MODUL_ENABLE; // Если модуль активен
started("TLog", true); // Старт модуля
}
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); // Возвращаем полученные значения в место вызова функции
}
#ifdef DATALOG_DEBUG
//Serial.print(objSens[n]);
// Serial.print(": ");
// Serial.println(current_temp[n]);
#endif
#endif // DATALOG_FEATURE
СпойлерПоказать
Код: Выделить всё
void sendLogAnswer (WiFiClient cl) {
cl.println(makeAnswer("text/log"));
}
void sendMsgAnswer (WiFiClient cl) {
cl.println(makeAnswer("text/msg"));
===========
else if (StrContains(HTTP_req, "GET /") && StrContains(HTTP_req, ".csv")) {
fileName = strtok(HTTP_req, "GET /");
webFile = SD.open("/" + (String)fileName);
if (webFile) {
sendCsvAnswer(cl);
}
else {
sendErrorAnswer(fileName, cl);
}
}
else if (StrContains(HTTP_req, "GET /") && StrContains(HTTP_req, ".log")) {
fileName = strtok(HTTP_req, "GET /");
webFile = SD.open("/" + (String)fileName);
if (webFile) {
sendLogAnswer(cl);
}
else {
sendErrorAnswer(fileName, cl);
}
}
else if (StrContains(HTTP_req, "GET /") && StrContains(HTTP_req, ".msg")) {
fileName = strtok(HTTP_req, "GET /");
webFile = SD.open("/" + (String)fileName);
if (webFile) {
sendMsgAnswer(cl);
}
else {
sendErrorAnswer(fileName, cl);
}
}
}
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 45
- Зарегистрирован: Вт окт 27, 2015 4:23 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Arduino Mega Server
Библиотеку можно скачать любую (для построения графиков) или эти файлы заточены под что-то определенное?serghei писал(а):Потом скачать и установить библиотеки графиков.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Ну это не совсем библиотеки - файлы AmCharts. Тоже самое, что и в МД. Они в архиве. Сначала получите файлы истории. Они будут создаваться каждый день новые. Имя файла - День-Месяц-Год. И один раз должен создаться файл "Gotdata.css". Графики появятся , когда будут хотя бы два значения в истории ( можно посмотреть в блокноте или вызвать в браузере IP сервера/gotdata.css или IP сервера/09-02-18.msg если сегодняшний день ).
Сейчас переношу код на Мегу. Если получится - выложу.
Сейчас переношу код на Мегу. Если получится - выложу.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 45
- Зарегистрирован: Вт окт 27, 2015 4:23 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Arduino Mega Server
файл "Gotdata.css" создал правда с расширением .csv нигде в файлах не упоминается .css в браузере файл открывается через эксель. Файлы 09-02-18.msg создаются с расширением .log в браузере не выводятся ERROR Connnection: close. Страница graf.htm загружается нормально, графики не выводятся.serghei писал(а):И один раз должен создаться файл "Gotdata.css". Графики появятся , когда будут хотя бы два значения в истории ( можно посмотреть в блокноте или вызвать в браузере IP сервера/gotdata.css или IP сервера/09-02-18.msg если сегодняшний день ).