К тому же можно щелкать и выключателями прямо с гейта
Подключение железа к AMS
Модератор: Alex
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
Видел )).. После интеграции мне больше интереснее тема гейта - информера. Вполне самостоятельный девайс , который может обойтись без мажерика
К тому же можно щелкать и выключателями прямо с гейта
К тому же можно щелкать и выключателями прямо с гейта
СпойлерПоказать
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Подключение железа к AMS
В зигби тоже есть такая тема как прямой биндинг. Управление с устройства на устройство без участия основного гейта...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 182
- Зарегистрирован: Чт ноя 24, 2016 10:47 am
- Благодарил (а): 5 раз
- Поблагодарили: 25 раз
Re: Подключение железа к AMS
И всё это у одного человека?!
spiffs.ino косметикаСкетч на форуме Тут
СпойлерПоказать
Код: Выделить всё
void files(){
File dir = SPIFFS.open("/");
if(!dir.isDirectory()){
dir.close();
return;
}
dir.rewindDirectory();
spisok = "";
for (int cnt = 0; true; ++cnt) {
File entry = dir.openNextFile();
if (!entry) break;
if (cnt > 0) spisok += ","; // +++
spisok += " ";
spisok += String(entry.name()).substring(1);
spisok += ":";
spisok += String(entry.size());
//spisok += ",";
entry.close();
}
//Serial.println();
//Serial.println(spisok);
//Serial.println();
}
-
- Сообщения: 7
- Зарегистрирован: Вс авг 09, 2020 6:25 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Подключение железа к AMS
Добрый день!
Собрал сервер на ардуино мега 2560, сетевая плата Ethernet Shield W5100 с sd картой.
Версия системы - Arduino Mega Server 0.17, компилировал на Arduino 1.8.5.
Сервер заработал.
В качестве разминки подключил часы на чипе DS3231 (по статье на хабре https://habr.com/ru/post/385349/),
термометр на DS18B20 - тут по руководству https://hi-lab.ru/arduino-mega-server/m ... re-to-dash и https://hi-lab.ru/arduino-mega-server/d ... re-sensors.
Заработало без особых проблем.
Нашел понижающий трансформатор на 50 герц, спаял схему https://hi-lab.ru/arduino-mega-server/d ... ge-sensors.
В качестве датчика тока подоткнул платку ACS712 на датчике Холла.
Физически, так сказать, все заработало. В пункте "Примеры", "Осциллограф" синус рисуется.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" также рисуются графики напряжения и тока.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" есть график частоты.
А вот график "Напряжение" и график "Общая мощность" показывают нули.
Вопрос: где ковыряться? Аппаратно что-то не так настроено? Датчики в скетчах калибрануть надо? Или передача данных в веб-интерфейс изначально (в дистрибутиве) не работала?
Собрал сервер на ардуино мега 2560, сетевая плата Ethernet Shield W5100 с sd картой.
Версия системы - Arduino Mega Server 0.17, компилировал на Arduino 1.8.5.
Сервер заработал.
В качестве разминки подключил часы на чипе DS3231 (по статье на хабре https://habr.com/ru/post/385349/),
термометр на DS18B20 - тут по руководству https://hi-lab.ru/arduino-mega-server/m ... re-to-dash и https://hi-lab.ru/arduino-mega-server/d ... re-sensors.
Заработало без особых проблем.
Нашел понижающий трансформатор на 50 герц, спаял схему https://hi-lab.ru/arduino-mega-server/d ... ge-sensors.
В качестве датчика тока подоткнул платку ACS712 на датчике Холла.
Физически, так сказать, все заработало. В пункте "Примеры", "Осциллограф" синус рисуется.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" также рисуются графики напряжения и тока.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" есть график частоты.
А вот график "Напряжение" и график "Общая мощность" показывают нули.
Вопрос: где ковыряться? Аппаратно что-то не так настроено? Датчики в скетчах калибрануть надо? Или передача данных в веб-интерфейс изначально (в дистрибутиве) не работала?
-
- Сообщения: 7
- Зарегистрирован: Вс авг 09, 2020 6:25 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Подключение железа к AMS
Примерно так:
Подключен компьютер.
Подключен компьютер.
Последний раз редактировалось IvanovYL295 Пн авг 10, 2020 12:22 am, всего редактировалось 1 раз.
-
- Сообщения: 7
- Зарегистрирован: Вс авг 09, 2020 6:25 pm
- Благодарил (а): 0
- Поблагодарили: 0
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
Приветствую. В дистрибьютиве Меги со страницей есть косяк - не то имя берётся для отображения. Я щас с телефона не подскажу , но внимательно посмотри в XML таблице в отладчике браузера - есть эта мощность или нет. Если что - вечером могу посмотреть.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 7
- Зарегистрирован: Вс авг 09, 2020 6:25 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Подключение железа к AMS
Подоткнул к датчику напряжения осциллограф. При выдернутом из розетки трансформаторе датчика напряжения данные появились, причем ненулевые. Подоткнул датчик через латр, прогнал по напряжению.
Uлатр(вольт) А0размах(вольт) U P
20 0,28 12000 50
40 0,56 50000 137
60 0,84 125000 204
80 1,07 223000 284
100 1,32 368000 366
120 1,58 546000 437
Т.е. выводимые данные меняются в зависимости от напряжения на датчике.
Похоже, ковыряться надо в скетче electro_pm. Koэффициент какой-нибудь подправить.
Еще такое ощущение, что данные напряжения меняются в зависимости от постоянной подпоры на входе АЦП.
Надо попробовать застабилизировать подпорку - воткнуть вместо нижнего резистора стабилитрон на 2,5 вольта - TL431
с замкнутыми катодом и управляющим электродом.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
Большая дискуссия , мои коменты и расчет в теме Power Monitor. В скетче надо только подправить коэффициенты для тока и напряжения. Во вкладке ServerAjax то же всё правильно. Ковырять надо файл Script.js / Кажется там не все переменные прописаны. Я всё это делаю на Дуе. Файлы для Меги сейчас посмотрю.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 7
- Зарегистрирован: Вс авг 09, 2020 6:25 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Подключение железа к AMS
В Scripts.js ничего похожего нет.
В Supply.html находим:
В Dash.js:
и
Дальше ищем dvoltage, power, period.
(и, соответственно, пока ничего не находим...)
Кроме двух заблокированных строк:
И, соответственно, если их разблокировать, то ничего не меняется.
Как вообще устроена передача данных? Есть ли описание на примере, скажем, одной существующей вкладки, или добавления новой?
По описаниям покопался - ясности не прибавилось.
В Supply.html находим:
Код: Выделить всё
<p>Напряжение сети: <span class="value" id="volt">...</span> В</p>
<p>Мощность: <span class="value" id="p1">...</span> Вт</p>
<p>Частота: <span class="value" id="freq">...</span> Гц</p>
Код: Выделить всё
document.getElementById('volt').innerHTML = dvoltage;
document.getElementById('p1').innerHTML = power;
Код: Выделить всё
var period = this.responseXML.getElementsByTagName('period')[0].childNodes[0].nodeValue;
period -= 100;
} catch (err) {
period = '-';
}
try {
var frec = 1 / (period / 1000000);
document.getElementById('freq').innerHTML = frec.toFixed(2);
(и, соответственно, пока ничего не находим...)
Кроме двух заблокированных строк:
Код: Выделить всё
// Voltage
try {
var dvolt = this.responseXML.getElementsByTagName('voltage')[0].childNodes[0].nodeValue;
} catch (err) {
dvolt = '0';
}
try {
var dvoltage = Math.round(parseInt(dvolt), 0);
//document.getElementById('dash-voltage').innerHTML = dvoltage;
//document.getElementById('dash-voltage-hide').innerHTML = dvoltage;
} catch (err) { }
Как вообще устроена передача данных? Есть ли описание на примере, скажем, одной существующей вкладки, или добавления новой?
По описаниям покопался - ясности не прибавилось.