Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Fibaro Fibaro
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zdalna kontrola komputera przez ESP8266

kmmepl 16 Mar 2016 23:19 10377 22
  • Zdalna kontrola komputera przez ESP8266
    Czy kiedykolwiek przydarzyła Ci się potrzeba uruchomienia swojego komputera będąc poza domem? Czy zdarzyło Ci się tracić czas na siedzeniu przed komputerem, czekając na zakończenie długich kopiowań plików? Jeśli tak, to czytaj dalej...

    W tym projekcie zostanie pokazane w jaki sposób można sterować swoim komputerem z każdego miejsca na świecie. Uruchomienie komputera będzie zrealizowane na tanim i znanym module wifi - ESP8266, oraz na darmowej aplikacji Blynk. Kontrola komputera po jego włączeniu wykonana zostanie za pomocą aplikacji TeamViewer.



    Potrzebne elementy i oprogramowanie

    Elementy:

    • ESP8266
    • Transoptor (tutaj użyto: Sharp PC817)
    • Rezystor 200 ohm
    • Przewody
    • Pudełko

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    Programy:

    • Blynk (na telefon)
    • Arduino IDE (na komputer)
    • TeamViewer (na komputer i telefon)

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266






    Software

    Teamviewer

    Teamviewer jest to oprogramowanie służące do zdalnej kontroli nad komputerem. W celu uruchomienia tego programu pobieramy go z tego linku. Następnie musimy stworzyć konto i dodać swój komputer do listy. Ustawianie programu jest proste i szybkie, a po jego skończeniu otrzymujemy pełną kontrole nad pctem.

    Zdalna kontrola komputera przez ESP8266


    Blynk

    Aplikacja Blynk jest potrzebna do wysłania sygnału z telefonu do ESP8266, który uruchomi komputer. Ściągamy ją z tego linku. Po zainstalowaniu apki tworzymy nowy projekt i dodajemy przycisk (button) do pinu 4 (jeśli taki został użyty).

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    Arduino

    Oprogramowanie Arduino IDE jest wymagane w celu zaprogramowania ESP8266. Jest ono dostępne pod tym linkiem.

    Zdalna kontrola komputera przez ESP8266


    Programowanie ESP8266



    W celu wgrania programu włączającego zdalnie komputer:

    1. Pobieramy Arduino IDE, a następnie ściągamy bibliotekę wspierającą program Blynk. Biblioteka jest dostępna na githubie, do którego link znajduje się tutaj.

    Zdalna kontrola komputera przez ESP8266


    2. Dodajemy bibliotekę do folderu, w którym znajdują się wszystkie biblioteki z Arduino. Jeśli dodamy ją prawidłowo, w programie Arduino IDE pojawią się nowe pozycje na liście gotowych bibliotek, z których wybieramy pozycję: ESP8266_Standalone.

    Zdalna kontrola komputera przez ESP8266


    3. Zmieniamy w wybranym programie zmienną o nazwie "auth", odpowiadającą za hasło uzyskane z aplikacji Blynk oraz wpisujemy nazwę sieci WiFi i hasło w miejscach "ssid" i "pass".

    Zdalna kontrola komputera przez ESP8266


    4. Sprawiamy, by płytka ESP8266 była widoczna w programie Arduino, gdyż nie jest w nim zapisana domyślnie. W tym celu udajemy się do: Plik -> Preferencje, następnie w polu "Dodatkowe adresy URL do menadżera płytek" wklejamy poniższy link.
    Code:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json


    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    5. Udajemy się do menadżera płytek, znajdującego się w: Narzędzia -> Płyta -> Menadżer płytek. Następnie wprowadzamy "esp" w wyszukiwarce i instalujemy odpowiednią paczkę.

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    6. Wybieramy moduł bezprzewodowy o nazwie NodeMCU z listy dostępnych platform, potem zaznaczamy odpowiedni port COM i na końcu wgrywamy program.

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266



    Hardware

    Przewody:
    Wszystkie fizyczne połączenia wykonujemy w sposób widoczny na schemacie podanym poniżej.

    Zdalna kontrola komputera przez ESP8266

    Zasilanie
    W celu zaopatrzenia konstrukcji w prąd, autor założył gniazdo USB z tyłu swojego komputera. Do niego energia jest dostarczana za pomocą zwykłej ładowarki do telefonu.

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    Łączenie elementów:

    Składanie całej konstrukcji jest dość łatwą czynnością. Najpierw odłączamy przewody idące do przycisku włączającego komputer i łączymy je z przewodami wychodzącymi z ESP8266. Połączone kable ponownie mocujemy do przycisku włączającego komputer. Dzięki temu będziemy mogli włączać komputer zarówno za pomocą Wi-Fi, jak i fizycznego przycisku.

    Uwaga:
    Należy pamiętać, że prąd w transoptorze może płynąć tylko w jedną stronę, więc w przypadku nie działania urządzenia, musimy upewnić się, czy dokonaliśmy poprawnych połączeń (w przypadku błędnego połączenia sprzęt nie zostanie uszkodzony).

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266


    Źródło: http://www.instructables.com/id/Phone-Controlled-Computer-Starter/?ALLSTEPS


    Fajne!
  • Fibaro
  • #2 17 Mar 2016 01:48
    coal_chember
    VIP Zasłużony dla elektroda

    Moje pytanie a czy nie lepiej podłączyć jakąś starą nokie lub inny telefon komórkowy, wsadzić kartę sim ustawić tylko jeden numer na który będzie reagować i pod wibrację lub głośnik z dzwonkiem(nie wiem jaki tam prąd płynie) wpiąć triak/przekaźnik i puszczając strzałkę, możemy uruchomić sprzęt, a np pod linie 5v/12v w komputerze podpiąć też coś na ten styl z tym że podlutowane do przycisku rozłączania/odrzucania połączenia, komputer się uruchamia rozłącza nasze połączenie lub odbiera to nawet bios byśmy usłyszeli i mieli pewność włączenia sprzętu, oczywiście musi to działać tylko przez chwilę co by np. telefonu nie wyłączyło.

    Dlaczego taka propozycja(może i nawet droższa), a no ze względu na to że jak by nie patrzeć unikamy dodatkowych portów otwartych w naszej sieci. Chociaż nie znam szczegółów komunikacji owego programu z modułem, jednak sądzę że nie jest ona zbyt skomplikowana.

    Taką luźną propozycja daję.

    Jednak żadna z propozycji nie wpisze hasła do true crypta podczas uruchamiania.

  • #3 17 Mar 2016 05:43
    tos18
    Poziom 35  

    Szkoda że autor nie wiedział co to WoL (Wake on Lan)

  • #5 17 Mar 2016 09:50
    KolegaZ
    Poziom 11  

    Cytat:
    Szkoda że autor nie wiedział co to WoL (Wake on Lan)


    Czemu tak uważasz, WoL nie jest rozwiązaniem pewnym w przypadku domowego komputera. Zwróć uwagę, że poprzez WoL nie wyłączysz komputera, a zmieniając trochę kod na arduino możesz wykonać nawet twarde wyłączenie, gdy komputer się zawiesi.

    Sam nierzadko miałem problemy po zaniku zasilania, wtedy router wstaje ale komputer nie podtrzymuje zasilania, jedynie ustawienie w BIOS sposobu inicjalizacji po zaniku zasilania pozwala na podtrzymanie linku, a co za tym idzie funkcjonalności WoL.

    Projekt, gadżet ciekawy jak dla mnie. Ale trzeba go sobie zmienić pod swoje oczekiwania.

  • #6 17 Mar 2016 14:48
    razorxx100
    Poziom 10  

    coal_chember napisał:
    Moje pytanie a czy nie lepiej podłączyć jakąś starą nokie lub inny telefon komórkowy, wsadzić karte sim ustawić tylko jeden numer na który będzie reagować i pod wibrację lub głośnik z dzwonkiem(nie wiem jaki tam prąd płynie) wpiąć triak/przekaźnik i puszczając strzałkę, możemy uruchomić sprzęt, a np pod linie 5v/12v w komputerze podpiąc też coś na ten styl z tym że podlutowane do przycisku rozłączania/odrzucania połączenia, komputer się uruchamia rozłącza nasze połączenie lub odbiera to nawet bios byśmy usłyszeli i mieli pewność włączenia sprzętu, oczywiście musi to działać tylko przez chwilę co by np. telefonu nie wyłączyło.

    Dlaczego taka propozycja(może i nawet drosza), a no ze względu na to że jak by nie patrzeć unikamy dodatkowych portów otwartych w naszej sieci. Chociaż nie znam szczegółów komunikacji owego programu z modułem, jednak sądze że nie jest ona zbyt skomplikowana.

    Taką luźną propozycja daję.

    Jednak żadna z propozycji nie wpisze hasła do true crypta podczas uruchamiania.

    Tutaj raczej porty nie maja nic wspolnego. Najprawdopodobniej dziala to tak ze to u nich na serwerze wszystko jest robione, ale biblioteki jeszcze nie przegladalem wiec w 100% pewny nie jestem. Przynajmniej ja bym to zrobil w ten sposob.

  • #7 17 Mar 2016 21:11
    tos18
    Poziom 35  

    KolegaZ napisał:

    Cytat:
    Szkoda że autor nie wiedział co to WoL (Wake on Lan)


    Czemu tak uważasz, WoL nie jest rozwiązaniem pewnym w przypadku domowego komputera. Zwróć uwagę, że poprzez WoL nie wyłączysz komputera, a zmieniając trochę kod na arduino możesz wykonać nawet twarde wyłączenie, gdy komputer się zawiesi.


    W sumie racja. Choć z drugiej strony jeśli komputer się wiesza to może wypadało by usunąć przyczynę wieszania - zwłaszcza jeśli planujemy pracę zdalną.

  • #8 17 Mar 2016 22:21
    Marcin15357
    Poziom 9  

    tos18 napisał:
    Szkoda że autor nie wiedział co to WoL (Wake on Lan)


    A czy ta funkcja działa również na karcie wifi na usb? Wiele osób w ten sposób łączy się z internetem.

  • Fibaro
  • #9 17 Mar 2016 23:02
    tos18
    Poziom 35  

    Istnieje coś takiego jak WoWLAN ale nie testowałem. Wiem że karta musi być podłączona do portu USB zasilanego z 5V_SB a nie wszystkie płyty główne mają taką opcję.

  • #10 18 Mar 2016 15:17
    e2e4
    Poziom 18  

    Wake on Lan działa tylko po drucie i to pod warunkiem prawidłowej konfiguracji karty sieciowej.
    A jeśli karta sieciowa nie jest zintegrowana z płytą główną to najczęściej wymagane
    jest dodatkowe połączenie, kabelek, pomiędzy kartą sieciowa a płytą główną.

    WoL doskonale działa wewnątrz sieci lokalnej, wyłączenie, typowy restart systemu
    nie stanowią problemu.
    Gorzej jeśli eksperymentujesz na systemie, lub jest on niestabilny i potrafi
    się zawiesić, wyrzucić BSod ... Wtedy faktycznie, zdalny twardy reset to jest coś.
    ( inaczej trzeba wstać, podejść do zawieszonej maszyny .... )

    Ale jak bardzo zdalne jest urządzenie prezentowane w wątku?
    Czy mi się wydaje, że nie wychodzi poza własną sieć lokalną?
    Dobrze mi się wydaje?
    Jeśli tak to WoL i aplikacja typu TeamViewer, uważam, rozwiążą znakomitą większość problemów.
    Testowałem to ostatnio.
    Problem pojawia się kiedy zdalna maszyna jest 40 km dalej,
    a oba komputery są podłączone do sieci przez modemy ADSL i router.
    Wtedy wstać nie wystarczy ...

    ps. Szukam rozwiązania, najlepiej softwarowego dla rozwiązania
    problemu wzajemnego zdalnego uruchamiania i pracy komputerów
    podłączonych do sieci via ADSL i router.
    Czy ktoś może wskazać jakiś konkretny poradnik?
    Wszystkie jakie znalazłem jakieś mało konkretne są, lub dotyczą tylko LAN.

    Dziękuję,
    natenczas, e2e4.

  • #11 18 Mar 2016 19:36
    tos18
    Poziom 35  

    Do pracy między sieciami teamviewer nadaje się bardzo dobrze.
    Co do włączania na odległość - niektóre routery potrafią wysłać magic packet. Czasem rozwiązaniem jest instalacja na routerze alternatywnego oprogramowania (open wrt, tomato).
    Aktualny zewnętrzny adres IP twojego urządzenia zdalnego uzyskasz dzięki usługom typu dyndns , noip.

  • #12 18 Mar 2016 21:51
    szymon122
    Poziom 37  

    Uwierzcie, że taki układ jest dużo bardziej niezawodny, wiele razy próbowałem skonfigurować WoL ale nigdy to nie działało tak jak powinno, albo komputer się nie wybudzał albo magic pakiety generowały się same (nie pytajcie jak bo sam jestem ciekaw, komputer potrafił sam się włączyć tak sam od siebie).

    oskar777 napisał:
    Mi projekt podoba się ale bardziej ze względu na ładny opis uruchomienia ESP pod Arduino, Blynk też może się przydać do innych zastosowań.


    Jestem identycznego zdania, czekam aż dojdą trzy sztuki i zaczyna się zabawa :D

  • Fibaro
  • #13 19 Mar 2016 17:25
    tomassek
    Poziom 15  

    "W tym projekcie zostanie pokazane w jaki sposób można sterować swoim komputerem z każdego miejsca na świecie"

    Czegoś w tym artykule zabrakło - jak tym ustrojstwem mam włączyć komputer z dowolnego miejsca na świecie? Rozumiem, że jak jestem w zasięgu wifi z tym ustrojstwem to ta apka i płytka działają, uruchomią mi komputer i dalej teamviewer. Ale jak zrobić on/off na tej płytce spoza wifi?

  • #14 19 Mar 2016 18:29
    piotrek2914
    Poziom 16  

    tomassek napisał:
    Ale jak zrobić on/off na tej płytce spoza wifi?
    Gdzie byś nie był to dane przerzucane są i tak przez serwery projektu BLYNK. A przynajmniej ja tak to zrozumiałem.

    Dodano po 2 [minuty]:

    kmmepl napisał:
    Zmieniamy w wybranym programie zmienną o nazwie "auth", odpowiadającą za hasło uzyskane z aplikacji Blynk oraz wpisujemy nazwę sieci WiFi i hasło w miejscach "ssid" i "pass".

  • #15 19 Mar 2016 19:06
    szymon122
    Poziom 37  

    ESP8266 łączy się z lokalnym routerem wifi (o ile moduł działa w trybie client), na routerze odblokowujemy porty przez które będziemy się łączyć z ESP, ustawiamy te porty jako zewnętrzne, przekierowujemy je na adres IP modułu ESP, jeśli mamy stałe IP to możemy z zewnątrz połączyć się z modułem i uruchomić komputer z drugiego końca świata, jeśli mamy zmienne ip to potrzebujemy DDNS (no-ip itp) którego serwer uruchamiamy na routerze.

  • #16 19 Mar 2016 22:04
    Frog_Qmak
    Poziom 25  

    W sumie to nie wiem, czy potrzebne jest ddns, u mnie ruszyło od razu bez żadnej konfiguracji, a mam neostradę

  • #17 19 Mar 2016 22:33
    szymon122
    Poziom 37  

    Do pierwszego restartu routera/zmiany adresu ip ;)
    Jednak ddns to pewność, że znajdziemy swoje urządzenie w internecie pod stałym adresem.

  • #18 20 Mar 2016 12:19
    Heinzek
    Specjalista Sieci, Internet

    Blynk działa tak samo jak TeamViewer, czyli klient ( esp i później komputer) łączy się z serwerem i jemu podaje swój IP.
    Użytkownik smartfona łączy się z serwerem blynk i ten serwer wysyła sygnał do esp. Dokładnie tak samo działa teamviewer.
    Nie trzeba przekierować portów, mieć zewnętrzne IP czy nawet komputer podłączony kablem LAN do routera.

    Wyłączyć komputer można też przez TeamViewer lub przez Blynk.

  • #20 21 Mar 2016 14:16
    razorxx100
    Poziom 10  

    dktr napisał:
    Ale zasilanie tego to już porażka, w komputerze jest przecież 5V st-by.

    To jaki problem dodac stabilizator/przetwornice?

  • #23 12 Cze 2016 14:21
    Hetii
    Poziom 14  

    Ja jakiś czas temu wykonałem podobne ustrojstwo:

    Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266 Zdalna kontrola komputera przez ESP8266

    Zasilanie z portu USB host-a (wymaga ustawienia w biosie, aby podawał napięcie na nie podczas wyłączenia).

    Możliwości:
    - włączenie/wyłączenie
    - reset
    - power cycle
    - przekierowanie konsoli tty na port rs232 (np w linuxie), przydatne gdy system wisi np przy sprawdzaniu systemu plików.
    - pomiar temperatury z dowolnej ilości czujników za pomocą ds18b20
    (chwilowo brak obsługi w kodzie - brak realnej potrzeby)
    - sterowanie oraz dostęp do konsoli poprzez telnet

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo