Русский
Русский
English
Статистика
Реклама

Ибп для дома

Немного непортативного домашнего мониторинга, или из чего ещё можно собрать троллейбус

03.03.2021 12:06:10 | Автор: admin
КДПВ Borya_Spec (facebook.com/strangedrawings)КДПВ Borya_Spec (facebook.com/strangedrawings)

Мысль внедрить очередную свистелку в Home Assistant посетила меня, внезапно, в туалете. Бывает, сидишь, залипаешь в любимый информационный ресурс, и вдруг в глазах резко темнеет, и весь твой кругозор сужается до светящегося экранчика телефона. Снова УЗО не выдержал кухонных экспериментов, или, как говорили наши далёкие предки, "пробки выбило". И вот считаешь про себя секунды, в течение которых всё твоё драгоценное оборудование, весь твой любимый зоопарк одноплатников и показометров, противостоит беспросветной тьме силами бездушного куска свинца, именуемого "Источник бесперебойного питания". И, казалось бы, нагрузка невелика, и вроде как статью дочитать успеваешь, и до электрощита добежать, чтобы "автомат" передёрнуть, но всё равно как-то волнительно, вот бы знать, сколько минут еще в запасе осталось?

TL;DR

Далее я покажу и расскажу, как сделать беспроводной портативный роутер Kingston Mobilelite Wireless MLWG2 проводным и непортативным, с возможностью быстро вернуться к базовому состоянию (не стоит зацикливаться на рарности данной модели, руководство универсальное), а также накрутить на него OpenWrt, воткнуть кабель от APC UPS и отправлять данные в Home Assistant.

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

Intro

Итак, задача поставлена: старенький бесперебойник, допустим, "APC Back-UPS ES 700", без особых финансовых затрат желает быть помониторенным и интегрированным в Home Assistant, с последующей привязкой на смену статуса каких-либо событий автоматизации. Задача осложняется достаточно коротким проприетарным шнурком, допустим, "USB-RJ45", который особо далеко не протянешь (неудобство компенсируется практически нулевой стоимостью ИБП, ввиду появления огромного количества оных на вторичном рынке). Нужна маленькая тихая железяка, способная спрятаться под столом, принимать данные по USB, и слать воздухом - под эти цели был выделен портативный роутер, он же "портативная флешка", он же Kingston MobileLite Wireless G2. Немного об MLWG2: не вдаваясь в технические подробности по поводу его внутренностей, устройство представляет собой точку доступа, способную принимать подключения по WiFi, раздавая интернет через другую точку доступа (одним радиомодулем), либо через мобильный "свисток", либо через витую пару. Оснащено крайне ограниченной функционально прошивкой, умеет шарить подключенные флешки через родное мобильное приложение. Приобреталось для временного расширения памяти нерасширяемых устройств Apple, в связи с пандемией актуальность временно утратило.

Железо

Большинство портативных роутеров, оснащенных съёмной батареей, без этой самой батареи включаться и работать отказываются, даже будучи подключенными к источнику постоянного питания. Без понятия, с чем это связано, но держать 24/7 устройство, запитанное от аккумулятора, я посчитал нецелесообразным и местами даже опасным, так как батареи имеют свойство деградировать, вздуваться и воспламеняться.

Kingston MLWG2 без верхней крышки (фото с сайта openwrt.org)Kingston MLWG2 без верхней крышки (фото с сайта openwrt.org)

Самый распространённый (в интернете) способ сделать портативное устройство непортативным - воткнуть или впаять вместо батареи опытным путём подобранный конденсатор, спаяв его с пачкой резисторов, и тем самым обманывая контроллер заряда/разряда, встроенный в роутер. Выглядит крайне ненадёжно, устройство я еще планирую использовать по назначению, а значит обманывать контроллер буду наиболее очевидным способом: подавая в него постоянное напряжение, равное напряжению полностью заряженного аккумулятора. Из устройства была изъята батарея, и путём многократных замеров штангенциркулем, гугления, чтения даташитов, и даже не с первого раза, был идентифицирован и приобретён на Алиэкспресс правильный коннектор с маркировкой JST ZH 5-pin.

