Vad ötletem támadt.
Mi lenne ha a TCP/IP stack nélkül egy "bit sorozat" -ként döntenék be x db broadcast üzenetet, hogy shutdown van?
Viszonylag egyszerűen megvalósítható, az elterjedt TCP/IP chipek helyett, egyszerűen, a 10Mbit ethernetnek megfelelő sebességű sorozatot "injektálni" a LAN -ba. Mivel nincs mögötte protokoll (senki nem figyeli az ACK -ot) ha kell akár 3-6x is "kilőhetném". Talán, még az sem baj, ha szétdől a hálózat, hiszen a következő lépés, hogy lekapcsol az UPS és majd valamikor, ha helyreáll a hálózat visszakapcsol.
Feladat az lenne, hogy egy buta (APC Back UPS 600 DB9 csatlakozó de csak szinteket ad) jelzését kellene ráültetni a LAN -ra. POE kamerát bütykölök RPI -ből de az sem tűri ha csak úgy kirántod alóla a tápot.
- 1222 megtekintés
Hozzászólások
?
Raspberry PI vagy valami soros porttal rendelkező Mikrotik, ami értelmezi az UPS jeleit és hatására tud broadcastolni?
- A hozzászóláshoz be kell jelentkezni
Pont ezt akarnám megspórolni. Valami egycsipes mcu és csomag "szimulátor".
Az RPI LAN interfésszel >9eFt és >1A (5W) villany.
Az mcu + W5100/W5500/ENC28J60 ck. 1W (ha kell ha nem).
Az mcu + ethernet csatlakozó és trafó (bontott) <0,1W és <500Ft.
Persze ha muszáj ...
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Amit leírtál azt pont lefedi az UDP protokoll.
- A hozzászóláshoz be kell jelentkezni
Az UDP csomag már teljesen más szint. Amire én gondolok az a fizikai szint feletti első rész.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
"APC Back UPS 600 DB9 csatlakozó de csak szinteket ad"
Lehet csak megfelelo kabelt kellene szerezned hozza.
- A hozzászóláshoz be kell jelentkezni
Van megfelelő kábelem, de ez nem soros kommunikáció, hanem csak rángat két lábat (maijn/accu ill. charge low).
Egyébként a soros sem igazán segít, a POE -be akkor is kell valami inteligens, ami ebből udp broadcastot csinál.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Ha jól értem, egy broadcast üzenetben (melyet az UPS küldene ki a LAN-ra) minden eszközt shutdown-olni szeretnél, mielőtt elmegy az áram. Szerintem ez nem megvalósítható. A fordítottja esetleg (magic packet, wake-on-lan). De javítsatok ki, ha tévedek.
- A hozzászóláshoz be kell jelentkezni
Meg lehet csinálni csak ha nem működik elsőre macerás az oszcilloszkóppal debugolás.
Itt egy megoldás is:
https://github.com/cnlohr/ethertiny
- A hozzászóláshoz be kell jelentkezni
Na ez az amit kerestem. Akkor még sem hibbantam meg az ötletemmel.
Kár hogy a bit bang nem jutott az eszembe mint lehetséges kulcs szó :(
Nem mélyedtem még bele, első látásra ez kell nekem.
Szkóppal debugolni? - rutin feladat, bár etherneten nem próbáltam.
A tíz megabit még belefér a felszerelésem sávszélességébe.
Azt még nem értem miért nem rakott rá egy trafót - egy noname hálókártyából simán kinyerem.
Ha mondjuk STM32F030 -at használok akkor a mintavételi sebesség sem gond (48MHz órajel).
A broadcast megvalósítása már kicsit húzósabbnak tűnik, de lehet csak annyi, hogy IPv4 192.168.c.255 címre kell küldeni a csomagot. Így mindenki megkaphatja.
Nagyon köszönöm a linket!
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
arduino + egy http szerver.
http szerver tartalmát a leállítandó szerverről olvasod cron-ból, ha azt kapja vissza hogy shutdown, akkor már állíthatja is le a gépet.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Kösz de nem ez lenne a cél.
A lényeg hogy minél egyszerűbben (értsd nem sok alkatrész) UDP csomagot küldhessek (ami lehet broadcast, hogy ne kellejen külön-külön mindenkinek elküldeni) ha ideje lekapcsolni.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
UDP csomag küldéséhez nem kell intelligencia, egy 8-bites mikrokontroller simán összerakja a csomagot, és beletolja egy Ethernet MAC-be (pl. ENC28J60-ba). Az IP címet veheted fixre, vagy írhatsz DHCP klienst, de ez már igazából a "minek" kategóriája... Annyiból jobb az UDP, mint random más Ethernet protokoll, hogy ehhez megvan az oprendszerekben a fogadáshoz minden, alkalmazásszinten láthatod a csomagot. Más protokoll esetén valami driverszerűséget is fog kelleni írni, ami azért szívás.
- A hozzászóláshoz be kell jelentkezni
DB9 csatlakozó de csak szinteket ad
No, azt szokták egy soros portra rádugni. Itt látszik az öregember előnye: Még látott soros portot. ;)
Ha nincs soros port, akkor kell egy rs232 -> ttl vagy usb átalakító. Az ups-hez találsz szoftvert, vagy megírod annak a két bitnek a kezelését.
- A hozzászóláshoz be kell jelentkezni
No megkaptam.
Házi körülmények között a nut -ot használom, ismeri a dumb UPS vezérlést soros porton át (valójában a handshake lábakat figyeli). USB átalakító nem hiszem hogy működne - vagy drivert kellene írni.
A terv, hogy a bit-bang LAN megoldást kombinálom azzal a tán két jelnek a figyelésével ami az UPS -ből kijön.
OFF: A fent említett típusú UPS -hez még kapcsolási rajzom is van. A hozzávaló kábelt szintén én gyártottam le - az interneten talált kapcsolás alapján. Minden alkatrésze elérhető, cserélhető így könnyen javítható. Van belőle 4 db :)
Sajnos a felügyelete - csatlakoztatása nagyon elavult. Remélem sikerül a felügyeltre kielégítő megoldást találnom (nem sok munkával és alkatrésszel), építenem. (Egyébként utoljára 5eFt ért vettem ilyet, a 12V/12Ah akkumulátor jóval drágább - a YUASA 6 évig simán működött)
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Még mindig nem értem.
Nincs hálózatra kötött számítógépszerű entitás - hálózati csatlakozóval - az UPS közelében?
Azaz a bitbang "hálózati stack" szükséges?
Az USB-serial egy jól definiált szabványos class. Biztos lehet rá drivert is írni, de valószínűleg ezt már sokan megtették. ;) Akkor meg csak a két láb állapotát kell néha lekérdezni.
Nem kevésbé lenne szabványos az sem, ha a tápot modulálnád. Ott is át lehet vonni bitsorozatot,
Vagy csak a tápot figyelnéd és helyileg állapítanád meg a megszűnését.
- A hozzászóláshoz be kell jelentkezni
Mint az elején írtam, jelenleg az UPS közelében csak egy WR1043 router van Open Wrt -vel. Persze lehetne rá "taknyolni" valamit van USB és soros is.
Nem tetszik, de lehet ez lesz a megoldás.
A bit-bang UDP csomag sokkal érdekesebb és így az UPS is kocka lesz.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Az a WR1043 + OpenWRT tökéletes a feladatra! Sokkal hamarabb lesz belőle működőképes és stabil megoldás, mint akár a bitbangelős, akár egy mikrokontroller + Eth MAC megoldásból.
- A hozzászóláshoz be kell jelentkezni
Mindig az a játék! :-)
Így már érthető.
Pedig erre pont egy rs232-ttl szintillesztő ic kell csak. A két bites információ feldolgozásához meg kell egy horrorisztikus bonyolultságú "driver".
- A hozzászóláshoz be kell jelentkezni
A baj az, hogy V1.x vagyis mindössze 32M RAM van és fut rajta az OpenVPN is, alig néhány mega RAM maradt :(
Ráadásul, így a router is azt UPS tartozéka? A WR1043 nem tudom meddig oldja meg az igényeket.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Ha már RPi vagy Arduino akkor az végy az UPS jelét és csináljon belőle tcp jelet, értesítést.
- A hozzászóláshoz be kell jelentkezni
RPI a jelenlegi felállásban akár 50m POE.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Ha az a célod, hogy üzenettel leállíts host-ot/-okat, de pont azt nem tudod garantálni, hogy meg is kapja/ák az üzenetet, mire jó az egész?
Ha az a célod, hogy tudjad faék eszközzel DoS-olni a saját hálózatod, akkor jó helyen kutakodsz.
- A hozzászóláshoz be kell jelentkezni
Valószínűleg nem egy banki hálózaton kezdenék tesztelni. (Még azt sem látom hogy tudnám ezt a szerkezetet tesztelni)
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni