probably over a year ago when i discovered the possibility to control my C650 TV remotely and had to learn perl I decided to implement my own remote control just for educational purposes
After some time when the most stuff I wanted to try worked more or less as expected and I didnt realy have a usecase for a network based control i stopped the development, but this unfinished project didn't let me sleep
In the last couple of days i found the motivation again and brought the library and frontend to a state which i think can be shown in public.
It has been built mostly based on reaserches and postings from this forum and http://sc0ty.pl/tag/samsung/
Maybe someone will find it useful.
Here are some details:
Frontend:
- written in Perl/Tk ( quite ugly but works on all systems without the need to change the code )
- frontend languages: German, English, Polish and Russian
Library:
- depends on SOAP::Lite and UPnP::Net
- it has been testen only on my C-series TV.
- other TV series which use different ports than 52235 and 55000 WONT WORK with this lib! but it should be easy to adjust
- almost whole library is object oriented ( except of the function "find_devices()" )
- tested on windows 32 bit Activeperl 5.14* , 64 bit strawberry perl 5.14** and Debian (VM) 5.14 (?) and I think it should work on OS X too
- able to send keys and messages, reminders and schedulers and set some values directly (volume, brightness etc.).
Functionlist:
new
getVolume
setVolume
getBrightness
setBrightness
getContrast
setContrast
getSharpness
setSharpness
getColorTemperature
setColorTemperature
getImageRotation
setImageRotation
getMute
setMute
sendButton
sendText
find_devices
sendSMS_now
sendSMS
reportCall
showScheduler
Usuage:
quite straight forward
Code: Select all
use SamsungRemote;
my $tv = SamsungRemote->new("192.168.178.25");
print $tv->getVolume();
Comments:
- for now the library does not evaluate any returncodes
- the tk script is not very flexible when it should come to extension of functionality
- not all buttons available on the IR remote are available in the script just because I didnt know where to put them or was too lazy to move existing buttons around
Other thoughts:
For now I could even imagine releasing the library on CPAN, but before some other people with more experience should take a look into it.
For example i am not sure about the package name ( should it be more explicit, like CSERIES ). This way me/someone could write implementations for other series.
There is a one big feature I would like to see in this library and i think it it possible: playing videos or show images on tv just by calling a function with path as a parameter like it is possible in windows over the shell extension "show on". But it will need some more research on UPnP/DLNA stuff. Maybe someone even had already success in this area and could provide some sourcecode (is doesnt have to be perl ) ? My search wasnt really successful.
EDIT:
Of course if someone has some suggestions how the lib could be improved, dont hesitate and post it
Greets
Max
*Tk for Activeperl is available in the repo http://trouchelle.com/perl/ppmrepview.pl
** i had to force the install from cpan