我家電視是小米電視3 我一直想用電腦或其他方式控制電視,但是因為他沒有紅外線可以送 所以很麻煩 1 R+ G! g$ U; Z0 ^- j+ h3 K
後來發現可以透過api的方式來操作小米電視 這太贊了 首先 你要先知道你的電視連的ip是多少 例如192.168.2.55 然後 我不知道需不需要開啟adb(因為我的有開啟 開啟方式就是去你的設定->版本號 連續多點好幾次之後 你就會有開發者模式,之後你在其他的分頁就可以看到adb功能可以讓你開了)
( L; n1 `, y& L# ?9 Z( h好 如果你ping的道你電視 你就先搞定一大部分了 https://github.com/spocky/mireco 不過看了看code 其實他也只是去調用小米自己的api而已,且也不難 乾脆不用她(是可以參考他一下拉)
8 e: e4 e% I1 N5 y調用方式很簡單 取得電視狀態(這裡ip請記得換成你家電視ip) http://192.168.2.55:6095/request?action=isalive 取得電視音量 http://192.168.2.55:6095/general?action=getVolum - ^+ ?* t, `* f- a% R1 |) c
按下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應該有不少方法教學可以看 # |2 h4 Q; I' M; p& k6 U
切到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
2 n) ^$ Q, |8 n+ r
& k, L2 ]( g6 Z$ e [+ chttp://%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
( _' ~5 a x7 r& d' r czde表示:4 R1 `3 q$ L) i" ]" z
2020 年 03 月 04 日10:35:12
9 R) {$ x6 X9 x3 ~感谢老哥的分享,我在这里分享一下音量控制方法。参照了另一位老哥的 音量控制参照[这位老哥](https://blog.andiedie.cn/posts/cb98/)反编译后的控制参数5 S/ j* ^+ E" F1 V) e: F- _- Q
具体使用方法:8 x+ M' ~+ d' E7 ~% o" }
http://{{{ip}}}:6095/general?action=setVolum&volum={{{volume}}}&ts={{{time_tag1}}}&sign={{{md5}}} ip:为小米电视或例子的IP地址
H5 C, U! {- D( `3 D8 B @volume:需要设定的音量值
- z6 x. `8 {5 a4 e: E! y! rtime_tag1:时间标签(这个值应该是可以随意设,最少5位?)
$ j( `0 V( m" R0 Imd5:这个最重要,是验证码,下面为该值的计算方法。 md5=md5(mitvsignsalt&volume&mac&time_tag)
2 Y, O9 y$ o* u" Omitvsignsalt:固定值
3 q: J# W$ Z H$ ?volume:设定的音量
( l9 n2 C) I/ d+ Z" Vmac:以太网口mac地址(不是wifi)4 L8 ^8 r$ s0 T6 t/ C+ n- ~) T' h
http://ip:6095/controller?action=getsysteminfo
6 Z. a, R% x) ~) M. M可通过上面方法获取or什么其它方法
7 {8 A- E. L3 v/ rtime_tag2:取time_tag1的后5位数(我试过随便编5位数就可以)3 f/ z$ m, |* J* |" P( W4 p
然后计算他们的MD5值:
, U$ r6 u9 H* N* }# L+ {' W3 g0 [7 _ {8 ~, }& ^+ M/ b9 b2 g
# I, |$ j1 y: c {
% V7 n& W6 ~- [/ p9 ^ i0 u( H. N |