Сверху вниз: JST GH 1.25 мм, JST ZH 1.50 мм, оригинальный коннектор и батареяСверху вниз: JST GH 1.25 мм, JST ZH 1.50 мм, оригинальный коннектор и батареяТермистор заменен на резистор 10 кОмТермистор заменен на резистор 10 кОм

Вооружившись мультиметром, удалось определить распиновку коннектора: два красных провода - плюс, два чёрных провода - минус. Средний жёлтый провод показывал сопротивление порядка 10 кОм и был идентифицирован, как термистор. У китайского JST-коннектора были аккуратно срезаны направляющие "рельсы", термистор заменен обычным 10 кОм-резистором, всё аккуратненько спаяно и закрыто в термоусадку.

Готовая связка коннектор - преобразовательГотовая связка коннектор - преобразователь

Полностью заряженный аккумулятор роутера давал напряжение чуть более 4 вольт, значит нужен понижающий преобразователь с 5 вольт. Как нельзя лучше подошёл миниатюрный модуль, известный как DSN-MINI-360 (360 вероятно из-за вращающегося на 360 подстроечника). Пришлось помучиться с капризным подстроечником, дабы понизить напряжение телефонной зарядки до нужных 4 вольт (делать это лучше с тем блоком питания, от которого планируете питать устройство в будущем, учитывая так же, что под нагрузкой напряжение слегка просядет). В итоге роутер благополучно обманулся, показал 100% заряд аккумулятора и без проблем загрузился. Непрерывная работа связки в течение нескольких суток так же не выявила каких-либо проблем. Родное приложение показывает полностью заряженный аккумулятор (при его отсутствии). Конструкция с легкостью возвращается к исходному состоянию.

С 4 вольт без нагрузки просел до 3.86 под нагрузкойС 4 вольт без нагрузки просел до 3.86 под нагрузкой

Прошивка

Kingston MLWG2 имеет официально поддерживаемую сообществом сборку OpenWrt последней (на текущий момент) версии, 19.07.7. Однако способ прошивки здесь слегка нестандартный. Вряд ли кто-то будет это повторять, но интереса ради можно и глянуть, я получил от процесса "колоссальное" удовольствие. Для начала нужно активировать в железяке telnet. К сожалению, я забыл вытащить init-скрипты оригинальной прошивки, но костыль там прописан знатный. Итак, форматируем флешку в FAT32, помещаем в корень сборку OpenWrt (я использовал openwrt-19.07.7-ramips-mt7620-mlwg2-squashfs-sysupgrade.bin из официального репозитория), и пустой текстовый файл с названием "mlwG2_v;telnetd; .x.x.bin" (именно так, без кавычек).

После втыкания флешки в устройство и последующей его перезагрузки, подключившись к создаваемой устройством WiFi-сети, можно подсоединиться telnet-клиентом (логин admin, без пароля, ip устройства захардкожен в прошивке):

telnet 192.168.201.254

Получаем BusyBox:

  (none) login: admin    BusyBox v1.12.1 (2014-09-18 09:46:08 CST) built-in shell (ash)  Enter 'help' for a list of built-in commands.    #

Прошиваем...

mtd_write write /media/USB1/openwrt-19.07.7-ramips-mt7620-mlwg2-squashfs-sysupgrade.bin KernelAmtd_write -r write /media/USB1/openwrt-19.07.7-ramips-mt7620-mlwg2-squashfs-sysupgrade.bin KernelB

После окончания прошивки устройство весело помигает лампочками, потом все три лампочки разом загорятся, и железяка окирпичится. Не будет ни WiFi, ни Ethernet, просто три горящих лампочки.

Вскрываем корпус устройства и на верхней плате справа видим четыре неподписанных пятнышка припоя - это и есть спасительный UART. Запаиваем на него USB-to-TTL конвертер, запускаем эмулятор терминала (под винду я использую PuTTY), подключаемся (COMx:57600,8,n,1).

Белый - TX (R конвертера), зелёный - RX (T конвертера), черный - GND, паял дрожащими рукамиБелый - TX (R конвертера), зелёный - RX (T конвертера), черный - GND, паял дрожащими руками

