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

Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni.

error105 13 Sty 2019 16:43 3981 15
  • Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni.

    Witam,
    długo się zbierałem ale myślę że projekt jest już na tyle dobrze działający by zaprezentować go tutaj.

    Co jest projektem ?
    Sterowanie dowolnym urządzeniem posiadającym odbiornik IRDa (innymi słowy, sterowany Irdą :) ) poprzez nasz telefon komórkowy.

    Po co ?
    Mam w domu sporą liczbę pilotów, do tego do Denona nie mam żadnego (pożyczyłem by odczytać kody), i wygodne jest sterowanie wszystkim jednym urządzeniem.

    Co potrzebujemy ?
    1. Telefon z zainstalowanym Blynk'iem
    a) Konto na serwerze Blynk - darmowe
    b) Własny server VPS z serwerem Blynk
    2. ESP8266 (ja mam Wemos LOLIN)
    3. Diody IR 3mm 940nm 8mW
    4. Rezystor do diody 300 Ohm
    5. Opcjonalnie drukarka 3D by wykonać małą obudowę na czujniki i ESP
    6. Jeśli nie znamy kodów do naszego sprzętu, musimy zaopatrzyć się też w odbiornik podczerwieni np TSOP i za pomocą ESP odczytamy kody.

    Budowa.

    Co tu dużo pisać, programujemy ESP wsadem który mamy w załączniku poprzez Arduino IDE (bibliotekę dodaję żeby nie zginęła), lutujemy diody i rezystory do wyjść które zadamy w programie, podajemy swoje dane do logowania w Blynku oraz WiFi, ustawiamy sobie w aplikacji na telefonie konkretne guziki i tyle :)

    Program.
    Krótki opis programu, coby każdy dał radę sam :)
    By odczytać kody, podłączamy naszą diodę odbiorczą do ESP, i wypalamy program ze szkicu: IRrecvDumpV2
    Potem strzelamy sobie w odbiornik pilotem i w Monitorze Portu Szeregowego widzimy ładnie jaki jest nasz kod pilota, w jakim standardzie, podmieniamy moje dane, na nasze i tyle.

    W programie mamy dwie główne pętle:
    Code:
    void IR_SAMSUNG(){

    Code:
    void IR_DENON(){

    Z racji że używam dwóch odbiorników na razie, możemy dodać dowolną ich ilość, wystarczy utworzyć kolejną pętlę void IR_XXX , w steupie dodać naszą kolejną diodę
    Code:
    IRsend XXX_IR(pin);
    i tyle.

    Sam program jest w switch, nie wiem czy dobrze, nie mniej działa.
    Code:
    switch (IR_SAM) {
    
       
      case 1:
        SAMSUNG_IR.sendNEC(0x2FD48B7, 32, 1); // Power ON
        delay(40);
        break;

      case 2:
        SAMSUNG_IR.sendNEC(0x2FDA25D, 32, 1); // Guide
        delay(40);
        break;

      case 3:
        SAMSUNG_IR.sendNEC(0x2FDC23D, 32, 1); // Exit
        delay(40);
        break;

    Czyli w zależności od tego jaka liczba w zmiennej IR_SAM się pojawi, taki kod zostanie wysłany. Numery ustawiamy w aplikacji Blynka.
    Sama formułka:
    Code:
    SAMSUNG_IR.sendNEC(0x2FDC23D, 32, 1);

    Na początku określa którą diodą wysyłamy kod, sendNEC określa protokół (pokaże nam go IRrcdump), i nawias: kod pilota, liczba bitów, liczba powtórzeń (powtórzenia są ważne na pewno w denonie i musi ich być 3).

    Aplikacja:
    Jak już mniej więcej łapiesz o co chodzi, pora skonfigurować Blynka w telefonie.
    Po pobraniu, logujemy się (albo rejestrujemy) i tworzymy nowy projekt (dostaniemy jego ID które wklepujemy w ArduinoIDE).
    Teraz klikamy + i dodajemy jaki chcemy guzik.
    Po dodaniu klikamy w guzik i zmieniamy OUTPUT na Virtual V0,1,2 itp zależy jak w ESP mamy ustawione, u mnie 0 i 1.
    zmieniamy zmienną 1 na taką która odpowiada guzikowi w swichu, mode PUSH i tyle.

    Program:
    Kod: c
    Zaloguj się, aby zobaczyć kod



    Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni. Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni.
    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    error105
    Poziom 12  
    Offline 
    error105 napisał 210 postów o ocenie 75, pomógł 1 razy. Mieszka w mieście Warszawa. Jest z nami od 2017 roku.
  • Asaj - Inteligentny DomAsaj - Inteligentny Dom
  • #2
    pier
    Poziom 23  
    Bardzo przydatne szczególnie jak nie mamy oryginalnego pilota do naszego sprzętu.
    Nie bardzo tylko rozumiem po co Używasz dwóch diodek nadawczych?

    Ostatnio używałem tego sketch-a IRrecvDumpV2 aby dodać sterowanie mojego wzmacniacza za pomocą jakiegoś pilota od głośnika Logitech. Działa idealnie.
  • #3
    japko1024
    Poziom 18  
    Tylko po co do tego serwer, w dodatku znajdujący się poza domem i należący do kogoś innego? Można by zrobić to samo za pomocą WiFi Direct, ewentualnie za pośrednictwem routera, albo po prostu przez Bluetooth. Używanie zewnętrznego serwera niepotrzebnie wydłuża transmisję danych, jest bardziej podatne na awarie lub zamierzone wyłączenie usługi (serwera, operatora Internetu, a jak ktoś nie ma w domu WiFi, to nawet dwóch).
  • #4
    error105
    Poziom 12  
    pier napisał:
    Nie bardzo tylko rozumiem po co Używasz dwóch diodek nadawczych?

    Sprzęty są oddalone, a ja mocuje je na wzór kramera wprost na odbiorniku, więc dlatego dałem dwie. Fakt można było dać jedną bez problemu, albo z jednego wyjścia dwoma na raz sterować, ale może ktoś będzie chciał użyć dwóch i więcej to już ma gotowca :)

    japko1024 napisał:
    Tylko po co do tego serwer, w dodatku znajdujący się poza domem i należący do kogoś innego? Można by zrobić to samo za pomocą WiFi Direct, ewentualnie za pośrednictwem routera, albo po prostu przez Bluetooth.

    Dałem opis dla każdego, tak by każdy mógł skopiować.
    Po co zewnętrzny serwer ? Mieszkam na wsi, mam co najwyżej LTE, i steruje zdalnie całym domem - jakbyś doczytał pilot jest tylko jednym z wielu automatów - powiedz mi jakim cudem miałbym połączyć się z serwerem który stał by u mnie w domu ?
    Mój sprzęt nie obsługuje WiFi direct, ba nie ma nawet karty sieciowej - jakieś jeszcze sugestie ? Zmiana sprzętu tylko po to by zrobić to prościej ?

    A tak, kupiłem VPSa za 12zł na rok, i on załatwia mi wszystko, i należy do mnie. Opóźnienia ? Noooooo masakra - klikam guzik i po 20ms mam reakcję na sprzęcie. Może gdybym grał takim pilotem by to jakoś wpłynęło na decyzję, ale tak to co za różnica ?
    Bluetooth - owszem fajny, zasięg 10m na otwartej przestrzeni.
    U siebie mam zadane masę dodatkowych opcji, typu odpalanie muzyki jako budzik, i po wykryciu zamknięcia drzwi wejściowych sprzęt sam się wyłącza.
  • Asaj - Inteligentny DomAsaj - Inteligentny Dom
  • #5
    Bojleros
    Poziom 16  
    Witam,

    Czym Kolega zrzucał "kody" z pilota Denona ? Możliwe że będe chciał robić podobne zagranie ale żeby sterować klimą LG.
  • #6
    acctr
    Poziom 15  
    error105 napisał:
    Co potrzebujemy ?
    1. Telefon z zainstalowanym Blynk'iem
    a) Konto na serwerze Blynk - darmowe
    b) Własny server VPS z serwerem Blynk
    2. ESP8266 (ja mam Wemos LOLIN)
    3. Diody IR 3mm 940nm 8mW
    4. Rezystor do diody 300 Ohm
    5. Opcjonalnie drukarka 3D by wykonać małą obudowę na czujniki i ESP
    6. Jeśli nie znamy kodów do naszego sprzętu, musimy zaopatrzyć się też w diodę odbiorczą i za pomocą ESP odczytamy kody.

    Serio? tyle potrzebujemy do wysłania ramki IR? To brzmi jak żart albo propozycja na konkurs "jak zamrugać diodką okrążając Ziemię 100x" :D
    Abstrahując jednak od części "software'owej" mam pytania o część fizyczną. Z tego co widać na zdjęciach nadajnik przykleiłeś "termoglutem" do panelu Denona. Dlaczego wybrałeś takie rozwiązanie? Nie wystarczyło umieścić obudowy gdzieś w dyskretnym miejscu, ze światłem diody skierowanym na sprzęt audio?
    Ta biała druciarnia i termoglut sprawia wrażenie prowizorki.
  • #7
    pier
    Poziom 23  
    Jeszcze dwa małe szczegóły.
    Nie ma tu żadnego sterowania po IrDa. IrDa to standard transmisji danych w podczerwieni a tu są tylko proste kody.
    Drugi to
    Cytat:
    By odczytać kody, podłączamy naszą diodę odbiorczą do ESP

    Dioda raczej nie wystarczy raczej na pewno będzie potrzebny odbiornik podczerwieni np TSOP....
  • #8
    error105
    Poziom 12  
    Bojleros napisał:
    Czym Kolega zrzucał "kody" z pilota Denona ? Możliwe że będe chciał robić podobne zagranie ale żeby sterować klimą LG.

    Doczytaj do końca, jest załączona cała biblioteka IRrec i jest tam program do odczytywania kodów :)

    acctr napisał:
    Serio? tyle potrzebujemy do wysłania ramki IR? To brzmi jak żart albo propozycja na konkurs "jak zamrugać diodką okrążając Ziemię 100x"

    Tutaj też nie doczytałeś do końca, jest to jeden z elementów całego domu, i tak po prostu było mi łatwiej podłączyć :) nic nie stoi na przeszkodzie by zamiast ESP wsadzić Attiny z modułem Bluetooth i diodą, i zrobić to prościej.

    acctr napisał:
    Z tego co widać na zdjęciach nadajnik przykleiłeś "termoglutem" do panelu Denona. Dlaczego wybrałeś takie rozwiązanie? Nie wystarczyło umieścić obudowy gdzieś w dyskretnym miejscu, ze światłem diody skierowanym na sprzęt audio?

    Głownie z tego powodu że za jakieś pół roku zaczynam remont całego domu i wtedy druciarnia z kablami białymi zniknie a sama dioda wyląduje w TV - co do gluta, zdjęcia przed obcięciem nadmiaru - dodałem już po ucięciu i wyglada znacznie lepiej mam nadzieję :) Co do naklejenia na obudowie, jest pewna droga firma która stosuje takie rozwiazania i ja rozwiazałem to tak samo.

    acctr napisał:
    Nie wystarczyło umieścić obudowy gdzieś w dyskretnym miejscu, ze światłem diody skierowanym na sprzęt audio?

    Pokój w którym jest TV aktualnie nie ma takiego miejsca, albo tutaj albo na ścianie po drugiej stronie pokoju - wybór oczywisty :)

    pier napisał:
    Nie ma tu żadnego sterowania po IrDa. IrDa to standard transmisji danych w podczerwieni a tu są tylko proste kody.

    Niech będzie, sterowanie sprzętem RTV poprzez wysyłanie prostych kodów - hmmm nie jest to czasem to samo ?

    pier napisał:
    Dioda raczej nie wystarczy raczej na pewno będzie potrzebny odbiornik podczerwieni np TSOP....

    Racja ! Już zmieniam w opisie - trochę nie przemyślałem nazwy :)
    Sterowanie telefonem dowolnym sprzętem za pomocą podczerwieni.

    Dodano po 23 [minuty]:

    Dodałem też obudowy do druku 3D pod ESP8266 Wemos Lolin, wersja z, i bez, DHT11 (niska i wysoka).
  • #9
    piotr_go
    Konstruktor DIY elektronika
    error105 napisał:
    Niech będzie, sterowanie sprzętem RTV poprzez wysyłanie prostych kodów - hmmm nie jest to czasem to samo ?

    Nie. IrDA
    Popraw temat.
  • #11
    Euzebiusz23091998
    Poziom 15  
    Zdradzisz kolego gdzie masz założonego tak taniego VPS-a?

    Sam chciałem zacząć korzystać z blynk-a, myślałem o postawieniu małego serwera na raspberry, ale brak u mnie zewnętrznego IP skutecznie mnie od tego odpędza.
  • #15
    katakrowa
    Poziom 20  
    error105 napisał:
    A przeczytałeś chociaż po części opis ? Wydaje mi się że nie, więc nie wiesz po co VPNy, VPSy ani że nie jest to tylko by wyciszyć wzmacniacz

    Z grzeczności i szacunku dla autorów nidy nie odpisuję w tematach, w których nie czytałem w całości przynajmniej tytułowego posta..
    Szanuję Kolegę za włożoną w projekt pracę i bardzo chwali się, to że podzieliłeś się projektem na forum.
    Niestety mnie ten projekt zupełnie się nie podoba i uważam go za zdecydowany przerost formy nad treścią ( to jest moje zdanie ).Uniwersalne programowalne piloty można kupić za nieduże pieniądze a sterowanie spoza domu do dla mnie żaden argument. Być może inni uważają inaczej i skorzystają z Twojego rozwiązana. Zauważ, że w temacie piszesz TYLKO o sterowaniu Denonem.
    Z drugiej strony jeśli nie chcesz czytać krytycznych opinii na temat swojego projektu to nie wystawiaj go publicznie lub wystawiaj na facebook bo tam można tylko "lubię to" klikać "nie lubię" już nie można.
  • #16
    error105
    Poziom 12  
    katakrowa napisał:
    Uniwersalne programowalne piloty można kupić za nieduże pieniądze a sterowanie spoza domu do dla mnie żaden argument.

    Najtańsze są po 18:99 w Leroyu, mój to koszt: 8zł ESP, 1,5zł Diody i rezystor, ładowarkę miałem, obudowa 4zł. Koszt bez serwera wychodzi identyczny w zasadzie, a pilot uniwersalny to dalej tylko pilot który nic więcej nie robi - więc jednak jego cena jest nie adekwatna do możliwości - sterowanie z poza domu to tylko bonus - stosując Bluetootha mamy sterowanie lokalne :)

    katakrowa napisał:
    Zauważ, że w temacie piszesz TYLKO o sterowaniu Denonem.

    Zgadzam się, nie mniej u mnie steruje on Denonem z TV i odtwarzaczem MP3, spięte to jest z całym domem i mam poustawiane to na tyle fajnie (dla mnie) że rano włącza się wieża i budzi mnie przyjemną muzyką z MP3 i do czasu wyjścia sobie gra, gdy wykryje że zamykam drzwi wejściowe albo uzbrajam alarm to sam się wyłączy i właczy jak wrócę (o ile nie wyłaczę tego). Jak widzisz, pilot uniwersalny tego nie zrobi już raczej. A tak każdy ma już jeden moduł z "inteligentnego" domu (nie znoszę tego określenia bo to żadna inteligencja a parę skryptów automatyzujących :)

    katakrowa napisał:
    Z drugiej strony jeśli nie chcesz czytać krytycznych opinii na temat swojego projektu to nie wystawiaj go publicznie lub wystawiaj na facebook bo tam można tylko "lubię to" klikać "nie lubię" już nie można.

    Od krytyki nikt nigdy nie umarł wiec przyjmuję ją i w pełni się z Tobą zgadzam, gdy ktoś tylko chce sterować swoim RTV, VPNy, VPSy, dostępy zdalne to przerost formy nad treścią - zmienia się to jednak gdy połączymy mój klocek z resztą klocków.