Jak mówi odpowiedź @ lenik, telewizor musi obsługiwać CEC. Zainstalowałem skompilowaną wersję libcec który zawierał narzędzia wiersza polecenia cec-client
z SourceForge za pomocą następujących poleceń:
wget http://sourceforge.net/projects/selfprogramming/files/libCEC.deb/libcec_2.1.0-1_armhf.deb/download -O libcec_2.1.0-1_armhf.deb
sudo dpkg -i libcec_2.1.0-1_armhf.deb
AKTUALIZACJA: 27.02.2017
Powyższy link do SourceForge już nie istnieje. Zgodnie z tym artykułem można zainstalować cec-client
za pomocą następującego polecenia:
sudo apt-get install cec-utils
Pozostała część tej odpowiedzi powinna być nadal aktualna.
Oto wątek na raspberrypi.org, który omawia użycie cec-client
poleceń do wydawania.
Wątek mówi, że następujące polecenie pomyślnie włączyło telewizor Samsung:
echo "on 0" | cec-client -s
Następujące polecenia zmieniają źródło z tunera TV na Raspi HDMI:
echo "as" | cec-client -s
lub
echo "tx 1f 82 30 00" | cec-client -s
Następujące polecenia nie powiodły się przy wyłączaniu telewizora:
echo "tx 10 36" | cec-client -s
lub
echo "standby 0" | cec-client -s
standby 0
DEBUG: [ 56474] << putting 'TV' (0) in standby mode
TRAFFIC: [ 56476] << 10:36
DEBUG: [ 56477] sending data: len = 1, payload = 10:36
DEBUG: [ 56538] received data: header:00020001 p0:00003610 p1:00000000 p2:00000000 p3:00000000 reason:1
DEBUG: [ 56539] command transmitted
DEBUG: [ 56660] received data: header:00040002 p0:04360001 p1:00000000 p2:00000000 p3:00000000 reason:2
TRAFFIC: [ 56661] >> 01:00:36:04
NOTICE: [ 56661] >> TV (0) -> Recorder 1 (1): feature abort ( 0)
DEBUG: [ 56661] marking opcode 'standby' as unsupported feature for device 'TV'
Fan wentylatora John
źródło
echo "standby 0" | cec-client -s
działa dobrze dla mojego telewizora Panasonic, chociaż proces się opóźnia i musiałem tokill -9
zrobić.cec-client
potrzebujesz telewizora obsługującego protokół CEC (Consumer Electronics Control) przez HDMI. dobrym pomysłem może być zapoznanie się z instrukcją obsługi telewizora lub witryną firmy, aby znaleźć szczegółowe informacje na temat konkretnego przypadku, a także szybkie wyszukiwanie „TV_model + CEC” może dać ci kilka wskazówek.
Zasadniczo, jeśli Twój telewizor został wyprodukowany zaledwie kilka lat temu, istnieje duża szansa, że znajdziesz sposób konfiguracji i włączenia CEC, ale w przypadku starszych modeli szanse nie są tak dobre.
Wywoływana jest implementacja Samsung CEC
Anynet+
, możesz też spróbować poszukać jej.źródło
Możesz zrobić coś w rodzaju pilota do telewizora z diodą LED na podczerwień . Istnieje poradnik na temat Adafruita na temat tego, co chcesz zrobić. Oto kolejny post na blogu na ten sam temat.
Uwaga: będziesz musiał użyć pinów GPIO. Nie jestem pewien, czy szukałeś rozwiązania, które z nich skorzystałoby, czy nie.
źródło
Po zainstalowaniu klienta cec zgodnie z powyższą odpowiedzią HeatfanJohn z powodzeniem mogę włączać / wyłączać mój telewizor Vizio E390i-A1 LED HDTV. Napisałem skrypt dla społeczności:
Utwórz nowy plik za pomocą:
wklej w następujący sposób:
Spraw, by był wykonywalny:
Następnie utwórz aliasy:
dodaj następujące:
Zapisz, wyjdź, wyloguj się / zaloguj (lub po prostu pobierz .bashrc). Teraz możesz włączyć lub wyłączyć telewizor za pomocą „tvon” i „tvoff”.
Teraz możesz zaplanować nocne zadanie wyłączenia telewizora na wypadek, gdybyś zasnął:
Dodaj następujące:
źródło
Napisałem też kilka skryptów, które w tym pomogą. Poszedłem trochę dalej niż CaptainRewind, choć wykonał kawał dobrej roboty. To tylko skrypt powłoki napisany w celu kontrolowania mojego telewizora, więc nie uwzględniłem niczego, co nie obsługuje (takich jak regulacja głośności i kanałów; wciąż szukam sposobu na zrobienie jednego z nich bez kupowania dodatkowych pieniędzy sprzęt) i zawiera szczegóły związane z konfiguracją, takie jak „wejście TV raspi” będące synonimem „wejście TV 3”, ale zostawiłem je, abyś mógł zobaczyć, jak dokonać takich dostosowań dla siebie.
Możesz go łatwo użyć Jeśli umieścisz go w / usr / local / bin / tv, wydając takie polecenia, jak „tv on”, „tv off” lub „tv input 1”, lub po prostu umieść go w katalogu domowym jako tv. sh i użyj go bezpośrednio stamtąd.
Mam nadzieję, że to pomaga niektórym ludziom.
źródło
Możesz spróbować ponownie z najnowszą wersją XBMC (teraz o nazwie Kodi '). Miałem więcej szczęścia z moim telewizorem Samsung UE46F6500 i OpenELEC (oficjalna) Wersja: 5.95.3 z Kodi, chociaż kontrola CEC została utracona po umieszczeniu mojego telewizora aby przejść w tryb gotowości lub ponownie włączyć telewizor:
Czekaj:
Na:
Zmień źródło:
Jednak funkcje te przejmują wyłączną kontrolę nad interfejsem CEC od Kodi, więc Kodi traci kontrolę nad CEC po którymkolwiek z tych poleceń, a pilot przestaje działać. Aby ponownie uruchomić Kodi, musisz ponownie uruchomić Kodi:
Kodi (> = 13) ma wbudowane funkcje CECToggleState, CECActivateSource, CECStandby Niektóre osoby pracują nad przekazywaniem tych poleceń cec przez Python przy użyciu tych wbudowanych funkcji lub szukają możliwości otwarcia sprzętu CEC w trybie współużytkowanym: http://forum.kodi.tv/showthread.php?tid=207524 i https://discourse.osmc.tv/t/control-tv-on-standby-toggle-using-cec-kodi-built-in- funkcje / 3638/4
źródło