Страница 227 из 328
Re: Arduino Mega Server
Добавлено: Пн авг 28, 2017 12:39 am
serghei
Прикрутил я радиоприёмник к АМС
. Пока железяку не подключил физически , пробую создать Веб страницу для него. И столкнулся с первой проблемой - частота настройки в браузер передается пяти (четырех) значным числом. А в сериал по другому. Там все правильно - " 189 . 30" . Собственно вопрос - можно как то средствами HTML (или правильнее PHP ?) поделить число на сотню ?
Когда рисовал спидометры прокатывал ход лошадью - брал значение аналогового входа , делил на 10 и получал другой масштаб.
Код: Выделить всё
data-onready="setInterval( function() { Gauge.Collection.get('an_gauge_2').setValue(data_val2/10);// тут разделил //}, 200);"></canvas>
Вариант с делением на сотню в Ажаксе не сработал - просто отрезались два последних числа и из 18930 получилось просто 189.
Код: Выделить всё
s += makeTag("radFrec", "", String (radio.getFrequency()/100));
Или как то по другому надо делить? Ведь температура передается с дробной частью. Или при отображении в Даш-панели можно как то принудительно поставить точку?
В сериал выводится так
Код: Выделить всё
void radiosWorks() {
// put your main code here, to run repeatedly:
if(!digitalRead(54) ){ // Если увидели что дергают ногу 54
radio.seekUp(true);
}
char s[12];
radio.formatFrequency(s, sizeof(s));
if (cycle1m) {
Serial.print("FREQ:"); Serial.println(s);
}
//Serial.print("FREQ:"); Serial.println(s);
}
- Картинка
- DUE_Radio.jpg (168.15 КБ) 8134 просмотра
Re: Arduino Mega Server
Добавлено: Вт авг 29, 2017 8:32 am
eGorka
serghei писал(а):Вариант с делением на сотню в Ажаксе не сработал - просто отрезались два последних числа и из 18930 получилось просто 189.
Код: Выделить всё
s += makeTag("radFrec", "", String (radio.getFrequency()/100));
Может так?
String (parseInt(radio.getFrequency())/100)
Re: Arduino Mega Server
Добавлено: Вт авг 29, 2017 11:27 am
serghei
Все гениальное - просто. И написано с рождения АМС ! Уже в скрипте объявляем вторую переменную , первую делим на сотню и выводим в панель. Точно так же , как округление температуры. Вот только засада с незначащим нулем. Пришлось добавить 0 руками. Теперь всё красиво.
Спасибо!
А вообще эта тема возникла , когда я купил TFT экран с тачь-панелью и стал искать к нему драйвера. И первое на что я наткнулся - пример работы радио + 8 кнопок + датчик BME280 + часы + СЛАЙДЕР !!!!!!! громкости + и все это тыкается с экрана ! Ну и в библиотеке радио бонусом идет вывод в Веб по JSON. Код залил в Мегу ( только нужна родная библиотека Ethernet.h ). Будем посмотреть что такое JSON.
А научить АМС боюсь мозгов не хватит , хотя код воткнул и он компилируется !!
Re: Arduino Mega Server
Добавлено: Вт авг 29, 2017 11:44 pm
serghei
Что бы логически закончить тему логирования данных для АМС необходимо записывать значения в файл .log , где названием файла будет его дата создания. За основу взял код
ser009 для записи событий. И вот что получилось. Можете проверить насколько это правильно? Файл создаётся, но пока мало истории.
Огромное СПАСИБО участникам создания этого чуда !!!
ledmax как замутившему тему и автора кода для ESP8266
Alexsis_76 как автора скриптов
ser009 как автора кода событий
Красоту наводить уже дело вкуса . Вариант с одним файлом тоже оставлю - замечательна видна динамика за месяц работы.
.....продолжение следует.....
Re: Arduino Mega Server
Добавлено: Сб сен 09, 2017 11:05 pm
serghei
Маленькое дополнение к предыдущему сообщению.
Попробовал создать две версии файла логирования - для одного файла и разбитого по дням. Так как руки поломал в детстве ( реально) , получилось немного криво , но работает. Создается два файла для разных страниц , но используется одна библиотека "AmCharts".
Месяц записи на SD карту каждые 5 минут прошел успешно. Надо увеличить значения таймера до получаса.
Код модуля
Ну и картинки
- Глюк Далласа -127 С
- Due_1_file.jpg (116.68 КБ) 6609 просмотров
И по дням
- Due_graf.jpg (86.22 КБ) 6609 просмотров
Может код как то можно упростить или выровнять ??))). Из разряда теста можно смело переносить на рабочую машину.
PS. Зря многие бочку катят на DHT_11. Работает вполне адекватно и наравне с Далласом ( с учетом округления) и без всяких подтяжек.
Re: Arduino Mega Server
Добавлено: Вс сен 10, 2017 7:47 am
Alex
Месяц записи на SD карту каждые 5 минут прошел успешно.
Тут дело даже не в записи на карту — это ещё одно (независимое) подтверждение того, что АМС это абсолютно стабильная и надёжная система — сама по себе (если не портить) работает месяцами безо всяких утечек памяти и прочих глюков.
То есть на ней можно строить реально работающие практические системы автоматизации. Что подтверждается и практикой моих внедрённых и работающих в режиме 24/7 проектов.
Re: Arduino Mega Server
Добавлено: Ср сен 13, 2017 11:38 pm
serghei
За полтора года работы и изучения АМС так и не видел синхронизации времени ни на Меге , ни на Дуе. По совету Специалистов ( именно с Большой буквы ) полгода назад добавил и прописал DNS к модулю dethernet. Но .........
...Не знал про Ethernet.begin .. Этот форум пора издавать отдельной книгой.
victorhom писал(а):Помаленьку исправляем косяки:
У меня локалка в диапазоне 192.168.1.* со шлюзом в Интернет 192.168.1.200. Поменял шилду W5100 IP адрес, никак не поднимался NTP клиент.
Решение:нужно в модуле ethernet указать gateway!
Код: Выделить всё
// Ethernet settings
byte SELF_MAC[] = {0x00, 0x2A, 0xF5, 0x12, 0x68, 0xFE};
byte SELF_IP[] = {192, 168, 1, 57};
byte MY_DNS[] = {84, 22, 142,2};
byte MY_GATEWAY[] = {192, 168, 1, 200};
void ethernetInit() {
Ethernet.begin(SELF_MAC, SELF_IP, MY_DNS, MY_GATEWAY);
modulEthernet = 1;
Serial.println("Modul Ethernet... started");
}
и все поднялось.
Только я взял Гугловский DNS 8.8.8.8
Посвящается Всем , у кого нет синхроницации - добавьте к скетчу
Код: Выделить всё
// Ethernet settings
byte SELF_MAC[] = {0x00, 0x2A, 0xF5, 0x12, 0x67, 0x50};
byte SELF_IP[] = {192, 168, 2, 37};
byte DNS[] = {8 ,8 ,8 ,8};
byte GATEWAY[] = {192, 168, 2, 100};
void ethernetInit() {
Serialprint("Modul Ethernet...\n");
Ethernet.begin(SELF_MAC, SELF_IP, DNS, GATEWAY);
Serialprint(" MAC: ");
printMac(SELF_MAC);
И всё заработает !!!
PS Не в эту тему , но RobotDyn исправил свою ошибку и сейчас гружу их плату с 4 мегабайтами у ESP 8266+ Мега . Да и цена упала в 2 раза. (10 баксов).
Re: Arduino Mega Server
Добавлено: Чт сен 14, 2017 7:48 am
ser009
у меня DNS вообще не используется. И все прекрасно работает.
Re: Arduino Mega Server
Добавлено: Чт сен 14, 2017 7:51 am
serghei
Я мало что в этом смыслю , но мы живём в разных странах. И почему тогда один и тот же код работает по разному у нас?
И к тому же у тебя поднят NTP на локалке.
Re: Arduino Mega Server
Добавлено: Чт сен 14, 2017 8:17 am
nick7zmail
ser009 писал(а):у меня DNS вообще не используется. И все прекрасно работает.
У меня тоже без DNS работало всё...и в меге и в esp (без локального ntp сервера).
serghei писал(а):Я мало что в этом смыслю , но мы живём в разных странах. И почему тогда один и тот же код работает по разному у нас?
Тут скорее всего просто сетевые настройки роль играют, либо доступность указанных ntp серверов с разных сетей...