Merhaba, çok beğenmesem de bir Vestel Smart TV kullanıcısıyım, bu TV'nin Android ve IOS için mobil kumanda uygulamaları mevcut ancak zamanımın çoğunu bilgisayar başında geçirdiğim için bilgisayar uygulaması yapmaya karar verdim. Bunun için mobil uygulamanın TV ile nasıl haberleştiğini çözmem gerekiyordu. TV ve mobil cihazın aynı internet ağında olması gerektiğini biliyorum dolayısıyla aradaki haberleşmeyi dinlemek için Ettercap ve Wireshark uygulamalarını kullandım. Ettercap ile mobil cihazın ve TV'nin internet trafiğini bilgisayarıma aktarıp Wireshark ile mobil cihazdan TV'ye giden istekleri dinlemeye başladım.
Standart HTTP POST istekleri göndererek işlem yaptığını görüntüledim. Ses açma ve kısma işlemlerine ait XML verilerini alıp bunu ilk önce CURL ile TV'ye post ederek test yaptım ve TV'nin sesinde değişiklik oldu. Bunun sonrasında mobil kumanda uygulamasındaki tüm tuşlara tek tek dokunarak tüm tuşlara ait veriyi aldım ve Python ile bir kumanda uygulaması geliştirdim.
Uygulamaya aşağıdaki bağlantıdan ulaşabilirsiniz.
https://github.com/niyazialpay/VestelSmartTVRemoteController
English: https://niyazi.net/en/vestel-smart-tv-remote-control
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
5 yorum
AlpAgca
29 Ara 2020 14:09Hocam Invalid URL No host supplied error var
yardimci olabilirmisiniz
/Users/admin/PycharmProjects/untitled/venv/bin/python /Users/admin/PycharmProjects/VestelSmartTVRemoteController/main.py
Traceback (most recent call last):
File "/Users/admin/PycharmProjects/VestelSmartTVRemoteController/main.py", line 240, in <module>
window = Ui()
File "/Users/admin/PycharmProjects/VestelSmartTVRemoteController/main.py", line 119, in __init__
self.button.clicked.connect(tv.OpenMenu())
File "/Users/admin/PycharmProjects/VestelSmartTVRemoteController/VestelTV/__init__.py", line 45, in OpenMenu
call_key_code(1048)
File "/Users/admin/PycharmProjects/VestelSmartTVRemoteController/VestelTV/__init__.py", line 11, in call_key_code
requests.post('http://' + db.select_ip() + ':56791/apps/vr/remote', data=xml, headers=headers)
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/api.py", line 119, in post
return request('post', url, data=data, json=json, **kwargs)
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/sessions.py", line 528, in request
prep = self.prepare_request(req)
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/sessions.py", line 456, in prepare_request
p.prepare(
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/models.py", line 316, in prepare
self.prepare_url(url, params)
File "/Users/admin/PycharmProjects/untitled/venv/lib/python3.9/site-packages/requests/models.py", line 393, in prepare_url
raise InvalidURL("Invalid URL %r: No host supplied" % url)
requests.exceptions.InvalidURL: Invalid URL 'http://:56791/apps/vr/remote': No host supplied
Process finished with exit code 1
Cryptograph
31 Ara 2020 19:21Merhaba,
"InvalidURL: Invalid URL 'http://:56791/apps/vr/remote': No host supplied Process finished with exit code 1" burada URL'nin hatalı olduğu gözüküyor yani herhangi bir IP olmadan adrese bağlantı sağlamaya çalışıldığından hata almaktasınız. TV'nin IP adresinin kaydedilmediği gözüküyor, IP adresini ekleyerek tekrar kontrol edebilir misiniz?
Ramazan
28 Şub 2021 02:58Merhaba, öncelikle program için teşekkürler. Netflix ve youtube dışında uygulama veya sayfa açmak mümkün mü? Google Play'de yer alan Vestel Smart Center uygulamada tv deki diğer uygulamaları açmak mümkün, ondaki gönderilen verileri okuma şansınız var mı?
https://play.google.com/store/apps/details?id=com.vestel.smartcenter
Ersin D
02 Mar 2021 16:47Merhaba,
Githubdan release indirip exe calistirdim ancak hata verip IP doğru değil diyor
192.168.1.10 olan adresi 192.168.0.10 olarak değiştirdim (tv'nin menüsünden bakarak) ancak gene çalışmadı
ios uygulaması ile telefondan TVye erişebiliyorum
sorun ne olabilir?
Cryptograph
23 Mar 2021 14:42Merhaba, bu durum büyük ihtimalle TV'den kaynaklı aynı sorunu ben de yaşıyorum TV'yi fişten çekip tekrar açtığımda sorun çözülüyor. Ayrıca TV'niz farklı bir port üzerinden de haberleşiyor olabilir. Portu tespit etmek için Nmap ya da Wireshark gibi bir uygulama kullanabilirsiniz.