
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
AlpAgca
29 December 2020 17:09
Hocam 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
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