1 2 3 4 5 6 7 8 9 10 8/10 8,20оценок: 5

ПО мониторинга и управления МАП и КЭС. ПАК "МАЛИНА-2"

Тема в разделе "Бесперебойное (аварийное) электропитание", создана пользователем Osolemio, 21.07.17.

Статус темы:
Закрыта.
  1. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    ПО мониторинга и управления МАП и КЭС. ПАК "МАЛИНА-2"
    Начало здесь и здесь

    Папка продукта на ЯД: https://yadi.sk/d/naaZMn8n3LF7gM
    Пароль на архив: forumhouse

    Вашему вниманию представлено новое поколение комплекса для мониторинга оборудования производства ООО «МикроАрт»: МАП, КЭС (MPPT контроллер), Зарядное Устройство (пока не выпущено), БМС для LiFePo4 батарей. Название, присвоенное этому комплексу компанией МикроАрт – ПАК «Малина» :) Соответственно, новый выпуск – ПАК «Малина-2».

    Версия ПО стартует с 5.01b

    Платформы: Raspberry Pi 2, Raspberry Pi 3 (основная и предпочтительная).

    Условия распространения: в виде образа для пользователей форума – бесплатно.

    Однако, вы не можете использовать примененные в данном ПО скрипты, шрифты и прочие авторские решения в коммерческих целях и распространять их. Изучать что-то в целях самообразования – пожалуйста ;)

    Система прошла двухлетний путь эволюции, я постарался учесть все пожелания: повысить надежность системы, снизить энергозатраты микро-ПК, увеличить скорость работы и реакции, упростить работу и настройки для пользователя.

    В итоге выпущена система, основанная на релизе Debian Jessie. В упакованном виде образ занимает чуть более 800МБ (столько же примерно и на дисковом пространстве). Что в 3 раза меньше образа предыдущей системы. Свободное место на накопителе я оставил для будущего роста. Тем более, что microSD карты на 8 и более ГБ – уже обыденность.

    Распакованный образ на диске в виде файла XXXX. img занимает порядка 6.5 ГБ в виде бинарной посекторной копии накопителя. Размер блока 512 байт. 12 720 128 секторов.

    Нарезается на флеш либо под системой Windows с помощью свободного ПО Win32DiskImager.exe (https://sourceforge.net/projects/win32diskimager/), либо под линукс командой dd if=образ_диска.img of=/dev/устройство

    Теперь используется исключительно одна microSD карта. Основной системный раздел используется только в режиме чтения.

    Запись на третий раздел с данными происходит только в четырех случаях:

    1. Событие ошибки какого-либо устройства. Хранится от 2 до 3 тыс. записей.
    2. Запись счетчиков. Ежедневно в полночь. Счетчики МАП, контроллеров, батарейного монитора хранятся неопределенный период
    3. Изменение настроек.
    4. Редкая запись, которая требуется некоторым линукс-событиям

    Обращаю внимание: Если после сохранения какой-либо настройки вы перезагрузите устройство переключением питания менее чем через 1 минуту, настройки могут быть утеряны!

    Языковой профиль продукта:

    upload_2017-7-21_0-11-28.png

    Как видим, основной упор сделан на удобный и интуитивно-понятный интерфейс пользователя. Поэтому существенно выросла часть JavaScript. Нагрузка перераспределена с Малины на клиента.

    Для сравнения, профиль Малины-1:

    upload_2017-7-21_0-10-47.png

    Вся архитектура построена на давно придуманной бородатыми дядьками концепции “Unix-way”. Для обеспечения надежности и отказоустойчивости, а также скорости и компактности.

    Все разбито на весьма маленькие кусочки, работающие по отдельности и по мере надобности. Никаких #$#@! :close: новомодностей в виде node. js или React не присутствует. :)]

    Итак, в новой системе реализовано:

    1. Полный мониторинг и управление МАП вплоть до последних прошивок. Поддержка подключения одного МАП на микро-ПК либо по UART (для встраивания Малины внутрь МАП), либо через USB.

    2. Мониторинг БМС

    3. Мониторинг MPPT (КЭС). Подключение до 4 контроллеров на 1 микро-ПК

    4. Управление реле КЭС по событиям (поддерживается с версии прошивки КЭС 6.3, реле должно быть в режиме «Выкл»)

    5. Менеджер событий. Нечто новое. Теперь вы можете сами строить цепочки условий по данным подключенных устройств или батарейного монитора, с ответной реакцией либо ПАК «Малина», либо другого подключенного устройства. Например, по превышению определенной мощности на МАП, включить реле №3 контроллера №2. Либо прекратить генерацию по выбранным ампер-часам.

    6. Plug-n-play. Тоже новая штуковина. Время и порядок подключения устройств к «Малине» теперь не важен. Устройства будут автоматически пересканированы и запущены необходимые сервисы. Процесс занимает от 10 секунд до 1 минуты.

    7. Автоопределение скорости устройств от 19200 до 115200

    8. Батарейный монитор. Улучшенная версия. Пока вы не настроили его вручную, либо не запустили принудительно, система сама определяет необходимость его запуска и возьмет необходимые данные с МАП. Автоматически БМ запускается в двух случаях: отдельно стоящий МАП, мастер-МАП в стеке или 3-фазной системы.

    При рестарте сервиса БМ данные сохраняются.

    При первом старте БМ пытается оценить SoC (уровень заряда) по таблицам НРЦ, и в случае успеха устанавливает приближенное значение уровня заряда и высчитывает остальные значения. Значение уровня заряда тем точнее, чем дольше ваши АКБ находились в состоянии покоя. В стадии интенсивного заряда значение может быть далеким от истинного и следует дождаться первой синхронизации на 100% для отображения достоверных данных.

    9. Увеличено количество отображаемой информации на панелях. Есть отображение токов для 3-фазной системы

    10. Реализована поддержка токов и мощностей по выходу МАП с учетом знака (продажа в сеть)

    11. Реализовано отображение токов всех подключенных контроллеров по шине I2C. Индивидуально.

    12. Мастер-узел теперь не требует детальной настройки узлов для мониторинга. Достаточно указать IP адрес, порт и желаемое имя для каждого узла. Все остальное будет сделано автоматически при запуске просмотра. Реализована так любимая многими анимация тока энергии через АКБ и устройства.

    *Мастер-узел: функция, позволяющая мониторить через одну Малину множество подобных узлов со сведением данных на один экран.

    13. Для Raspberry Pi 3 реализована поддержка WiFi в двух режимах: точка доступа и клиент. Точка доступа работает с предопределенными параметрами. Предусмотрена для первичного подключения к ПАК «Малина-2», для осуществления настроек.

    14. Абсолютно все необходимые системные настройки: время, часовой пояс, сетевые интерфейсы и т. п. вынесены в веб-интерфейс.

    15. Появился анимированный индикатор работы кулера МАП

    16. Веб-интерфейс полностью переделан. В едином стиле с единой палитрой.

    17. Большие изменения коснулись базы данных. Теперь работает мой собственный движок кольцевой БД, взамен mysql.

    База данных теперь расположена в ОЗУ. Общий размер 352МБ.

    Разделена на 2 сегмента:

    А) 24-часовая. Точная. Туда ведется посекундная запись всех данных с устройств.
    Б) Месячная. Аналоговые данные записываются как среднее арифметическое по интервалу 5 секунд.

    При перезагрузке Малины все данные теряются! Зато сохраняется работоспособность устройства. Однако, не спешите расстраиваться Я предусмотрел 2 дополнительных режима:

    - если поставить в Малину внешний USB накопитель, то при (ре) старте движка БД (в т. ч. при загрузке Малины), на первый раздел накопителя будет писаться параллельно 2 файла БД. И при перезагрузке Малины они будут вновь скопированы в ОЗУ Малины, т. о., БД будет восстановлена. Т. о. если внешняя флеш-память выходит из строя, это теперь никак не скажется на работоспособности Малины. Безусловно, для работы кольцевой БД, требуется запись в одни и те же сегменты USB-накопителя, следовательно, износ NAND устройства достаточно высок. Для более надежного решения можно использовать внешний USB диск небольшого объема.

    - перед ручной перезагрузкой Малины можно вставить внешний USB накопитель и сделать ручное резервирование БД, затем, после перезагрузки, восстановить ее, также вручную.

    - Поддерживаемые форматы накопителей: FAT, ext, NTFS. Используется только первый раздел! (как правило, на флеш-картах больше одного раздела и не бывает)

    Парадигма существования Малины как встроенного устройства была немного изменена в сторону избавления от несвойственных функций: Малина сама должна обеспечивать интерфейс между МАП, контроллерами и другими системами, а также базовые функции сохранения и визуализации данных. Предоставляемые интерфейсы (см. ниже) позволяют очень легко встраивать Малину практически в любую IT инфраструктуру.

    Для длительного сбора и обработки данных больших периодов, позже будет выпущен специальный пакет под Windows.

    18. Реализованы открытые интерфейсы (см. ниже):

    a. HTTP GET запросы с ответами в виде JSON массивов. Получение исчерпывающих данных о работе любого подключенного устройства или батарейного монитора

    b. Простой эхо-сервер на порту 30003. По определенным командам также предоставляет JSON массивы с данными устройства и батарейного монитора

    c. Чтение ячеек памяти МАП через HTTP GET запрос. Кому нужна боле тонкая интеграция

    d. Запись в ячейки памяти МАП через HTTP POST запрос

    e. Запрос подключенных устройств и состояния сервисов через HTTP GET запрос

    19. Полная поддержка SNMP v2c на чтение. Community name: public

    a. Реализован собственный MIB: MICROART-MIB.txt ветки “enterprises”: .1.3.6.1.4.1.50330 (uArt). См. https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers

    Скачивается прямо с вашей Малины по http://ваш_IP/ MICROART-MIB.txt

    По событиям предусмотрены SNMP trap на установленный IP адрес. С двумя состояниями: выход за пределы, восстановление параметра

    b. Реализован ряд переменных стандартной ветки для UPS: RFC 1628

    20. Изменен подход в реализации табличных данных по истории. Теперь происходит выбор периода для просмотра, и затем подходящие параметры сводятся внизу таблицы в итог по периоду. Это позволяет, например, посмотреть экстремумы напряжения на батарее за любой нужный период: неделю, месяц, год и т. п. Или сумму выработанных/потребленных киловатт-часов.

    21. Графики по истории реализованы в двух вариантах:

    a. Точные. По 24-часовой базе. Построение суточного графика по параметру занимает больше времени (порядка 4-5с).

    b. Усредненные. По дате. Построение очень быстрое. Интервал усреднения (см. выше) – 5 с.

    Причем, один и тот же график за последние сутки может быть построен по обеим БД.

    Навигация по графику (увеличение/уменьшение, перемещение и т. д.) возможно с помощью управляющих кнопок, а также с помощью мыши (увеличение фрагмента, восстановление исходного размера)

    Все графики в Малине-2 строятся только на стороне клиента. Я отказался полностью от php-реализации диаграмм (с результатом в виде растрового файла)

    22. Живые графики теперь разбиты по единицам измерения и совмещаются на одном полотне. Там, где масштаб разный, введена вторая ось ординат справа.

    23. Изменена структура меню настроек МАП. Позволяет видеть сразу все доступные пункты и вложенность.

    24. Введена информационная панель на каждой страничке, которая показывает состояние связи с устройствами, режим WiFi и IP и адреса интерфейсов. Обновляется раз в 5 секунд.

    25. Навигация сквозная. С любой странички вы можете перейти в любое место.

    26. Переключение между локализациями (РУС-АНГЛ) происходит «на лету», по нажатию кнопки

    27. Отправка данных в «облако»: пока реализовано подключение к паблик-ресурсу emoncms. org

    28. В новой версии работает программно-аппаратный watchdog. При длительной высокой загрузке системы, либо зависании, микро-ПК будет перезагружен.

    29. Обновление реализовано как и ранее – через подписанные файлы updateXXX. sig. Однако, перезагрузку для установки обновления теперь делать не нужно.

    30. 3G модемы больше не поддерживаются! С появлением в Raspberry Pi WiFi, необходимость в них отпала. Проще повесить недорогой микро-рутер 3G (4G)-WiFi в хорошей зоне доступа и подключить к нему Малину. Кроме того, 3G модем определенно мешал мне реализовать идею автопоиска/автоподключения устройств МикроАрт.

    31. Bluetooth на Raspberry Pi 3 полностью выключен. Для освобождения UART порта.

    · Не забывайте, что для непонятных мест веб-интерфейса существуют всплывающие подсказки!

    Уголок параноика (aka “obsession with security”) :aga:

    Защиты от копирования и прочих идиотизмов, усложняющих жизнь простому пользователю, в ПО не присутствует. Поскольку вы имеете физический доступ к накопителю с системой, любая защита теряет смысл. Однако, пакет содержит элементы, за которые я платил реальные деньги, и которые подпадают под условия лицензии, которые и я, и вы должны соблюдать. Кроме того, архитектура ПО в этот раз несколько иная: очень много сервисов, скриптов, настроек, флажков и т. п., и лучше ничего не трогать. Поэтому в «Малине-2» я вообще убрал удаленный доступ к консоли.

    Тем не менее, безопасности в ПАК «Малина-2» было уделено намного большее внимание. Одно замечание: поскольку используется http basic аутентификация, то основная угроза – либо MITM атака (перехват вашего трафика), либо подбор логина/пароля по словарю. Поэтому не используйте простые логины/пароли, если вы планируете закрывать веб-интерфейс. И в любом случае не следует делать Малину оконечным интерфейсом доступа в Интернет.

    Даже при наличии доступа в защищенную зону Малины, получить удаленно доступ к системе (шелл) – дело весьма непростое. По результатам моих тестов, Малина на сегодняшний день не имеет прямых уязвимостей типа RCE.

    Открытые порты:

    80 tcp (http): веб интерфейс

    30003 tcp: эхо-сервер (рекомендуется запретить внешний доступ к этому порту и отправку данных с этого порта вовне)

    161 udp: snmp (рекомендуется запретить внешний доступ к этому порту и отправку данных с этого порта вовне)

    123 udp: ntp (настоятельно рекомендуется устанавливать локальный ntp сервер и прописывать его в DHCP. Малина умеет получать по DHCP эти данные). Внешний доступ к ntp порту рекомендуется запретить. В полное отсутствие ntp сервера вы можете установить дату/время на Малине вручную.

    Порядок включения:

    1. Присоедините все необходимые устройства к USB портам
    2. При необходимости, подключите патч-корд ЛВС
    3. Убедитесь, что установлена microSD карта с системой и ПО
    4. Включите питание Raspberry Pi

    После старта, LAN интерфейс Малины попытается получить IP адрес по DHCP. Если адрес получить невозможно, интерфейсу Малины будет присвоен статический IP 192.168.100.1/24

    По этому IP вы можете в браузере открыть web-интерфейс Малины и произвести необходимые настройки. На вашем ПК IP должен быть установлен из того же диапазона адресов. Например, 192.168.100.10 255.255.255.0

    По умолчанию на Rasperry Pi 3 активирована WiFi точка доступа (далее – «ТД») с DHCP сервером. Имя ТД – Malina AP. Пароль: raspberry. Адрес Малины – 192.168.2.1. Изменение настроек ТД не предусмотрено!

    Вы можете, подключившись к точке доступа Малины по WiFi, произвести необходимые настройки Сети. Если точка доступа вам более не нужна, рекомендуется перевести ее в выключенное состояние с помощью соответствующего пункта меню.

    Пункт – Система – Интерфейсы.

    Малина также может быть подключена к WiFi в качестве клиента, либо режим WiFi может быть выключен.

    Сброс к заводским настройкам

    1. В первом разделе USB флеш-карты создайте файл reset
    2. Содержимое и размер файла не важны. Флеш-карта может быть отформатирована в FAT32, NTFS, ext
    3. Вставьте флеш-карту в USB порт Малины (других USB флеш карт быть не должно!), и выполните перезагрузку. Малина перезагрузится, файл reset удалится в флеш-карты, настройки Малины будут восстановлены, и Малина еще раз перезагрузится.
     
    Последнее редактирование: 21.07.17
  2. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Замечания и рекомендации по использованию:

    Менеджер событий имеет интервал проверки значений 2-3 секунды

    На отправку e-mail по событию выделяется 4 попытки

    Обратный триггер существует только на уведомления (SNMP trap и e-mail). Для остальных действий обратный триггер не предусмотрен. Т. е., если вам необходимо включить реле при напряжении 20В, вы настраиваете соответствующее действие по событию. Реле будет включено по достижению указанного порога. Для выключения реле необходимо настроить другое событие. Это позволяет предусмотреть как пороговое включение/выключение, так и гистерезис.

    При запуске сервиса менеджера и первого чтения правил (при рестарте Малины), триггер события «Выключение генерации» устанавливается в 1. Это позволяет исключить отработку события, если уровень напряжения АКБ или уровень заряда АКБ еще не восстановлены после включения МАП. По выходу значения из диапазона срабатывания (Например, АКБ заряжен), триггер будет сброшен.

    Если в вашей конфигурации автоматический старт батарейного монитора не предусмотрен, но вы решили, что он вам необходим, вы можете его запустить вручную, через меню Система-Инфо. После этого ваше ручное управление сервисом будет зафиксировано. Если он больше вам не понадобится, его следует остановить принудительно через вышеуказанный пункт меню

    Для подключения нескольких контроллеров КЭС по USB предусмотрена автосортировка по UID устройства (4 байта, появился с прошивки 6.3). Если UID = 0, то порядок отображения контроллеров не определен (мне просто нечем их идентифицировать больше). Хотя и с большой долей вероятности, порядок первого подключения (отображения) не будет изменяться.

    Из-за особенностей коммуникации с устройствами МикроАрт чтение не находится в полностью неблокируемом режиме. Поэтому после старта проверьте на главной панели, что у всех подключенных устройств «тикают» часы – это значит, что сервис работает штатно. Весьма редко, но происходит ситуация, которую я не имею возможности обработать. Сервис будет «висеть» на чтении из устройства. В этом случае часы не будут «тикать». Следует зайти в Система-Инфо и перезапустить соответствующий сервис устройства.

    При смене IP адреса интерфейса, через который вы загружали веб-страницу, страница не сможет быть загружена после нажатия кнопки «сохранить». Поскольку Малина никак не сможет определить на какой IP вас возвращать. Закройте страничку вручную и откройте интерфейс Малины по новому адресу.

    Настройки МАП. Поскольку пункты меню в МАП изменяются динамически и их значения, а также присутствие в меню определяется микропрограммой МАП, раздел «МАП-Настройка» использует синхронный запрос данных. Хоть это и не рекомендуется последними стандартами веб-разработки. Это значит, что после того, как нажата кнопка «сохранить», страничка будет ожидать новых данных от МАП. Если связь с МАП очень неустойчива (например, некачественный USB-RS232 адаптер), страничка может длительное время находиться в режиме ожидания загрузки. Это штатная ситуация. Закрытие страницы или браузера вручную не повлечет никаких неприятных последствий.

    Мастер-узел. Мастер-узел отслеживает как подключенные непосредственно к Малине контроллеры, так и подключенные к МАП по шине I2C. Если прямая связь с контроллерами будет утеряна, Малина начнет отображение токов по интерфейсу I2C. О чем будет выведено соответствующее уведомление на панели первого контроллера и рядом с ним.

    Скорость подключения каждого устройства, время работы Малины с последней перезагрузки, средняя загрузка процессора, свободная память в системе доступны в разделе СИСТЕМА-Инфо

    Там же находится индикатор записи БД на флеш-карту. Значок дискетки будет зеленый, если происходит параллельная запись БД на внешний USB носитель без ошибок.

    Управление сервисами через "Система. Инфо".

    Рестарт. Используется «мягкая» остановка и перезапуск сервиса.

    Стоп. Используется жесткая принудительная остановка сервиса, находящегося в любом состоянии.

    Резервирование и восстановление БД. При установке USB-носителя в порт Малины, происходит поиск файлов бэкапа. Восстановить можно как обе БД, так и по отдельности. Все зависит от наличия файлов на накопителе. Резервируются на внешний накопитель всегда обе БД.

    USB накопитель в системе может быть только один! Всегда используется только первый раздел!

    При завершении операции резервирования/восстановления, система отключает накопитель, и вы можете его безопасно извлечь. О чем вы сможете прочитать соответствующее уведомление.

    Точность работы батарейного монитора в 3-фазной системе не такая высокая в существующих системах МАП, как для отдельно стоящего МАП. Это обусловлено точностью получения значения токов (до 1А) в текущих версиях МАП. С ростом точности в прошивке, вырастет точность работы БМ.

    В текущих прошивках (до 25.3) МАП, токи по трем фазам при наличии параллельно соединенных МАП, отображаются и учитываются некорректно. Это ошибка прошивки МАП.

    Облачный сервис.

    Перед использованием облачного сервиса emoncms. org следует сперва выполнить настройки, указать те устройства, статистику по которым вы хотите отправлять на сервис, указать необходимые номера node для каждого устройства, затем нажать «сохранить».

    Только после этого нажатием на кнопку «Запрещено» вы меняете статус на «разрешено», и сервис облака начинает отправлять данные с заданным интервалом. При изменении настроек в процессе работы, они будут динамически изменены. Останавливать сервис нет необходимости (хотя и не возбраняется). Статус работы сервиса будет отображен на панели в виде значка. Признак успешных контактов с сервером – зеленый значок «облако» в верхней инфо-панели.

    Реализованные переменные SNMP RFC 1628 UPS MIB (https://tools.ietf.org/html/rfc1628)

    .1.3.6.1.2.1.33.1.1.1

    .1.3.6.1.2.1.33.1.1.2

    .1.3.6.1.2.1.33.1.3.2

    .1.3.6.1.2.1.33.1.4.1-3

    .1.3.6.1.2.1.33.1.3.3.1.1

    .1.3.6.1.2.1.33.1.4.4.1.1

    .1.3.6.1.2.1.33.1.3.3.2 - 5

    .1.3.6.1.2.1.33.1.2.3 - 7
     
  3. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Открытые интерфейсы:

    Чтение (GET запросы):

    Основные интерфейсы чтения открыты в любом состоянии Малины: с паролем или без пароля. Это позволяет избежать локального хранения и передачи паролей по сети при добавлении узла в «Мастер-узел».

    Запрос состояния МАП (все доступные параметры + расчетные):

    http://ваш_IP/read_json.php?device=map

    ответ приходит в виде массивов JSON, разделенных EOL (\n)

    Первый массив – МАП

    Второй массив – контроллеры, подключенные к МАП по I2C

    Третий массив – БМС

    Запрос состояния контроллеров (все доступные параметры + расчетные):

    http://ваш_IP/read_json.php?device=mppt

    Данные передаются в виде одного JSON массива с индексами от 0 до 3 (для подключенных к Малине КЭС от 1 до 4)

    Запрос состояния батарейного монитора:

    http://ваш_IP/read_json.php?device=bat

    Массив JSON. Данные с индексом [0] обновляются раз в минуту. [1] - ежесекундное обновление

    Вышеописанные данные можно получить и через простое подключение к терминальному серверу по порту Малины 30003 (tcp). Для озабоченных фаерволов и тех, кто не хочет возиться с разбором HTTP запросов и их посылом.

    Доступны команды: MAC, MPPT[1-4], BAT_MIN (Аналог индекса 0), BAT_SEC (Аналог индекса 1)

    Выход из терминального сервера: bye

    Все команды продублированы в приветствии сервера.

    Открывается до 10 одновременных соединений.

    Прямое чтение ячеек МАП:

    http://ваш_IP/read_memory.php?offset=1416&count=4

    Ответ: {"1416":66,"1417":2,"1418":32,"1419":2}

    offset – адрес, согласно Протоколу компании МикроАрт. В десятичном формате.

    count – сколько ячеек нужно прочитать (включая первую)

    Подключенные устройства и их количество:

    http://ваш_IP/devices.php

    Ответ:

    MAC: 1 MPPT: 1 CHARGER: 0

    Запись (POST):

    Записать данные в ячейки МАП (см. Протокол uArt). Данный запрос подпадает под защищаемую паролем зону.

    POST запрос:

    http://ваш_IP/write_eeprom.php

    Передается JSON массив массивов data:

    data = [[номер_ячейки,значение]]

    Ответ: Ok или error

    Примечание: ПО позволяет запись не во все ячейки МАП!
     
  4. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    ГЛАВНЫЙ ЭКРАН

    screen1.png

    Главный экран. Панель мониторинга устройств. Так, как она открывается при входе

    1 – информационная панель

    2 – кнопка смены локализации

    3 – указатели устройств. Кликабельны. По клику на эти элементы, панель устройства сворачивается и разворачивается.

    4 – панель индикаторов, подключенных КЭС по шине I2C. В движке показан режим контроллеров и общая мощность. Ниже – общий сбор энергии. Счетчик работает только при запущенном батарейном мониторе (далее – БМ). При рестарте сервиса БМ – обнуляется

    5 – индикатор баланса батареи по мощностям. При наведении курсора на столбик диаграммы всплывает соответствующее значение. Интегрирование каждых 5 секунд

    6 – профиль мощности МАП от сети. Период интегрирования – 5 с. За последние 60 с.

    7 – индикатор входов, кулер

    8 – индикатор мощности от сети/в сеть. Все ползунки в Малине-2 реализованы в логарифмическом масштабе

    9 – если доступны, показываются напряжения с коррекцией по температуре – буферное и окончания заряда (для справки)

    10 – индикаторы реле

    11 – счетчики времени (внутреннее время микро-ПК). Если «тикает» - еще один индикатор того, что сервис устройства работает и чтение данных идет в штатном режиме

    12 – кнопки раскрытия ошибок устройства

    При наличии BMS и/или более 2 MPPT на шине I2C, главный экран немного меняет вид:

    screen20.png

    1 и 2: ссылки для разворачивания дополнительных вкладок

    screen19.png
    БМС с наименьшим напряжением в блоке выделяются красным тоном. С наименьшим - голубым.
     
  5. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    БАТАРЕЙНЫЙ МОНИТОР. НАСТРОЙКИ ДЛЯ ПРОДВИНУТЫХ ПОЛЬЗОВАТЕЛЕЙ (НЕ ОБЯЗАТЕЛЬНЫ)

    screen14.png

    Экран настроек Батарейного Монитора.

    Как только вы установили свои значения для батареи и нажали кнопку «сохранить», батарейный монитор больше не будет использовать данные о батарее из МАП. Чтобы сбросить ваши настройки, нажмите кнопку «сброс».

    1. Номинальная емкость. Например, С10 (разряд за 10 часов). Она пересчитывается в номинальную C20 (емкость для 20-часового разряда) для вашей АКБ.

    2. Минимальный ток в долях от номинальной емкости C20: после ввода значения справа вверху показывается реальное значение в амперах.

    Используется совместно с напряжением окончания заряда. Если в течение 2 минут и более ток заряда будет менее указанного значения, при этом напряжение на АКБ будет больше или равно указанному значению, уровень заряда АКБ будет установлен на 100%.

    3. Кнопка «рассчитать» экспоненту Пейкерта по введенным данным

    4. Результат расчета. При нажатии на кнопку с результатом, он копируется в соответствующее поле настроек
     
  6. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Другие скриншоты:
     

    Вложения:

    • screen3.png
    • screen4.png
    • screen5.png
    • screen6.png
  7. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Еще скриншоты:
     

    Вложения:

    • screen7.png
    • screen8.png
    • screen9.png
    • screen10.png
    • screen11.png
    • screen12.png
    • screen13.png
  8. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Еще кое-какие скрины:

    Эхо сервер (соединение через telnet и ncat)
    screen16.png screen17.png

    Сетевые интерфейсы. Настройка. 1 - ссылка для открытия вкладки с доступными WiFi сетями

    screen21.png

    И прочие:
     

    Вложения:

    • screen15.png
    • screen18.png
  9. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Образ скоро загружу. Проверяю, нарезаю. Как вы поняли из описания, в системе ну просто очень много всего. Поэтому пока возможны некоторые ошибки. Пишите, будем потихоньку шлифовать.
     
  10. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Еще скрины. Настройка МАП теперь выглядит так:
     

    Вложения:

    • screen2.png
    • upload_2017-7-21_3-18-40.png
    Последнее редактирование: 21.07.17
  11. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Как всегда - высмотришь вроде все, в релиз отдашь и ляп вылезет. Почему-то эти 2 кнопки в релиз попали в обратном порядке. Уже поправил:
    upload_2017-7-21_15-56-10.png
    С ближайшей сборкой обновлений раздам. Пока будьте бдительны. ВКЛючение генерации красное :)

    2 ошибки в английском увидел. Старый словарь (в смысле массивы на Малине с индексами слов) использую, не то прописал. Тоже поправил. Не критично.
    И еще, выделю жирным:

    МАЛИНА УПРАВЛЯЕТ РЕЛЕ МАП, КОГДА ОНИ НАСТРОЕНЫ НА "ВНЕШНЕЕ УПРАВЛЕНИЕ"
    МАЛИНА УПРАВЛЯЕТ РЕЛЕ КЭС, КОГДА ОНИ В МЕНЮ В СОСТОЯНИИ "ВЫКЛ" (прошивка 6.3 и выше)

    В иных режимах ими управляют сами устройства!
     
  12. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Нашел еще один баг: На Мастер-узле реле МАП в обратном порядке отображаются, на контроллерах сразу все включаются (скобки не поставил в приоритете операций). Поправил. Будет в заплатке.
     
  13. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    ДЕМОН ИБП ДЛЯ NIX СИСТЕМ

    Для Малины-2 сделал агента ИБП. В виде перл скрипта. Расположен в папке продукта.
    Висит в виде сервиса (демона). Если нужно, либо через systemd настраиваете как свой сервис, либо просто в crontab прописываете проверку на наличие в памяти (pidof -x ups_agent.pl) и запуск по отсутствию.
    (работать начнет после первого обновления Малины-2). Я немного подправил ответы эхо-сервера, чтобы удобнее было читать. Добавил \n после строки ответа. Так можно легко читать высокоуровневыми функциями (методами)

    Использование:
    Usage: ups_agent.pl IP SoC "ACTION"

    Where:
    IP - MALINA IP
    SoC - SoC in %
    ACTION - shell command to execute on event
    Example: ./ups_agent.pl 192.168.0.10 20 "shutdown -h now"
     
    Последнее редактирование: 22.07.17
  14. Osolemio
    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926

    Osolemio

    Живу дома. Сюда захожу

    Osolemio

    Живу дома. Сюда захожу

    Регистрация:
    31.05.14
    Сообщения:
    6.026
    Благодарности:
    2.926
    Адрес:
    Минск
    Пока никто не колется на найденные баги, сделал обновление.
    Пока буду делать общее накопительное.
    Текущее лежит в папке продукта: update_220717.sig
    Исправлено:
    1. Изменение в ответе эхо-сервера (добавлен символ перевода строки)
    2. Поправлены кнопки "включить МАП" и "выключить МАП"
    3. Поправлены реле в Мастер-узле
    4. Поправлен файл словаря меню МАП
     
    Последнее редактирование: 22.07.17
  15. Черномор93
    Регистрация:
    22.08.14
    Сообщения:
    1.769
    Благодарности:
    512

    Черномор93

    Живу дома, здесь учусь

    Черномор93

    Живу дома, здесь учусь

    Регистрация:
    22.08.14
    Сообщения:
    1.769
    Благодарности:
    512
    Адрес:
    Анапа
    Мне лично пока страшновато менять 4-я версию на пятую, что-то настолько все новое:ogo:
    Только вроде все настроил, приспособил, привык, а тут еще чего-то лучшее. Прям как с виндоусом или MS Office, только привыкнешь к одному еще чего-то новое вышло. До сих пор сижу на виндоуз 7 и Office 2010 (скучаю по Office 2006).

    Правильно я понял, что для моей системы с 1 МАП Гибрид и 2 контроллера 200/60 (все связано по I2C) теперь нужна только одна Малина? Если так то очень приятно, а то две малины как у меня сейчас явно переизбыток.

    Вообще спасибо огромное за Вашу работу, это прям-таки чудо какое-то, повезло Микроарту, что для него такой энтузиаст старается :super:
     
Статус темы:
Закрыта.