Подключение железа к AMS

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Пн окт 14, 2019 8:14 am

Видел )).. После интеграции мне больше интереснее тема гейта - информера. Вполне самостоятельный девайс , который может обойтись без мажерика
К тому же можно щелкать и выключателями прямо с гейта
СпойлерПоказать
Выключатель.jpg
Выключатель.jpg (38.49 КБ) 4319 просмотров
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключение железа к AMS

Сообщение nick7zmail » Пн окт 14, 2019 8:24 am

В зигби тоже есть такая тема как прямой биндинг. Управление с устройства на устройство без участия основного гейта...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Подключение железа к AMS

Сообщение eGorka » Пн окт 14, 2019 7:24 pm

serghei писал(а):
Пн окт 14, 2019 8:00 am
PS/ АМС живет в куче ипостасиях и на разных платформах
И всё это у одного человека?!
Скетч на форуме Тут
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();
}
IvanovYL295
Сообщения: 7
Зарегистрирован: Вс авг 09, 2020 6:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение железа к AMS

Сообщение IvanovYL295 » Вс авг 09, 2020 8:13 pm

Добрый день!

Собрал сервер на ардуино мега 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 на датчике Холла.
Физически, так сказать, все заработало. В пункте "Примеры", "Осциллограф" синус рисуется.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" также рисуются графики напряжения и тока.
В пункте "Примеры", "Электросеть", "Форма сетевого напряжения и тока" есть график частоты.

А вот график "Напряжение" и график "Общая мощность" показывают нули.

Вопрос: где ковыряться? Аппаратно что-то не так настроено? Датчики в скетчах калибрануть надо? Или передача данных в веб-интерфейс изначально (в дистрибутиве) не работала?
IvanovYL295
Сообщения: 7
Зарегистрирован: Вс авг 09, 2020 6:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение железа к AMS

Сообщение IvanovYL295 » Вс авг 09, 2020 11:50 pm

Примерно так:
Подключен компьютер.
Электросеть.JPG
Электросеть.JPG (68.05 КБ) 3518 просмотров
Последний раз редактировалось IvanovYL295 Пн авг 10, 2020 12:22 am, всего редактировалось 1 раз.
IvanovYL295
Сообщения: 7
Зарегистрирован: Вс авг 09, 2020 6:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение железа к AMS

Сообщение IvanovYL295 » Пн авг 10, 2020 12:21 am

Электросеть1.JPG
С подключенным утюгом.
Электросеть1.JPG (71.75 КБ) 3516 просмотров
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Пн авг 10, 2020 8:12 am

Приветствую. В дистрибьютиве Меги со страницей есть косяк - не то имя берётся для отображения. Я щас с телефона не подскажу , но внимательно посмотри в XML таблице в отладчике браузера - есть эта мощность или нет. Если что - вечером могу посмотреть.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
IvanovYL295
Сообщения: 7
Зарегистрирован: Вс авг 09, 2020 6:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение железа к AMS

Сообщение IvanovYL295 » Пн авг 10, 2020 4:46 pm

serghei писал(а):
Пн авг 10, 2020 8:12 am
Приветствую. В дистрибьютиве Меги со страницей есть косяк - не то имя берётся для отображения. Я щас с телефона не подскажу , но внимательно посмотри в XML таблице в отладчике браузера - есть эта мощность или нет. Если что - вечером могу посмотреть.
Подоткнул к датчику напряжения осциллограф. При выдернутом из розетки трансформаторе датчика напряжения данные появились, причем ненулевые. Подоткнул датчик через латр, прогнал по напряжению.
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
с замкнутыми катодом и управляющим электродом.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Пн авг 10, 2020 8:20 pm

Большая дискуссия , мои коменты и расчет в теме Power Monitor. В скетче надо только подправить коэффициенты для тока и напряжения. Во вкладке ServerAjax то же всё правильно. Ковырять надо файл Script.js / Кажется там не все переменные прописаны. Я всё это делаю на Дуе. Файлы для Меги сейчас посмотрю.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
IvanovYL295
Сообщения: 7
Зарегистрирован: Вс авг 09, 2020 6:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение железа к AMS

Сообщение IvanovYL295 » Вт авг 11, 2020 6:31 pm

В Scripts.js ничего похожего нет.

В 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>
В Dash.js:

Код: Выделить всё

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);
Дальше ищем dvoltage, power, period.
(и, соответственно, пока ничего не находим...)

Кроме двух заблокированных строк:

Код: Выделить всё

 // 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) { }
И, соответственно, если их разблокировать, то ничего не меняется.

Как вообще устроена передача данных? Есть ли описание на примере, скажем, одной существующей вкладки, или добавления новой?
По описаниям покопался - ясности не прибавилось.
Ответить