Android telefonu Samsung, LG ve Philips TV'ler için kumanda, yayın ve ekran yansıtma aracına çeviriyor; 10 binden fazla indirme.
+TV, akıllı TV'ler için kumanda, yansıtma ve ekran paylaşımı sunan, Google Play'de 10 binden fazla indirilen bir Android uygulamasıdır. Garage.ist'te bir geliştirici arkadaşımla birlikte geliştirdik. Samsung ve LG için SDK vardı; Philips için yoktu. Bu yüzden Philips'in belgelenmemiş JointSpace API'sini tersine mühendislikle çözdüm ve entegrasyonu tek başıma yazdım.
Bir Philips TV'yi komutlara cevap verir hâle getirmek iki ila beş gün sürdü; bütün endpoint'leri çıkarmak ise yaklaşık üç hafta. Var olan dokümantasyon eski, yarı terk edilmiş sayfalardaydı. Bu yüzden API'nin büyük kısmını Philips'in kendi kumanda uygulamasından çıkardım: loglarını CatLog ile okudum, TV'nin IP adresine giden trafiğini Wireshark ile yakaladım. Bulduğum her şeyi gerçek bir cihaz üzerinde deneme yanılmayla doğruladım.
Öne Çıkan Özellikler
- Google Play'de 10 binden fazla indirme.
- Samsung Tizen SDK ile, LG ConnectSDK ile.
- Philips JointSpace API'si CatLog ve Wireshark ile çözüldü: 2–5 günde çalışır hâle geldi, yaklaşık 3 haftada tamamen haritalandı.
- HTTP Digest üzerinde durum makinesi olarak PIN eşleştirme (nonce'lu 401 challenge–response).
- Nonce'un süresinin dolması ve TV'nin kendinden imzalı sertifikası istemcide ele alındı.
Kotlin · Java · Android · Wireshark · HTTP Digest · ConnectSDK