閒聊

小米電視 控制api

我家電視是小米電視3 我一直想用電腦或其他方式控制電視,但是因為他沒有紅外線可以送 所以很麻煩

 

後來發現可以透過api的方式來操作小米電視  這太贊了

首先 你要先知道你的電視連的ip是多少 例如192.168.2.55

然後 我不知道需不需要開啟adb(因為我的有開啟 開啟方式就是去你的設定->版本號 連續多點好幾次之後 你就會有開發者模式,之後你在其他的分頁就可以看到adb功能可以讓你開了)

 

好 如果你ping的道你電視 你就先搞定一大部分了

我在github上有看到有人分享python的控制 https://github.com/simse/pymitv/blob/master/pymitv/control.py

https://github.com/spocky/mireco

不過看了看code 其實他也只是去調用小米自己的api而已,且也不難 乾脆不用她(是可以參考他一下拉)

 

調用方式很簡單

取得電視狀態(這裡ip請記得換成你家電視ip)

http://192.168.2.55:6095/request?action=isalive

取得電視音量

http://192.168.2.55:6095/general?action=getVolum

 

按下menu按鈕

http://%s:6095/controller?action=keyevent&keycode=%s

例如

http://192.168.2.55:6095/controller?action=keyevent&keycode=menu

開啟指定的app

http://%s:6095/controller?action=startapp&&type=packagename&packagename=%s

例如我要開啟沙發桌面,而沙發桌面的packagename就是com.shafa.launcher

http://192.168.2.55:6095/controller?action=startapp&&type=packagename&packagename=com.shafa.launcher

packagename要怎知道這就又是另外一回事了,你有apk檔時,去google應該有不少方法教學可以看

 

切到hdmi頻道

http://DEVICE_IP:6095/controller?action=changesource&source=%s

例如

http://192.168.2.165:6095/controller?action=changesource&source=hdmi1

http://%s:6095/general?action=getVolum

http://%s:6095/general?action=setVolum&volum=%d&ts=%s&sign=%s

http://%s:6095/general?action=modifyDeviceName&name=%s&ts=%s&sign=%s

http://%s:6095/generalA?action=systemCleanInfo

 

 

http://%s:6095/controller?action=play&type=video&mediaid=%d&cpsrc=%s&cpid=%s&ci=%d&prefersource=%d&clientname=%s&apikey=%s&ts=%s&sign=%s

http://%s:6095/controller?action=getinstalledapp&count=999&changeIcon=1

http://%s:6095/controller?action=getsysteminfo

http://%s:6095/account?action=getState

http://%s:6095/account?action=addNew&data=%s

2 comments

感谢老哥的分享,我在这里分享一下音量控制方法。参照了另一位老哥的

音量控制参照[这位老哥](https://blog.andiedie.cn/posts/cb98/)反编译后的控制参数
具体使用方法:
http://{{{ip}}}:6095/general?action=setVolum&volum={{{volume}}}&ts={{{time_tag1}}}&sign={{{md5}}}

ip:为小米电视或例子的IP地址
volume:需要设定的音量值
time_tag1:时间标签(这个值应该是可以随意设,最少5位?)
md5:这个最重要,是验证码,下面为该值的计算方法。

md5=md5(mitvsignsalt&volume&mac&time_tag)
mitvsignsalt:固定值
volume:设定的音量
mac:以太网口mac地址(不是wifi)
http://ip:6095/controller?action=getsysteminfo
可通过上面方法获取or什么其它方法
time_tag2:取time_tag1的后5位数(我试过随便编5位数就可以)
然后计算他们的MD5值:

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

(若看不到驗證碼,請重新整理網頁。)