Видим, что устройство живо, но неправильно сконфигурированы сетевые интерфейсы. Вместо eth0 откуда-то вылез eth0.1, а WiFi вообще отключен. Исправляем несправедливость, отправляем устройство в reboot, и наслаждаемся полностью работоспособной OpenWrt (UART я отпаивать пока не рекомендую, только через него можно сделать failsafe в случае нарушения работоспособности прошивки).

root@OpenWrt:/etc/config# cat network config interface 'loopback'        option ifname 'lo'        option proto 'static'        option ipaddr '127.0.0.1'        option netmask '255.0.0.0'config globals 'globals'        option ula_prefix 'fdf0:a4ca:5192::/48'config interface 'lan'        option type 'bridge'        option ifname 'eth0.1' <--- заменяем на eth0        option proto 'static'        option ipaddr '192.168.1.1'        option netmask '255.255.255.0'        option ip6assign '60'config device 'lan_eth0_1_dev'        option name 'eth0.1'  <-- заменяем на eth0        option macaddr '00:26:b7:09:e9:32'        root@OpenWrt:/etc/config# cat wireless config wifi-device 'radio0'      option type 'mac80211'      option channel '11'      option hwmode '11g'      option path 'platform/10180000.wmac'      option htmode 'HT20'      option disabled '1' <-- убираемconfig wifi-iface 'default_radio0'      option device 'radio0'      option network 'lan'      option mode 'ap'      option ssid 'OpenWrt'      option encryption 'none'

Как подключить OpenWrt в режиме клиента к существующей точке доступа, думаю, писать не стоит, есть подробнейшая официальная документация. Вкратце, через LuCI: Network -> Wireless -> Scan -> Join Network -> Assign firewall-zone = lan. После чего, в целях безопасности, лучше деактивировать интерфейс точки доступа (Mode: Master), продолжая работу с устройством по IP изнутри основной сети (всё-таки написал).

Софт

Для мониторинга ИБП APC используется демон apcupsd, про его интеграцию с Home Assistant уже много где написано, для этого даже плагины не нужны, у меня всё заработало просто через configuration.yml.

Ставим поддержку USB и демона из репозитория:

opkg updateopkg install kmod-usb-hidopkg install apcupsd

Подключаем кабель ИБП в роутер, проверяем, что устройство видно:

root@OpenWrt:/# ls -la /dev/usbdrwxr-xr-x    2 root     root            60 Mar  2 21:10 .drwxr-xr-x    5 root     root          1380 Mar  2 21:10 ..crw-------    1 root     root      180,  96 Mar  2 21:10 hiddev0

Заходим в /etc/apcupsd, бэкапим конфиг apcupsd.conf, заменяя на свой. В минимуме нам достаточно вот этого (говорим, что используем USB-кабель, и будем отдавать данные по сети):

## apcupsd.conf v1.1 ##UPSCABLE usbUPSTYPE usbNETSERVER onNISIP 0.0.0.0NISPORT 3551

Cтартуем демона

/etc/init.d/apcupsd start

Выполняем команду apcaccess и в идеале видим в консоли информацию об ИБП, любуемся полем STATUS: ONLINE. Теперь по адресу роутера (при правильно сконфигурированном файрволе) можно получать инфу от бесперебойника.
С софтом закончено.

root@OpenWrt:/etc/apcupsd# apcaccessAPC      : 001,035,0824DATE     : 2021-03-03 00:23:17 +0300HOSTNAME : OpenWrtVERSION  : 3.14.14 (31 May 2016) unknownUPSNAME  : OpenWrtCABLE    : USB CableDRIVER   : USB UPS DriverUPSMODE  :STARTTIME: 2021-03-03 00:23:15 +0300SHARE    :MODEL    : Back-UPS ES 700STATUS   : ONLINELINEV    : 232.0 VoltsLOADPCT  : 42.0 PercentBCHARGE  : 100.0 PercentTIMELEFT : 31.4 MinutesMBATTCHG : 10 PercentMINTIMEL : 5 MinutesMAXTIME  : 0 SecondsSENSE    : MediumLOTRANS  : 180.0 VoltsHITRANS  : 266.0 VoltsALARMDEL : 30 SecondsBATTV    : 13.5 VoltsLASTXFER : Low line voltageNUMXFERS : 0TONBATT  : 0 SecondsCUMONBATT: 0 Seconds...

