Skocz do zawartości

Tablica liderów


Popularna zawartość

Pokazuje zawartość z najwyższą reputacją 06.09.2019 we wszystkich miejscach

  1. 3 punkty
    Projekt ten powstał, aby rozwiązać problem dotyczący braku możliwości oglądania kanałów TV z serwisu Ipla na telewizorze. Głównym celem tego projektu było stworzenie urządzenia wraz z interfejsem, który po podłączeniu do TV pozwoli na szybkie i wygodne oglądanie kanałów TV z serwisu Ipla. W skład urządzenia wchodzi mini komputer Zotac ZBOX B1324 oraz zestaw uruchomieniowy Atnel ATB 1.05a, natomiast oprogramowanie zostało napisane w języku Java oraz C. Czym właściwie jest AVR-IplaTV-Box? AVR-IplaTV-Box jest urządzeniem, które pozwala na oglądanie kanałów TV z serwisu Ipla.tv na telewizorze. Dodatkowo urządzenie wyposażone jest w odbiornik IR, który jest odpowiedzialny za obsługę zmiany kanałów za pomocą zwykłego pilota wyposażone w nadajnik podczerwieni IR. Co właściwie potrafi robić to urządzenie? AVR-IplaTV-Box pozwala w bardzo szybki oraz wygodny sposób na oglądanie oraz zarządzenie kanałami TV z serwisu Ipla za pomocą tego samego pilota, którego używamy do obsługi telewizora. Główne funkcjonalności jakie zostały przeze mnie zaimplementowane w tym projekcie to: zamiana kanałów TV, zatrzymywanie oraz wznawianie transmisji, dwustopniowe przewijanie kanałów (10 sekund lub 5 minut) w tył i przód, regulacja poziomu jasności, automatyczne logowanie do konta Ipla, pełna kontrola urządzenia za pomocą pilota od telewizora, wyświetlanie informacji odnośnie aktualnie emitowanego programu - nazwa oraz krótki opis, wyświetlanie aktualnego paska postępu dla wszystkich programów, łatwa konfiguracja aplikacji za pomocą pliku application.properties, możliwość edytowania dostępnych kanałów TV za pomocą pliku channels.json, możliwość wyłączenia urządzenia z poziomu pilota. Poniżej zamieszczam krótki filmik prezentujący wyżej wymienione funkcjonalności. Skąd wzięła się potrzeba stworzenia takiego urządzenia? Obecnie serwis Ipla TV pozwala na zakup pakietów z kanałami TV (Discovery, Polsat itd.), które można oglądać za pośrednictwem serwisu Ipla TV lub aplikacji na Anroida i iOS. Niestety nie ma możliwości oglądania kanałów TV w aplikacji Ipla na Smart TV, co oznacza że do oglądania kanałów TV jest wymagany komputer lub smartphone. Kontaktowałem się nawet w tej sprawie z pomocą techniczną Ipla, lecz powiedzieli mi, że nie planują w najbliższym czasie wyprowadzenia kanałów TV na smart TV (pewnie wynika to ze sposobu szyfrowania danych - DRM). Wygoda przede wszystkim! Jednym z głównych założeń projektu było, aby całe urządzenie można obsługiwać w taki sam sposób, jak zwykły telewizor. Co wiązało się z koniecznością stworzenia dodatkowego interfejsu, który pozwoliłby na sterowanie urządzeniem za pomocą pilota od telewizora. W tym calu zastosowałem zestawy uruchomieniowy (ewaluacyjny) Atnel ATB 1.05a, wyposażony w m.in. mikrokontroler Atmega 32A oraz odbiornik podczerwieni TSOP31236. Do obsługi odbiornika podczerwieni po stronie mikrokontrolera wykorzystałem bibliotekę IR_UNI autorstwa Mirosława Kardaśa, która była dołączona do książki Język C Pasja programowania mikrokontrolerów 8 - bitowych. Dodatkowo zestaw ten jest wyposażony w układ FT232RL, który pozwala na komunikację z komputerem za pomocą interfejsu USB. Informacje odnośnie aktualnie emitowanego programu pozyskiwane są z serwisu Ipla, a następnie parsowane po stronie aplikacji za pomocą biblioteki JSoup. Oprogramowanie Kod aplikacji desktopowej znajduje się na moim GitHub'ie i każdy może się z nim zapoznać klikając w ten link: AVR-Ipla-TV-Box Jeśli ktoś będzie miał jakieś pytania dotyczące tego projektu to zachęcam do ich zadawania w komentarzu oraz do zapoznania się z dokładniejszym opisem tego projektu na moim blogu, gdzie jest nawet sekcja dla developera, gdzie dokładnie opisuje zastosowane technologie oraz całe flow programu Pełen opis projektu wraz z kodami źródłowymi dostępny jest tutaj: DevTomek.pl -> AVR-IplaTV-Box, czyli Ipla TV na Twoim telewizorze! PS. Nie wiem, czy projekt ten spełnia ogólne założenia działu DIY na tym forum dlatego nie kopiowałem zbyt wiele treści z mojego wpisu na blogu, gdyby jednak okazało się że projekt ten jest wart dokładniejszego opisu to mogę dodać więcej informacji w tym poście dot. tego urządzenia
  2. 2 punkty
    Po prostu mnie to zaskoczyło - ta płytka kosztuje 383zł z tego co widzę na stronie producenta. Za to można mieć kilka oryginalnych arduino, albo worek chińskich. Poza tym Arduino są ładniejsze i zgrabniejsze, więc nie będą straszyły koło telewizora. Pytałem bez żadnej złośliwości po prostu wybór platformy zaskoczył - ale jako testowa i zalegająca w domu faktycznie może mieć sens
  3. 1 punkt
    A, to insza inszość Wiem o tym, że Ipla nie działa na niektórych telewizorach. Tyle że na początku pisałeś że nie działa na żadnym, potem coś o 99% a z tymi stwierdzeniami nie bardzo mogłem się zgodzić. A projekt raczej nie będzie bezużyteczny - mogę sobie wyobrazić podłączenie tego do Kodi (niekoniecznie do ipli) albo użycie telewizora bez smarta (jeszcze takie są i nie mają zamiaru wymierać).
  4. 1 punkt
    Tak, tylko nie na każdym TV można oglądać. Projekt ten zrobiłem prawie rok temu i wtedy wsparcie dla kanałów TV było znikome. Ipla cały czas poszerza game urządzeń na których można oglądać TV i ostatnia aktualizacja (30.08.2019) spowodowała że na moim TV (Sharp) nie mam w ogóle Ipli (po prostu z dnia na dzień zniknęła). Tutaj można zobaczyć jak to wszystko dynamicznie się zmienia https://pomoc.ipla.tv/pytanie/tabela-dostepnosci-pakietow i ciągle są urządzenia dla których nie ma wsparcia. Jeśli ktoś posiada Smart TV od Samsunga to wsparcie dla tej marki jest największe, pozostałe marki mają gorzej. Uwierz mi jak robiłem research tego tematu jakiś czas temu to nie można było oglądać kanałów TV na żadnym Smart TV, dopiero stopniowo Ipla wprowadziła wsparcie kanałów TV dla różnych modeli Smart TV i proces ten ciągle trwa. Być może za jakiś czas Ipla będzie wspierać wszystkie Smart TV i projekt ten stanie się bezużyteczny, ale obecnie jestem w gronie tych osób które posiadają Smart TV bez wsparcia dla Ipla TV
  5. 1 punkt
    Do niedawna cyberbezpieczeństwo było chyba głównie jako studia podyplomowe (nie polecam). Natomiast teraz cyberbezpieczeństwo pojawia się też jako kierunek studiów np. http://www.elka.pw.edu.pl/Studia/Informacje-dla-kandydatow/Opis-kierunkow-studiow/Cyberbezpieczenstwo
  6. 1 punkt
    Warto zainteresować się protokołem MQTT. Poniżej wrzucę przykładowy link zastosowania tego protokołu. https://iotdesignpro.com/projects/how-to-connect-esp32-mqtt-broker
  7. 1 punkt
    Okej, bo sporej batalii - udało się. Niestety pojawia się ogromny problem. Do tworzenia kodu używam oprogramowania SimHub - wiem, idę na łatwiznę, ale o ile byłem w stanie naskrobać kilka linijek, które obsługują sprzęgło i działa to świetnie - tak napisanie programu który wyświetla na ledach obroty przechwytując telemetrię z gry znacznie przerasta moje możliwości. Niestety SimHub nie przewiduje obsługi wejść analogowych tak jak potencjometr, więc mając obsługę przycisków, ledów i enkoderów - muszę ręcznie do wygenerowanego przez SimHub kodu wkleić kod dotyczący obsługi wejścia analogowego dla potencjometru - tutaj pojawia się problem, bo kod generowany przez SimHub jest gigantyczny i nawet nie wiem jak mogę się do niego zakraść. Czy ktoś ma już jakieś doświadczenie w tym programie i mógłby spróbować mnie chociaż naprowadzić?
  8. 1 punkt
    @slon Nie ma żadnej. Przerwanie to przerwanie - a w jaki sposób zostało wywołane to dla programu nieistotne (nawet, jeśli sam program wywołał przerwanie). digitalWrite może wystąpić - nie ma nic wspólnego z przerwaniami (poza tym, że blokuje na chwilę przerwania co w tym przypadku nie ma żadnego wpływu na działanie, ponieważ w trakcie wywołania procedury ISR przerwania i tak są zablokowane). Pisałem o digitalWriteFast dlatego, że wykonuje się dużo szybciej - argumenty są znane w czasie kompilacji czyli nie trzeba wywoływać funkcji w stylu "a jaki to port i jaki bit i czy mam zrobić or czy and", a ewentualnym blokowaniem przerwań ma się interesować programista (do tego jest makro ATOMIC_BLOCK w util/atomic.h w bibliotece avr-libc). Oczywiście to co piszę to pewne uproszczenie (mogę w procedurze ISR ręcznie odblokować przerwania jeśli z jakichś powodów jest mi to potrzebne) - ale możemy założyć, że o ile nie stosujemy jakichś tricków to wszystko się odbywa w najprostszy sposób: a) na stosie zapamiętywane są wartości najważniejszych rejestrów z licznikiem instrukcji na czele oraz blokowane są przerwania b) procesor wykonuje procedurę ISR c) wartości rejestrów odtwarzane są ze stosu w ten sposób, że program nawet nie wie że coś go przerwało Problem zaczyna się pojawiać, gdy następne przerwanie przychodzi w czasie wykonywania pierwszego. Co prawda przerwania są zablokowane, ale w przypadku AVR-ów zapamiętywane jest przyjście przerwania i po wyjściu z pierwszego procesor natychmiast (no, prawie...) wchodzi w obsługę drugiego. Niestety - zapamiętywane jest tylko jedno przerwanie; jeśli w czasie obsługi przerwania przyjdzie więcej niż jedno - pozostałe zostaną zignorowane. Czy to wyjaśnienie wystarczy?
Tablica liderów jest ustawiona na Warszawa/GMT+02:00
×
×
  • Utwórz nowe...