Един UPS APC и перипетите около него :)
15.01.2013 Posted by Александър Христов
Отдавна си мечтая за умен UPS (умен в смисъл, да може да си говори с компютъра). В момента система се „подпира“ от един REPOTEC RPT-1003AU – 1KVA/600W – около 40 минути което за мен е супер, но проблема е че така и не намерих софтуер който да НЕ работи в графична среда и да си говори с UPS-a. Преди около месец ми попадна един UPS APC SMART-UPS 700 I NET. Пристигна в леко насипно състояние, няма кабел за комунукация, няма батерии предната метална планка която подпира батериите и държи предния капа, но все пак си APC.
1-ва задача беше да из тествам дали работи, но за целта ми трябваше комуникационния кабел който е на RS-232 🙂 и който нямах за нещастие. След няколко дена ровене в нета попаднах на тази схема:
Направих кабел и остана да проверя дали ми работи комуникацията, да ама не. За софтуер реших да използвам ApcUPSd, понеже дъното което използвам няма com порт, ползвам платка PCI to RS232 с Moschip MCS9835. След няколко опита да свържа UPS и сървъра, реших да мъча системата под Windows докато разбера какъв е проблема с комуникацията и тогава да го мъча под Linux. И речено – сторено :), оказа се, че UPS не харесва com порта, смених няколко PCI платки докато се стигна до заветната с Moschip MCS9865. За софтуер под Windows използвах UpsDiag2. Кабела работи, платката и тя, UPS и той, всичко хубаво само дето kernel-a не потдържа този хардуер :), намерих драйвер и се почна едно компилиране и то не друго а идеята е платформата за виртуализация (Дебиан базирана) да управлява UPS-a. След 2 дена борба, докато разбера как точно се компилира за Дебиан драйвери нещата та потръгнаха. С едно малко уточнение, че портовете не са /dev/ttyS0,1 a /dev/ttyD0,1 :).
След което след като конфигурирах правилно apcupsd всичко си дойде на мястото 🙂
Тръгна и web базираното приложение за наблюдение на UPS.
This work by Александър Христов is licensed under a Creative Commons Attribution-NonCommercial 4.0 International
Вашият коментар
logged in to post a comment.'), get_option('siteurl') . '/wp-login.php?redirect_to=' . get_permalink()) ?>