Настройка Home Assistant

Тут даже и настраивать ничего не надо, прописываем в configuration.yml, рестартуем:

apcupsd:  host: <IP устройства с apcupsd>  port: 3551sensor:  - platform: apcupsd    resources:     - bcharge     - loadpct     - status     - timeleft     - model     - linev

Получаем готовый набор entities: модель ИБП, состояния (ONLINE, ONBATT, ...), % заряда батареи, % нагрузки, примерное оставшееся время работы от батареи, напряжение в сети (перечень параметров гораздо больше, я взял основные для себя). По результатам тестов, Home Assistant получает состояние бесперебойника где-то в течение 10-40 секунд, обновление показателей идёт где-то раз в 2-3 минуты. В целом, оно того стоило.

Далеко не полный набор сущностей, которые можно вытянуть из демонаДалеко не полный набор сущностей, которые можно вытянуть из демона

Итак, кто дочитал до конца, узнал, что с помощью старого портативного роутера, спрятанного под столом, можно мониторить напряжение в сети и заряд старенького бесперебойника с Авито, а ещё стоит иметь про запас USB-to-TTL конвертер, мало ли, захочется что-нибудь перепрошить. Я же получил некоторое удовольствие от того, что заставил работать валявшуюся без дела железяку, а также без особых усилий получил очередную карточку в Lovelace своего полоумного дома. Спасибо за внимание.

Данные несколько искажены вследствие тестированияДанные несколько искажены вследствие тестирования

Ссылки.

Подробнее..

Что влияет на цену литий-ионного аккумулятора?

21.03.2021 02:21:27 | Автор: admin

Сегодня на российском рынке появилось много литиевых аккумуляторов от различных производителей и поставщиков, как в виде отдельных ячеек, так и в сборках. Хотелось бы все таки разобраться, что же все таки влияет на цену литий-ионного аккумулятора?

Стоимость аккумуляторной батареи является жизненно важным фактором при выборе подходящей батареи для своих целей или проектов.

Итак, каковы факторы, влияющие на цену литий-ионного аккумулятора?

  1. Как правило, стоимость литий-ионного аккумулятора зависит от элементов / ячеек, из которых собран данный аккумулятор,

  2. BMS (Battery Management System контроллер управления работой литиевого аккумулятора) или систем PCM и PCB (модуля или платы защиты), а также

  3. корпуса батареи.

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

Сегодня мы подробно остановимся на трех основных факторах, определяющих разницу в цене литий-ионных аккумуляторов.

1. Выбор аккумуляторной батареи по химическому составу ячеек и производителю

1.1 Различные материалы

Во-первых, это химический состав аккумуляторных элементов. В литий-ионных аккумуляторах могут использоваться различные варианты катодных материалов. Катодные материалы в основном и обеспечивают характеристики литиевого аккумулятора. В качестве таких материалов в основном используются сложные оксиды металлов (в основном на основе лития), к примеру, литий-кобальт (LCO), литий-железо-фосфат (LiFePO4), манганат лития (LiMn2O4), тройные материалы, такие как никель-кобальт-алюминий (NCA) и никель-марганец кобальта (NCM или NMC), титанат лития и другие.

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

1.2 Аккумуляторные батареи различных производителей

Цена аккумуляторных элементов зависит от марки. Например, специальные батареи, включая низкотемпературные, высокотемпературные, высокотоковые и фасонные батареи, созданные разными производителями, будут влиять на стоимость батарей из-за различных технологий производства. Некоторые аккумуляторные элементы от мелких производителей могут иметь более низкую цену за счет низкой производительности аккумулятора. Хотя цены на литиевые аккумуляторы от крупных производителей, таких как LG-Chem (Корея), BYD, CATL, CALB, Great Power и т.д, могут быть выше по цене, но при этом ячейки / аккумуляторы имеют высокие стабильные свойства и обеспечивают хорошую и безопасную работу аккумулятора.

