Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 19 maja 2025, o 22:51


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 7 mar 2012, o 21:38 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2011
    Posty: 87
    Pomógł: 0

    Witam posiadając takie dane ze strony

    Kod:
    #
    # this config file was automatically generated
    # using lirc-0.7.1pre2(any) on Sun Apr  9 14:51:46 2006
    #
    # contributed by Thomas Creutz
    #
    # brand:   Epson
    # model no. of remote control: 126644900 / ELPST12
    # devices being controlled by this remote: ??
    #

    begin remote

      name  Epson_ELPST12
      bits           16
      flags SPACE_ENC|CONST_LENGTH
      eps            30
      aeps          100

      header       9028  4409
      one           621  1626
      zero          621   494
      ptrail        621
      pre_data_bits   16
      pre_data       0xC1AA
      gap          107631
      toggle_bit      0


          begin codes
              POWER                    0x09F6
              INPUT-A-B                0xB946
              VIDEO                    0x39C6
              COLOR-MODE               0xF10E
              ASPECT                   0x51AE
              MEMORY                   0xD12E
              MENU                     0x59A6
              ESC                      0x21DE
              MUTE                     0xC936
              PAUSE                    0x49B6
              AUTO                     0x7986
              UP                       0x0DF2
              DOWN                     0x4DB2
              LEFT                     0xCD32
              RIGHT                    0x8D72
              SELECT                   0xA15E
          end codes

    end remote


    Czy jestem w stanie stworzyć uniwersalny pilot do projektora Epson, czy potrzebowałbym jeszcze jakąś specyfikację od producenta z poszczególnymi czasami (co prawda coś w tym stylu jest na samym początku danych).

    Druga opcja to wykorzystania programu do odczytu pilotów Pana Mirka, i wtedy zaimplementowanie danych do atmegi - tylko potrzebowanym org pilota.

    Chyba, że ktoś zna jakaś drogę na skróty schemat nadajnika IR (com), jakieś oprogramowanie uniwersalnego pilota na PC

    --- dobra doczytałem że na Com-ie będzie problem z 36kHz

    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2012, o 22:49 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2011
    Posty: 87
    Pomógł: 0

    W międzyczasie szukam szukam (żeby nie było ) ;)

    Pozwolę sobie po części odpowiedzieć na pytanie kopiując wypowiedź Pana Mirka z forum Elektrody.

    Myślę że się nie obrazi a tu się przyda dla potomnych.


    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    "na lircu w opisie pilota, którego będziesz posiadał Wink można zobaczyć":

    Kod:
     name  Minolta_RC3
      bits            8              -----> ilość bitów w kodzie klawisza
      flags SPACE_ENC        -----> standard kodowania
      eps            25            --->
      aeps          100           ---> współczynnik wypełnienia nośnej 25/100

      header       3872  1708
      one           527   436
      zero          527  1331
      ptrail        527
      pre_data_bits   24
      pre_data       0xD3AC7D
      gap          9052
      toggle_bit      0


          begin codes
              one_sec                  0x000000000000007F
              two_sec                  0x00000000000000FF
          end codes



    jak więc widać używane jest kodowanie typu SPACE Wink

    i teraz zaczynając od linijki

    header 3872 1708 - oznacza to, że na początku trzeba wyemitować header (nagłówek charakterystyczny dla danego pilota) w tym przypadku trzeba nadawać nośną powiedzmy 36KHz przez okres 3872us a następnie zrobić przerwę przez 1708us

    gdy już to wyemitujesz Wink to trza się zabrać za przesłanie kodów klawiszy pilota. Ale uwaga - widzisz tam powyżej coś takiego jak pre_data_bits 24 co oznacza, że bezpośrednio po headerze trzeba najpierw wyemitować przed kodem każdego klawisza stałą 24 bitową paczuszkę danych a dopiero po tym należy wyemitować 1-dno bajtowy kod klawisza. W twoim przypadku te 24 bity mają wartość: pre_data 0xD3AC7D natomiast kody klawiszy (wygląda na to że pilot ma 2 klawisze)

    Kod:
       begin codes
              one_sec                  0x000000000000007F
              two_sec                  0x00000000000000FF
          end codes


    pierwszy ma wartość 0x7F a drugi 0xFF

    Ok a teraz jak sobie poradzić z kodowaniem jednego bitu, otóż masz na to właśnie dokładny przepis. Trzeba tylko wiedzieć ile czasu zajmują dwa różne stany w trakcie emitowania jednego bitu. Jako, że jest to kodowanie typu SPACE to jak widać stan wysoki jest stały i wynosi zawsze w twoim przypadku 527us a zmienia się tylko czas stanu niskiego w zależności od bitu - czy JEDEN czy ZERO

    Kod:
      one           527   436
      zero          527  1331


    i tu znowu masz jak na dłoni podane. Jeśli masz zamiar wyemitować bit o wartości = JEDEN to musisz emitować nośną przez czas 527us i zrobić przerwę o czasie trwania 436us

    Jeśli chcesz wyemitować bit o wartości ZERO to emitujesz nośną znowu przez czas 527us ale przerwa po nim już będzie wynosić 1331us

    Teraz tylko poskładać to do kupy - czyli już chyba wiesz? skoro pre data bits = 24 to masz jakby 3 bajty - 0xD3 , 0xAC , 0x7D - więc już widzisz jakie bity po kolei musisz emitować prawda? gdy je nadasz po headerze to wtedy zabierzesz się za wysłanie bitów znajdujących się w bajtach kodów klawiszy

    i UWAGA - na końcu gdy wystąpi przerwa po ostatnim nadanym bicie - musisz jeszcze wyemitować krótki sygnał (tzn nośną o długości 527us)


    Kod:
    ptrail        527


    w twoim przypadku akurat ptrail = czasowi stanu wysokiego w każdym bicie.

    i to koniec - tak złożona ramka dotrze do aparatu i zrobi co trzeba Wink
    pozdrawiam

    Aha na początku wspomniałem , że nośną można do testów ustawić na 36kHz bo nie jest tu ona podana tylko jakie powinno być wypełnienie (a nośne też raczej nigdy nie bywają wyższe niż 45kHz, więc przedział do sprawdzenia jest niewielki). Wypełnieniem jednak nie trzeba sobie koniecznie głowy zawracać. Natomiast jeśli nie wiadomo jaka nośna a jest inna niż 36kHz to efekt może być tylko taki że zamiast zasięgu kilku-kilkunastu metrów będziesz miał nie więcej niż tych kilka metrów (co czasem i tak w zupełności wystarcza). Ale jest na to rada - ja też nie wiedziałem na jakiej nośnej nadaje Olympus więc dobierałem ją doświadczalnie - zwiększałem o 1kHz powyżej 36kHz i sprawdzałem maksymalny interesujący mnie zasięg. Okazało się, że przy 38kHz jest dla mnie on najbardziej zadowalający - choć nie ma tak naprawdę aż tak wielkich różnic Wink

    .. więc powodzenia - jak widzisz nie jest to takie trudne


    :):)



    Ostatnio edytowano 7 mar 2012, o 22:50 przez aothunterpl, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2012, o 22:49 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27401
    Lokalizacja: Szczecin
    Pomógł: 1043

    Już odpowiadam ;) .... tak na prawdę mając te dane nie potrzebujesz oryginalnego pilota o ile sprawdziłeś że to dane dla tego oryginalnego pilota ;)


    wszystko co ci potrzeba masz tutaj:

    Kod:
      header       9028  4409
      one           621  1626
      zero          621   494
      ptrail        621
      pre_data_bits   16
      pre_data       0xC1AA
      gap          107631
      toggle_bit      0


    no właśnie tylko jak to odczytać - teraz nie będę w stanie precyzyjnie tu wszystkiego wytłumaczyć bo zajęłoby to za dużo kartek na forum ;) .... ale spokojnie w drugiej części książki właśnie się tym w szczegółach i na przykładach konkretnych zajmuję....

    teraz tylko skrót:

    jest to kodowanie typu SPACE

    1. trzeba wygenerować HEADER w postaci: NOŚNA-9029us i BRAK NOŚNEJ-4409us
    2. trzeba generować bity wg przepisu:

    a.) bit o wartości 1 to: NOŚNA-621us oraz BRAK NOŚNEJ-1626us
    b.) bit o wartości 0 to: NOŚNA-621us oraz BRAK NOŚNEJ-494us

    i z tych bitów musisz sobie wygenerować kody klawiszy podane tam niżej ;) ale musisz pamiętać że na końcu ramki MUSISZ dać jeszcze sygnał PTRAIL czyli NOŚNA-621us

    oraz że odstęp pomiędzy ramkami musi wynosić koniecznie czas określony jako GAP-107631us

    ale co ważne, każda ramka tzn wartość klawisza poprzedzona jest PRE_DATA_BITS w ilości 16 bitów o stałej wartości i to jest wmiksowane w te wartości HEX klawiszy na dole

    wiem wiem - to może wyglądać na zagmatwany opis - ale uwierz mi - żeby to dobrze wyjaśnić musiałbym jeszcze sporo tu popisać i tylko dla ciebie - a tak? W książce będzie dużo , będzie z przykładami praktycznymi, ale także z kodami na DVD które działają ;) ... więc skorzysta więcej osób - OK

    bo przecież jeszcze trzeba to jakoś zaimplementować w programie i masz rację że można rozwinąć te funkcje do RC5 z książki a nawet trzeba że tak powiem ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2012, o 22:54 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2011
    Posty: 87
    Pomógł: 0

    O prawie jednocześnie dopisaliśmy ;]

    Prawdę mówiąc to był przykładowy kod do pilotów Epsona.

    Mam jeszcze taki typowo pod projektory z strony LIRC-a


    #
    # this config file was automatically generated
    # using lirc-0.8.2-CVS(default) on Sun Jul 8 19:51:46 2007
    #
    # contributed by Andrew Moore visual.effects.artist|gmail.com
    #
    # brand:Epson
    # model no. of remote control:12807990
    # devices being controlled by this remote:Epson 820 Projector


    # This remote config will work with remotes for the Epson Powerlite
    # Projectors, or EMP- Projectors. ((THIS WILL WORK MOST MODREN EPSON
    # PROJECTOR REMOTES!!!))


    Kod:
    begin remote

      name  Epson_12807990
      bits           32
      flags SPACE_ENC|CONST_LENGTH
      eps            30
      aeps          100

      header       9022  4454
      one           593  1654
      zero          593   516
      ptrail        594
      gap          107808
      toggle_bit_mask 0x0

          begin codes
              pageup                   0xC1AA619E
              pagedown                 0xC1AAE11E
              zoom+                    0xC1AA11EE
              zoom-                    0xC1AA916E
              up                       0xC1AA0DF2
              down                     0xC1AA4DB2
              left                     0xC1AACD32
              right                    0xC1AA8D72
              power                    0xC1AA09F6
              enter                    0xC1AAA15E
              esc                      0xC1AA21DE
              1                        0xC1AAE916
              2                        0xC1AA6996
              3                        0xC1AA51AE
              4                        0xC1AA29D6
              5                        0xC1AAA956
              6                        0xC1AAF10E
              7                        0xC1AAD926
              8                        0xC1AAC936
              9                        0xC1AA49B6
              0                        0xC1AA7986
              search                   0xC1AA31CE
              vol-                     0xC1AA9966
              vol+                     0xC1AA19E6
              ?                        0xC1AAF906
              menu                     0xC1AA59A6
          end codes

    end remote



    A co do mojego pilota z tego co znalazłem:

    model: 6004931

    POWERLITE51C


    Ale konkretnie do niego jeszcze nic ciekawego nie znalazłem chyba, że możesz mi polecić jakąś ciekawą stronę z bazą pilotów (wyłączając LIRC i nasza polską e-mak)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2012, o 23:47 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27401
    Lokalizacja: Szczecin
    Pomógł: 1043

    Nie znam lepszej bazy niż lirc.org ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO