Ostatnio Mirek często wspomina o “hakowaniu” magistrali CAN, więc postanowiłem zaprezentować swój ostatni projekt, który co prawda nie ma nic wspólnego z magistralą CAN, ale również dotyczy “hakowania”, tylko z tą różnicą że pod pojęciem CAN ukrywa się serwis Ipla TV .
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 1 minuta) 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.
[Opis klawiszy pilota sterującego]
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.
[Schemat blokowy urządzenia - hardware]
Informacje odnośnie aktualnie emitowanego programu pozyskiwane są z serwisu Ipla, a następnie parsowane po stronie aplikacji za pomocą biblioteki JSoup.
[Proces pozyskiwanie dodatkowych informacji o kanałach]
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
Ja pierdziu !!!! ... jak pięknie dopracowany, opisany i zaprezentowany projekt w DIY - istna perełka, czyta się z wypiekami na twarzy. Mnie aż zazdrość bierze bo sam nie znam się na linuxie i na programowaniu w Java ... a tu proszę jakie wielopoziomowe połączenie systemów. Mega integracja
GRATULACJE !
------------------------ [ Dodano po: kilkunastu sekundach ]
przy okazji widzę, że powstaje nowy fajny BLOG super !
Ja pierdziu !!!! ... jak pięknie dopracowany, opisany i zaprezentowany projekt w DIY - istna perełka, czyta się z wypiekami na twarzy. Mnie aż zazdrość bierze bo sam nie znam się na linuxie i na programowaniu w Java ... a tu proszę jakie wielopoziomowe połączenie systemów. Mega integracja
GRATULACJE !
Dziękuję Mirku za opinię Przyznam, że połączenie tych wszystkich warstw w całość nie było zbyt łatwe, ale dzięki zestawowi ATB i GB proces developmentu znacznie przyspieszył, bo mogłem skupić się na architekturze systemu i nie musiałem męczyć się z płytkami stykowymi itp. jak miało to miejsce jakiś czas temu!
Btw. Projekt powstał jakieś pół roku temu, ale dopiero teraz postanowiłem go przedstawić, żeby być pewnym że wszystko działa jak należy. Korzystam z tego 'urządzenia' bardzo często od kliku miesięcy i wszystko działa tak jak należy, więc mogę powiedzieć z czystym sumieniem, że projekt zakończył się sukcesem
Przyznam, że połączenie tych wszystkich warstw w całość nie było zbyt łatwe,
Ale to właśnie widać ILEŻ pracy w to włożyłeś i już nie chodzi tylko o techniczne sprawy - sama prezentacja - to poezja i miód dla ucha i oka ! ...
Moim marzeniem było pisząc książki czy tworząc poradniki aby zainspirować kogoś, czasem coś pomóc w drobnej sprawie i żeby czytelnicy czy widzowie prześcignęli mnie po stokroć jeśli chodzi i o moją skromną wiedzę i o poziom projektów - a TO jest właśnie taki wzorcowy przykład.
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
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