2. Выбор защит иBMSв литий-ионной батарее.

Выбор BMS (PCM или PSB) для литий-ионного аккумулятора еще один фактор, влияющий на общую стоимость аккумулятора. Литий-ионные батареи могут вызвать отказ батареи или даже возгорание при неправильной эксплуатации, поэтому BMS (PCM или PSB) необходим для литий-ионных батарей во избежание угроз безопасности. Дизайн BMS состоит из трех основных частей: базовая защита аккумулятора, связь и система управления аккумулятором. Давайте объясним ниже.

2.1 Базовая защита аккумулятора

Чтобы контролировать производительность батареи, каждая литий-ионная батарея имеет базовую защиту, которая защищает элементы от высокого / низкого напряжения, токов во время заряда и разряда. В соответствии с запросами клиентов, к аккумулятору может быть добавлена другая защита, например защита от перегрева, что улучшит надежность, но и увеличит стоимость всей литий-ионной аккумуляторной батареи.

2.2 Связь

Когда требуется контроль и управление батареями, всегда есть коммуникационная сеть. Для этого каждая ячейка содержит интерфейс связи для передачи данных. Протоколы связи можно разделить на I2C, RS485, RS232, CANBUS, HDQ, SMBUS и т. Д. Также имеется простой светодиодный индикатор батареи, который показывает состояние заряда аккумуляторной батареи.

2.3 BMS

BMS относится к системе контроля и управления за работой литиевыми аккумуляторами. В основном обеспечивает интеллектуальное управление и обслуживание каждого элемента / ячейки батареи. Благодаря мониторингу состояния батареи, пользователю предлагаются подробные данные, чтобы помочь предотвратить перезарядку и разрядку батареи и продлить срок ее службы при правильном использовании.

Ключевые функции BMS включают в себя мониторинг параметров батареи в реальном времени, оценку состояния батареи, онлайн-диагностику и раннее предупреждение критичных состояний, контроль заряда, разряда и начального состояния заряда, сбалансированное управление и управление температурой. Чем сложнее BMS, тем она дороже и как следствие дороже сам аккумулятор.

3. Выбор корпусов литий-ионных аккумуляторов

Литий-ионные аккумуляторные элементы / ячейки могут быть заключены в различные корпуса термоусадочную ПВХ пленку, текстолит, пластик или металл. Вариант корпуса и конструкции аккумулятора обычно зависят от конкретных требований устройств с электропитанием от аккумуляторов. Поэтому стоимость аккумуляторной батареи зависит от материала корпуса. В чем разница между этими материалами?

3.1 Термоусадочная ПВХ пленка

Термоусадочная ПВХ пленка обычно используется для небольших литий-ионных аккумуляторных батарей, в которых количество литиевых ячеек небольшое, а общий вес батареи не превышает 2 кг. Однако для таких аккумуляторных блоков весом более 1 кг перед термоусадкой ПВХ необходима установка фиксирующих кронштейнов между элементами аккумулятора и лист стекловолокна по периметру.

3.2 Стеклотекстолит

Корпуса из стеклотекстолита также используются в небольших литиевых аккумуляторах. Такой корпус надежно защищает литиевые ячейки от ударов. Преимущества таких корпусов в том, что можно собрать аккумулятор в прочном корпусе практически любой формы.

3.3 Пластик

Цена литиевого аккумулятора в пластиковом корпусе будет зависеть от сложности конструкции корпуса. Например, если корпус имеет неправильную форму, стоимость пресс-формы в конечном итоге увеличит стоимость аккумуляторной батареи. Кроме того, требования к материалу корпуса (ABS пластик, ПВХ и т.п.), являются причиной разницы в конечной цене аккумулятора.

3.4 Металл

Металлический корпус более прочный и лучше отводит тепло, чем пластиковый корпус, но является более дорогим. Точно так же стоимость во многом зависит от требований к металлическому корпусу. Водонепроницаемый металлический корпус или некоторые специальные металлические корпуса, такие как титановый корпус, будут продаваться по более высокой цене, в то время как обычный металлический аккумуляторный блок может стоить значительно дешевле.

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru