Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Domowy serwer testowy ze starego laptopa.

Hetii 01 Sty 2019 20:48 7362 30
  • Domowy serwer testowy ze starego laptopa.
    Dzień dobry.
    Dziś prezentuję kolejny drobny projekt, jaki wykonałem na potrzeby własne.

    Jest to mały serwer do różnorakich celów testowych mojej platformy składającej się z ośmiu innych komputerów (niebawem także i ją zaprezentuję).
    Płyta główna pochodzi z laptopa Dell E6330, a obudowa natomiast ze starego tunera SAT BCT1530.
    Prócz koniecznych modyfikacji konstrukcyjnych, okazało się konieczne dorobienie układu symulującego ładowarkę Dell po protokole 1-wire, w przeciwnym razie układ ładowania nie pracował.
    Na przednim panelu zostały dodane dwa wyświetlacze OLED na I2C sterowane z portu VGA oraz w miejscu CDROMu został dodany dodatkowy dysk twardy na obrazy dockerowe.
    Dysk ten wymaga 12V, więc została dodana przetwornica step-down, a całość zasilania jest sterowana z odpowiedniego pinu złącza CD-romu, tak aby w chwili przejścia komputera w stan uśpienia dysk był automatycznie odłączany od zasilania.
    Zasilacz pochodził z jakiś starszych zapasów i jak widać na zdjęciach został wyposażony w dodatkowy radiator i większej mocy układ mostka.
    Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa.
    Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa.Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa.


    W załączniku dodaję kod do symulatora ładowarki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Hetii
    Poziom 15  
    Offline 
    Specjalizuje się w: elektronika, komputery, programowanie
    Hetii napisał 406 postów o ocenie 288, pomógł 4 razy. Mieszka w mieście Wałbrzych. Jest z nami od 2003 roku.
  • #2
    grawastar1986
    Poziom 14  
    Duży plus za symulator ładowarki i włożoną pracę. Niestety gotowe rozwiązanie można kupić na Allegro za około 300 zł za gotowy komputer i5.
  • #3
    Rack70
    Poziom 2  
    Mam pytanie odnośnie ładowarki - czy podanie napięcia zasilania poprzez rezystor 100-120k na trzeci pin nie załatwiłoby sprawy?. W lapkach i kompach HP działa to bardzo dobrze.
  • #4
    Hetii
    Poziom 15  
    grawastar1986 napisał:
    Duży plus za symulator ładowarki i włożoną pracę. Niestety gotowe rozwiązanie można kupić na Allegro za około 300 zł za gotowy komputer i5.


    Być może, ale moje ostatnie projekty mają na celu wykorzystanie elektroniki, którą już posiadam.

    Rack70 napisał:
    Mam pytanie odnośnie ładowarki - czy podanie napięcia zasilania poprzez rezystor 100-120k na trzeci pin nie załatwiłoby sprawy?. W lapkach i kompach HP działa to bardzo dobrze.


    Szczerze nie wiem czy zwykły rezystor wystarczy jako obejście problemu.

    Zastosowany symulator ma zdefiniowaną moc, jaką jest wstanie dostarczyć zasilacz do laptopa i na tej podstawie jest ustalany prąd ładowania akumulatora. Być może dla samego rezystora, była by to najniższa z możliwych opcji.
  • #5
    gdkj
    Poziom 26  
    Rack70 napisał:
    Mam pytanie odnośnie ładowarki - czy podanie napięcia zasilania poprzez rezystor 100-120k na trzeci pin nie załatwiłoby sprawy?. W lapkach i kompach HP działa to bardzo dobrze.


    W HP identyfikacja zasilacza jest analogowa w Dell-ach cyfrowa. Tak się nie da.
    Pozdrawiam.
  • #6
    pirotechnik1212
    Poziom 14  
    Jakie zadania stoją przed tym serwerem? Co więcej wyświetlane jest na tych oledach, jakieś statystyki obciążenia itp? Jak przedstawia się zużycie energii?
    Sam przechodziłem przez wiele etapów domowego serwera. Zacząłem od Orange Pi, potem terminal HP T5730 z wymienionym prockiem na Turiona TL-60 by skończyć na desktopowej obudowie po komputerze RM Education z zasilaczem Delta 250W (do kupienia na alle... za 25zł), I3-3220T wraz z Asus P8H61-I LX, 4GB DDR3 i chińskim 120GB SSD z alie... :) Jedynie wentylator zasilacza wymagał uciszenia a tak to hula jak należy przy okazji nie zjadając zbyt dużo prądu.
  • #7
    Wilu88
    Poziom 11  
    Witam

    Mógłby kolega trochę więcej napisać o samym emulatorze zasilacza Dell? Potrzebuje zrobić zasilacz chociażby z wykorzystaniem arduino w którym mógłbym zmieniać (za pomoca switchy) wydajność zasilacza tak aby można było udawać zasilacze 65W, 90W, 125W.
  • #8
    Hetii
    Poziom 15  
    pirotechnik1212 napisał:
    Jakie zadania stoją przed tym serwerem? Co więcej wyświetlane jest na tych oledach, jakieś statystyki obciążenia itp? Jak przedstawia się zużycie energii?


    Serwer służy mi do testowania obrazów platformy nad którą pracuję oraz czasami różnego rodzaju aplikacji sieciowych z którymi mam styczność zawodowo.

    Na oledach głownie jest pokazywane jest obciążenie oraz powiadomienia z aplikacji, które są dla mnie istotne.
  • #9
    bremenpl
    Poziom 13  
    Idealna adaptacja starszego sprzetu, pracochlonne i przemyslane rozwiazanie.
  • #10
    Hetii
    Poziom 15  
    Wilu88 napisał:
    Witam

    Mógłby kolega trochę więcej napisać o samym emulatorze zasilacza Dell? Potrzebuje zrobić zasilacz chociażby z wykorzystaniem arduino w którym mógłbym zmieniać (za pomoca switchy) wydajność zasilacza tak aby można było udawać zasilacze 65W, 90W, 125W.


    Emulator pochodzi ze strony dell-charger-emulator.

    Ja zrezygnowałem z możliwości zmiany parametrów przez skrypt dell-charger-data-editor.py.
    Istotna dla Ciebie jest tablica default_eeprom_data w pliku main.c bo w niej masz zakodowane informacje o mocy zasilacza.

    Wystarczy dorobić odczyt 3 pinów na początku programu, a w ich obsłudze podmienić bajty w tej tablicy na takie jakie potrzebujesz i wywalić obsługę eepromu.
  • #11
    Wilu88
    Poziom 11  
    Hetii napisał:
    Wilu88 napisał:
    Witam

    Mógłby kolega trochę więcej napisać o samym emulatorze zasilacza Dell? Potrzebuje zrobić zasilacz chociażby z wykorzystaniem arduino w którym mógłbym zmieniać (za pomoca switchy) wydajność zasilacza tak aby można było udawać zasilacze 65W, 90W, 125W.


    Emulator pochodzi ze strony dell-charger-emulator.

    Ja zrezygnowałem z możliwości zmiany parametrów przez skrypt dell-charger-data-editor.py.
    Istotna dla Ciebie jest tablica default_eeprom_data w pliku main.c bo w niej masz zakodowane informacje o mocy zasilacza.

    Wystarczy dorobić odczyt 3 pinów na początku programu, a w ich obsłudze podmienić bajty w tej tablicy na takie jakie potrzebujesz i wywalić obsługę eepromu.


    Dzięki bardzo wszystko rozjaśnione ;)
  • #12
    grzewoj
    Poziom 27  
    Hetii napisał:
    zostały dodane dwa wyświetlacze OLED na I2C sterowane z portu VGA


    W jaki sposób jest to realizowane? Poprzez standardowy kanał komunikacyjny I2C złącza VGA?
  • #13
    Hetii
    Poziom 15  
    grzewoj napisał:
    W jaki sposób jest to realizowane? Poprzez standardowy kanał komunikacyjny I2C złącza VGA?

    Dokładnie tak, magistrale i2c są dostępne jako urządzenia blokowe w /dev/i2c-* więc można się do nich dobrać np. pakietem i2c-tools.

    Dodam jeszcze, że wyświetlacze trzeba odpowiednio zmodyfikować, aby były na różnych adresach magistrali i2c.
  • #15
    Piotrek1970
    Poziom 17  
    Do kolegi soniak2: jak widać "/dev/i2c..." to musi być linux ; -)

    Ja mam inne pytanie, a mianowicie o ukrytą kamerę , do czego ma służyć, nie ufasz współmieszkańcom? Ogólnie nieźle wykombinowane i wykonane , widać sporo włożonej pracy. Mam nadzieję, że satysfakcji równie dużo.

    Piotrek

    PS.: żeby nie było, nie czepiam się niejawnego wykorzystania kamery.
  • #16
    pirotechnik1212
    Poziom 14  
    soniak2 napisał:
    Jaki system masz na serwerze i co on u ciebie oferuje ?

    Mam zainstalowaną Fedorę 29 z KDE Plasma. Serwer służył głównie do eksperymentów i nauki ale obecnie działa na nim serwer www (apache + PHP + MariaDB), serwer poczty (postfix + dovecot + amavis + clamav + spamassassin + roundcube) do tego jeszcze FTP, nextcloud, samba... Sam serwer jest podłączony do telewizora i czasami po odpaleniu Kodi służy jako odtwarzacz filmów, YouTube itp. Jest podpięty wraz z routerem i modemem LTE do UPS tak by zachować ciągłość zasilania. Posiadam publiczne IP i domenę, która kieruje na ten serwer przez CloudFlare. Więcej w tym zabawy niż zysków ale chyba o to chodzi, by mieć coś, co cieszy nawet jeśli nie jest to ekonomicznie uzasadnione :)
  • #17
    Wilu88
    Poziom 11  
    Niestety mam problem ze stworzeniem emulatora, nawet gdy wrzucam oryginalny soft (programując przez Eclipse) w żaden sposób zasilacz nie udaje tego 45W. Kolega miał jakieś problemy z tym? Mógłbym prosić o jakaś pomoc, wskazówki na PM?

    Hetii napisał:
    Wilu88 napisał:
    Witam

    Mógłby kolega trochę więcej napisać o samym emulatorze zasilacza Dell? Potrzebuje zrobić zasilacz chociażby z wykorzystaniem arduino w którym mógłbym zmieniać (za pomoca switchy) wydajność zasilacza tak aby można było udawać zasilacze 65W, 90W, 125W.


    Emulator pochodzi ze strony dell-charger-emulator.

    Ja zrezygnowałem z możliwości zmiany parametrów przez skrypt dell-charger-data-editor.py.
    Istotna dla Ciebie jest tablica default_eeprom_data w pliku main.c bo w niej masz zakodowane informacje o mocy zasilacza.

    Wystarczy dorobić odczyt 3 pinów na początku programu, a w ich obsłudze podmienić bajty w tej tablicy na takie jakie potrzebujesz i wywalić obsługę eepromu.
  • #18
    Hetii
    Poziom 15  
    Piotrek1970 napisał:
    Ja mam inne pytanie, a mianowicie o ukrytą kamerę, do czego ma służyć, nie ufasz współmieszkańcom?


    Jeżeli chodzi o moduł na przednim panelu, o który zapewne chodzi, to nie jest kamera a moduł bluetooth.
    Kamerkę miałem instalować także i całkiem możliwe że ją jeszcze dodam, ale chodzi tutaj bardziej o możliwość testowania algorytmów projektów typu OpenCV, czyli np rozpoznawania obiektów, twarzy etc.

    Dodano po 8 [minuty]:

    Wilu88 napisał:
    Niestety mam problem ze stworzeniem emulatora, nawet gdy wrzucam oryginalny soft (programując przez Eclipse) w żaden sposób zasilacz nie udaje tego 45W. Kolega miał jakieś problemy z tym? Mógłbym prosić o jakaś pomoc, wskazówki na PM?


    Z tego co pamiętam to też chwilkę walczyłem z oryginalnym projektem, z tego co pamiętam na pewno nie działał mi sposób regulacji nastaw przez skrypt pythonowy.

    Z tego co mogę doradzić to sprawdź czy aby na pewno używasz odpowiedniego pinu dla 1-wire i czy on jest zgodny z tym co jest podane w kodzie.

    Dodatkowo sprawdź fuse bity i częstotliwość zdefiniowaną w makefile, może dla innej kompilujesz a z inną pracuje uC.

    Na koniec uC powinien być zasilany od strony zasilacza, a nie od strony laptopa, chodzi o to żeby wystartował wraz z zasilaczem a przed laptopem.

    Dodano po 14 [minuty]:

    Piotrek1970 napisał:
    Ja mam inne pytanie, a mianowicie o ukrytą kamerę, do czego ma służyć, nie ufasz współmieszkańcom?


    Jeżeli chodzi o moduł na przednim panelu, o który zapewne chodzi, to nie jest kamera a moduł bluetooth.
    Kamerkę miałem instalować także i całkiem możliwe że ją jeszcze dodam, ale chodzi tutaj bardziej o możliwość testowania algorytmów projektów typu OpenCV, czyli np rozpoznawania obiektów, twarzy etc.
  • #19
    error105
    Poziom 12  
    Hmmm, taniej wyszedłby VPS (sam mam takiego za 12zł rocznie - 40GB, 256ram, 3.2GHz) - dużo mniej prądu zje- tyle że dostęp zdalny a nie bezpośredni :)
  • #20
    pirotechnik1212
    Poziom 14  
    error105 napisał:
    sam mam takiego za 12zł rocznie

    Pochwal się kolego gdzie takie ceny to sam chętnie przetestuję :D
    Jednak VPS to nie to samo co fizyczna maszyna, dla mnie liczy się sam fakt przyjemności z posiadania mini serwera oraz to, że znajduje się u mnie w domu mogę go dowolnie konfigurować - również sprzętowo. Zapewne podobnie zapatruje się na to autor tematu.
  • #22
    Trzyzet
    Poziom 21  
    Rack70 napisał:
    Mam pytanie odnośnie ładowarki - czy podanie napięcia zasilania poprzez rezystor 100-120k na trzeci pin nie załatwiłoby sprawy?. W lapkach i kompach HP działa to bardzo dobrze.


    W HP i Lenovo bez problemu, w Dellu niestety nie.
  • #23
    bodzio667
    Poziom 18  
    Szczerze powiem ciekawe rozwiązania kolega zaproponował. Sporo wartości merytorycznej jest tu zawarte. Mam nadzieje że kolega więcej będzie się tu udzielał. :)
  • #24
    Wilu88
    Poziom 11  
    Witam niestety nadal walczę z emulatorem. Procesor wybrany prawidłowo, taktowanie również, fuse bity ustawione tak jak trzeba. Płytkę odpalam przed uruchomieniem notebooka, nawet na oscyloskopie widać jakaś komunikację na PB2 niestety laptop zawsze widzi "Unknown adapter". Kolega wykonywał całą całą płytkę sam? Czy bazował na jakiś gotowcu?
  • #25
    Hetii
    Poziom 15  
    Wilu88 napisał:
    Kolega wykonywał całą całą płytkę sam? Czy bazował na jakiś gotowcu?


    Z tego co pamiętam to ja to mam chyba w pająku nawet złożone i działa bez problemu.
    Udostępnij gdzieś swój kod i schemat to może na coś natrafię :)
  • #26
    Wilu88
    Poziom 11  
    Kod bez żadnych przeróbek od autora:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Co do sprzetu wykorzystałem takie oto cudo: Link z tym ze przestawiłem fusebity tak by nie zgłaszał się bootloader od arduino. Wgranie testowego kodu z miganiem diody działało bez zarzutu.

    A to ustawienia eclipse pod AVRDude
    Domowy serwer testowy ze starego laptopa.

    Hetii napisał:
    Wilu88 napisał:
    Kolega wykonywał całą całą płytkę sam? Czy bazował na jakiś gotowcu?


    Z tego co pamiętam to ja to mam chyba w pająku nawet złożone i działa bez problemu.
    Udostępnij gdzieś swój kod i schemat to może na coś natrafię :)
  • #27
    grzewoj
    Poziom 27  
    Hetii napisał:
    magistrale i2c są dostępne jako urządzenia blokowe w /dev/i2c-*


    Tak z ciekawości, pod Windows też jest to możliwe?
  • #28
    Hetii
    Poziom 15  
    grzewoj napisał:
    Hetii napisał:
    magistrale i2c są dostępne jako urządzenia blokowe w /dev/i2c-*


    Tak z ciekawości, pod Windows też jest to możliwe?


    W z tego co wiem to nie ma urządzeń blokowych do których można by pisać, zapewne musiał byś przez API biblioteki system to robić: windows.devices.i2c

    Dodano po 5 [minuty]:

    Wilu88 napisał:
    Kod bez żadnych przeróbek od autora ...

    No ok, a czy ten Eclipse ustawia ci poprawnie zmienną F_CPU=8000000UL ?
    Może tutaj jest pies pogrzebany...

    Zawsze możesz uruchomić ubuntu-mate z płyty lub pendriva, zainstalować avrdude + gcc-avr i odpalić make-a co jest w moim kodzie, wówczas jeszcze bardziej zminimalizujesz ewentualne różnice.

    Rezystor 4k7 podłączony do +5v avrka a wyjścia 1-wire dałeś?
  • #29
    shac0
    Poziom 8  
    pirotechnik1212 napisał:
    przy okazji nie zjadając zbyt dużo prądu.
    Na ogół to utrzymanie ile Ci wychodzi takiego serwera rocznie?
  • #30
    Hetii
    Poziom 15  
    Wilu88 napisał:
    Witam niestety nadal walczę z emulatorem.


    Jak tam? udało się uruchomić?
    Ja znalazłem dodatkowe zdjęcia z tego mojego pajączka osadzonego na przetwornicy step down:
    Domowy serwer testowy ze starego laptopa. Domowy serwer testowy ze starego laptopa.