Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Добавлено: 12 мар 2017, 21:41
Vadim, обновите прошивку.
Андрей,Andrey_B писал(а):Vadim, обновите прошивку.
Андрей, подтверждаю ваши слова . Прошивка 4.12b6, на одной шине висят si7021, bmp180, bmp280, tsl2561, ssd1306. Выбрал bmp180 и сохранил, далее вернул ssd1306 и сохранил. Данные средствами МК отлично читаются как с bmp180, так и с si7021 - система мониторинга iH, uptime контроллера уже более 2 дней. Сегодня-завтра хочу заменить si7021 на htu21d...чтобы попробовать повесить им контроллер.Andrey_B писал(а):Для того, чтобы в EEPROM сохранились калибровочные коэффициенты, необходимо хотя бы один раз выбрать Dev: BMP180 и нажать кнопку "Save".
P10, P12, P13 (XP1); P10, P12, P13 (XP2) - 16 битkod.begemot писал(а):У меня вопрос по ШИМ - в версии 2561 какая разрядность ШИМ используется? Если я правильно понял из даташитов - у 328 - максимально 10 бит (1024 значения), а у 2561 - 16 бит (65535). Вот лично мне плавности ШИМа 328 нехватает на малой скорости (заметны шажки в самом начале при 10 секундах "Smooth"), вот и думаю - может 2561 будет в этом плане лучше? Или те значения, которые мы задаем как значения шим (0-255) и есть значения? Тогда получается 8 бит? А если так, то может сделать те-же 10 бит, а в значении ШИМ использовать проценты? 0-100, а они будут транслироваться в 0-1024 (0-65535). Не так точно, но на мой взгляд для освещения этого достаточно, зато плавность может существенно возрасти.
А как вы себе представляете установку "наклона графика" средствами встроенного Web-интерфейса контроллера?kod.begemot писал(а): и ещё вопрос - может можно сделать изменяемым "наклон графика" ШИМ? Не знаю, как правильно объяснить - при управлении ШИМ светодиодных лампочек (12v, обычные китайские) у меня получается сначала более-менее плавно, а потом довольно резкий подъём. Диммировал светодиодные лампочки из ИКЕЯ - с двумя нормально, а с одной - быстрый набор ~60-70%, а потом медленнее - до 100%. Визуально плавнее всего сейчас при прямом ШИМ управлении драйверов типа PT4115. Но всё-равно хотелось бы иметь возможность влиять на форму графика, так как для разных применений - разные оптимальные варианты..
http://ab-log.ru/smart-house/ethernet/megad-2561kod.begemot писал(а):И ещё, вопрос по частоте ШИМ - какая сейчас используется?
Только прошивку используйте b8.Alex_Jet писал(а):Сегодня-завтра хочу заменить si7021 на htu21d...
Так я предлагаю 0-100 значения, а Мега уже решает. Если порт 10 битный, то, к примеру, 50% = 512 на порт. ну и соответственно 25% = 256... Плавность не ухудшится, а улучшиться в таком случае, потому как мега будет менять не 0-255, и не 0-100, а 0-1023(65534) если задано увеличить 0-100%, но делать это "унутре", невидимо для пользователя. Для совместимости можно и оставить 0-255, просто тогда делить 1023(65534) не на 100 "виртуальных шагов" а на 255. ИМХО тогда будет у нас 0-100 или 0-255 это не на плавность повлияет, а на точность установки значения. Зато с использованием замедленного изменения резко увеличиться плавность, так как мы задаем 0-10 за 10 секунд, а контроллер перебирает на порту не 10 значений за 10 секунд, как сейчас, а 102 для 10 битного порта (по идее более чем достаточно будет использовать только 10 бит), что больше 10 в секунду - заметно быть не должно.Andrey_B писал(а):0-100% - это не 10 бит. Плавность только ухудшится.
0-1023 (0-65534) - можно, но возникает вопрос совместимости с уже существующими программными компонентами.
Как в котле с погодозависимой автоматикой настраивается не температура в контуре, а наклон (форма?) графика зависимости температуры воды от температуры "за бортом". Там просто выбор значения: 0-100 (baxi). А в инструкции примеры графиков под этими номерами. Я полагаю, там может быть какая-то формула, вроде логарифмической...Andrey_B писал(а):А как вы себе представляете установку "наклона графика" средствами встроенного Web-интерфейса контроллера?
При написании кода (Stream Updates with Server-Sent Events) наткнулся на такую ситуацию (понятно, что пример не совсем корректный с точки зрения подхода работы с контроллером, это скорее пример "Мало ли какой "мусор" решит вернуть сервер по ошибке"):Andrey_B писал(а): Когда контроллер связывается с сервером, он отправляет GET-запрос (в запросе присутствует некоторая полезная информация, например, st=1, pt=0 и т.д.)
Сервер отвечает ему "командами" самого устройства. Например: "7:2".
Никакое другое управление устройством через такие ответы невозможно (не заложено в прошивку). Только команды управления выходами. Не конфигурирование, не изменение параметров, только управление выходами через стандартные команды. И это логично. Мало ли какой "мусор" решит вернуть сервер по ошибке...
Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Testing MegaD</title>
</head>
<body>
<span>p0: </span><span id="p0">***</span><br>
<span>p1: </span><span id="p1">***</span><br>
<span>p21: </span><span id="p21">***</span><br>
<span>p22: </span><span id="p22">***</span><br>
<span>p23: </span><span id="p23">***</span><br>
<span>p24: </span><span id="p24">***</span><br>
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("md.php");
source.addEventListener('p1', function(e) {
document.getElementById("p1").innerHTML = e.data;
}, false);
source.addEventListener('p21', function(e) {
document.getElementById("p21").innerHTML = e.data;
}, false);
} else {
document.getElementById("p1").innerHTML = "Error: server-sent events...";
}
</script>
</body>
</html>
Код: Выделить всё
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
function sendMsg($event, $msg) {
echo "event: $event" . PHP_EOL;
echo "data: $msg" . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
};
$st = file_get_contents('http://192.168.0.14/sec/?pt=1&cmd=get');
sendMsg("p1", $st);
if ( $_GET['pt'] == "21" )
{
sendMsg("p21", "randomdata");
};
?>
С этим я не спорю. Даже, скорее согласен, чем нет.Andrey_B писал(а):Vadim, у меня все описанное ассоциируется вот с чем. При проведении краш-теста автомобиля наткнулся на такую ситуацию (понятно, что пример не совсем корректный с точки зрения типичного управления автомобилем, это скорее пример "Мало ли какая "кирпичная стенка" решит образоваться на дороге"). Капот смялся, стекло треснуло, манекен, кажется, труп. Подмечено, что двигатель уходить в салон, если делать это на большой скорости.
Замечал конечно.Andrey_B писал(а):Какой конкретно вход вы замыкаете? P8? Обращаете ли вы внимание, что стоит флажок, а значит Act 21:2 будет выполняться при каждом событии независимо от наличия/ответа сервера?
Это реализация Server-Sent Events https://www.w3schools.com/html/html5_se ... events.asp (ну или ее попытки).Andrey_B писал(а):md.php - или я ничего не понимаю или вы хотите сделать что-то очень хитрое. То, что написано у вас, работать не будет.
md.php для index.php должен висеть постоянно, не закрывая соединение.
"e:p1 " - "неформатный" ответ? Вероятно, да, но как об этом узнает устройство? Ведь все этим символы вполне себе используются в сценариях...Vadim писал(а):возврат неформатного ответа в адрес меги приводит к ее "управлению", в отличии от ожидания, что это не прозойдет\не происходит.
То-то я вчера пытался понять, что это за порты постоянно выдают "скачущие" значения ON\OFF на запрос get=allAndrey_B писал(а): - Выведены в интерфейс порты P14 и P29
Обновился до b9. Пока потестирую с si7021. Кстати, обратил внимания что как только вместо htu21d ставлю si7021 в списке адресов появляется 0x0! C htu21d такого адреса нет. Вижу, что прописали адрес для bmp/bme280 - планируется их поддержка?Andrey_B писал(а):Только прошивку используйте b8.