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

Arduino Kontrola napięcia sieci i wprowadzenie PC w stan uśpienia

pyton 06 Paź 2017 12:49 396 7
  • #1 06 Paź 2017 12:49
    pyton
    Poziom 21  

    Witam

    Czy ktoś z mądrzejszych jest mi w stanie powiedzieć jak uśpić komputer po daniu mu jakiegoś sygnału?

    Chodzi mi o taki scenariusz:
    Jest zanik napięcia w sieci po np 2 minutach Arduino wysyła sygnał do komputera i go usypia/hibernuje.

    Od strony Arduino to nie trudne ale jak to zrobić od strony PC? Ktoś podpowie?

    Opcja podłączenia Arduino po USB (port Com)

    0 7
  • Zasilacze Ups
  • #2 06 Paź 2017 13:01
    maly_ninja
    Poziom 13  

    Można to rozwiązać na kilka sposobów. Między innymi:
    Jakaś komunikacja arduino-pc (np. przez bluetooth lub przejściówkę usb-rs232) i program na pc działający ciągle. Jeśli program otrzyma jakiś komunikat to usypia komputer :D
    Można jeszcze podpiąć się pod przycisk zasilania, a w ustawieniach włączyć usypianie komputera po wciśnięciu przycisku zasilania. To jest chyba prostsza metoda lecz nie pozwala na wiele możliwości.

    @ADD
    Nie zauważyłem, skoro ma być podłączenie przez USB to zostaje jakiś program na komputer, który będzie odczytywał sygnały i reagował na nie.

    0
  • Zasilacze Ups
  • #3 06 Paź 2017 13:01
    zster

    Poziom 28  

    Napisać skrypt pracujący na PC "nasłuchujący" wirtualnego portu COM ( USB ) w poszukiwaniu wybranej przez Ciebie komendy ( np. ciągu znaków ) wysłanej z Arduino w momencie zaistnienia zdarzenia które wybierzesz ( zanik napięcia ? ) .
    Lub ingerencja w PC i podłączenie się przekaźnikiem sterowanym przez Arduino do złączy przycisku zasilania komputera.

    0
  • #4 06 Paź 2017 13:13
    pyton
    Poziom 21  

    O przycisku POWER nie pomyślałem....

    A czy ktoś z was potrafił by taki skrypt napisać?

    Musiał by on zawierać możliwość wyboru portu COM na którym byłby nasłuch z Arduino i wybór co ma zrobić: Wyłącz, Uśpij, Hibernuj
    Start z systemem.

    Więcej nie przewiduje.

    0
  • #5 06 Paź 2017 14:26
    Marek_Skalski
    Moderator Projektowanie

    Kilka lat temu Microchip udostępniał różne klasy USB dla uC 16-bitowych. Jedną z nich jest urządzenie typu UPS. Podłączenie takiego urządzenia do komputera pod kontrolą Windowsa 7, 8.x (może też 10) pozwala na uśpienie lub hibernację systemu kiedy UPS pokazuje zbyt niski poziom baterii. Nie trzeba żadnych skryptów, nie trzeba wybierać portów, ponieważ jest to element systemu zarządzania energią w Windows. Możesz użyć dowolnego uC z rodziny PIC24 lub dsPIC33, zmodyfikować program o wykrywanie zaniku zasilania, skompilować i wgrać program i sprawę masz załatwioną. Inna opcja to przepisanie klasy UPS na inną platformę, np. Arduino.

    0
  • #7 06 Paź 2017 15:41
    pyton
    Poziom 21  

    Wspaniala wiadomosc... Jest tylko jeden problem moj UPS nie posiada mozliwosci komunikacji z PC... Z tad moje pytanie. Szperam za ta Klasa UPS i nie bardzo moge cokolwiek znalezc.. A chcialbym cos takiego dorobic do mojego UPS'a

    Rozwiazanie z przyciskiem jest bardzo latwe i pewnie z niego skorzystam w stacjonarce jednak w laptopie "stacjonarnym" na upartego tez, jednak zainteresowala mnie ta klasa UPS.

    0
  • #8 06 Paź 2017 21:28
    Marek_Skalski
    Moderator Projektowanie

    UPS jako urządzenie jest podklasą HID. W załączniku jest spakowany przykładowy projekt z MLA. Nie pamiętam co było zmieniane, ale program jest na tyle prosty, że na pewno każdy potrafi go dopasować. U mnie było skonfigurowane do pracy z dsPIC33EP512MU814.

    0
    Załączniki: