斐訊R1智障音箱通過adb調試介面安裝apk實現AirPlay和DLNA功能

因為揀垃圾是一件很快樂的事情,一年前(2019年)我特意從中國大陸的網站上購買了很多斐訊遺產,其中就包括斐訊R1音箱,通過重重困難飄洋過海轉運到了日本。

剛剛拿到手的R1音箱是沒有拆封的,不同時期生產的R1音箱,內置的韌體(ROM)版本是不一樣的,舊版本的韌體音質校準不是特別理想,需要通過DNS劫持、push工廠配置文件等等的方法升級到最新版本,網絡上有很多教程,有需要的人可以Google一下,應該馬上就可以找到。

廢話不多説,下面是正題:

如何通過adb調試介面安裝App?

首先要找到斐訊R1音箱的IP位址。

有很多方法,比如查看路由器的DHCP分配位址表:

Host Name是「Phicomm_R1」開頭的就是斐訊R1音箱

知道斐訊R1的IP位址之後,用adb連接它!

OX-Macbook:~ ox$ adb connect 192.168.0.40
connected to 192.168.0.40:5555

然後用adb push命令把需要安裝的apk推送到音箱上:

adb push [apk文件所在的本地路徑] /data/local/tmp/

// 比如這樣:
// adb push /Users/ox/Desktop/airplay.apk /data/local/tmp/

然後通過調用pm工具安裝剛才push的apk安裝包:

adb shell /system/bin/pm install -t /data/local/tmp/[文件名]
額外提醒

如果你不知道轉義字符是什麼東西,那你的文件名最好不要有奇怪的字符,比如空格和括號之類的。

安裝AirPlay接收端

「樂播投屏TV版」和「AirPin」還有「Media Center」我都在用。

AirPin 是收費的App,但是也有免費的版本(AirPin Lite),在R1上用的話已經足夠了。

樂播投屏TV版 是免費的App,但是會上傳MAC地址之類的隱私內容,有時候還會擅自更新,新版本的樂播投屏TV版每次新設備連接都需要點擊允許,沒有屏幕的R1音箱就只能通過scrcpy之類的工具連接到R1之後手動點擊允許,非常麻煩,介意的話可以安裝舊版本的同時在路由器上屏蔽樂播投屏的服務器(*.hpplay.cn)。

Media Center 是免費的App,不過似乎穩定性不是特別好,但是非常輕量。

安裝DLNA接受端

上面提到的三個Apps都支援DLNA功能,自己選一個用吧。

使用scrcpy操作R1音箱的UI介面

雖然用adb調試介面可以完成大多數操作,但是比如像更改AirPlay的顯示名稱之類的操作,還是需要GUI操作,因為R1沒有屏幕,所以需要用到一些可以遠端操作Android GUI介面的工具,比如scrcpy。

scrcpy的GitHub倉庫地址:https://github.com/Genymobile/scrcpy

Windows版本在這裏可以找到。

Linux和macOS可以通過包管理器很方便地安裝,具體參考這裏

使用方法極其簡單:以macOS為例,先用adb connect命令連接到R1音箱之後,再執行scrcpy就可以了。

比如像這樣:

OX-MacBook:~ ox$ adb connect 192.168.0.40
connected to 192.168.0.40:5555
OX-Macbook:~ ox$ scrcpy
使用scrapy連接斐訊R1音箱
更改Media Center的設備顯示名稱
打開Media Center的AirPlay功能和設定R1音箱啟動後自動打開AirPlay伺服器

三款App的下載地址

樂播投屏TV版舊版本:Download

AirPin Lite:Download

Media Center:Download

設計的換位思考——針對色覺障礙人羣的顏色設計

導言

“紅綠色盲人口佔全球男性人口約8%,女性人口約0.5%,他們能看到多種顏色,但是會混淆識別某些顏色,尤其是紅色與綠色。另外全球約6%人口為三色視覺(色弱),約2%人口為二色視覺(色盲),極少數為單色視覺(全色盲)。”

——Wikipedia 色盲

其中色盲、色弱也分幾種類型,一般來講有紅綠色盲(Red–green Color Blindness)、藍黃色盲(Blue-yellow Color Blindness)。

於是這篇文章大體分為兩大部分:

    1. 考慮色覺障礙人士的設計的必要性
    2. 可行性/操作方法

正文

Part A

導言部分提到了色覺障礙人羣在世界人口中所佔的比例。可見這個人羣並不算太少數,那麼單獨針對這個人羣(重新)設計顏色、更改設計有沒有這個必要呢?
有,當然有。
針對這個人羣重新考量你的設計,這無疑體現的是你的設計同理心,還是對這個人羣的尊重,我可以斷定:這個羣體在大陸還是個弱勢羣體,許多公共設施的標示設計大部分都忽略了這個人羣或者是做的不夠好。對這部分人羣的設計優化,還能讓你的設計得到更多人的認可,也能向更多人分享你的設計,何樂而不為?當你有了針對這類人羣優化設計的想法時,你已經走在了很多設計師的前頭,於是我們面臨一個問題:怎樣針對此類人羣進行設計?

Part B

怎麼做?下面來看看這幾種解決方案:
使用不同形狀的圖案代替單純靠顏色表達不同意思的方法。
舉個反面例子:你可能正在設計一個菜譜,有件披薩餅有多種口味可供選擇,黃色的圓點代表放青椒,黃綠色的圓點代表放葱,橙色的圓點代表放大蒜和辣椒。老實説這是個最糟糕的設計方案了!

正確的設計應該是這樣子的:使用簡單易認的圖形代替用不同顏色分辨。你可以使用三角形、正方形、圓形等等的組合,上述案例還可以用青椒葱和大蒜圖案來代替。

填充紋理的方法
在某些時候,並不能用上面的方法解決問題,於是有了這個方法,你可以盡情地使用你喜歡的顏色,然後在顏色上疊加一層紋理就可以了,很多時候這麼做還可以更美觀。

如果你有強迫症,你不能忍受在顏色上疊加紋理也不具備使用圖案來優化設計的條件,同時你又不肯另外用文字標註的,那麼就請務必針對色覺障礙人羣重新設計一份適合的方案吧,假如是軟件 可以在菜單裏面增加選項有選擇性地開啟“色盲模式”,網頁也可以使用類似的方法。其實他們不太在意你的配色是否美觀,因為比起因為色覺障礙而不能正常使用相關服務這點應該不算什麼。

關於指示燈:
指示燈的問題或許是最嚴重的了,你真的以為大部分的色覺障礙者能夠很輕易地分辨紅綠兩個“截然不同”的顏色嗎?!
更多時候他們都認為這是相同的顏色,但是其實這也不是絕對的,其實必須明白一個事實:色覺障礙人士一般來説判斷不同的顏色更多的是靠他的“明度”,比如紅色會比草綠色看起來“更亮”。之所以用紅綠色做“批判對象”這是因為在某些規格的LED燈裏面這兩個顏色“明度非常相似”,但這個問題不單止對於”紅綠色“而言,換作是黃色綠色這個問題也很嚴重。但是近幾年”紅綠色“這個組合在很多LED的表現下也漸漸趨於可分辨,但是仍然還是要避免單純靠顏色辨認

下面是幾張色覺模擬圖,大家感受下:

從左到右的順序分別是:正常色覺(Normal),綠色色盲(Deuteranope),紅色色盲(Protanope)還有藍色色盲(Tritanope

紅色LED在各種色覺下的模擬視圖

綠色LED在各種色覺下的模擬視圖

藍色LED在各種色覺下的模擬視圖

所以解決的方法有:
使用不同形狀的指示燈。
比如共有有兩個指示燈,一個三角形一個圓形,不過這個很多時候會增加一定的成本。

使用不同的閃爍頻率區分。
比如正常狀態是常亮,異常就快閃什麼的。這是僅僅是在程序上做一下優化,最簡單的解決方案。

結束語

其實我認為很多設計師們並不是“故意”創造出那些令色覺障礙人羣難看的設計的,出現這些問題僅僅是因為他們不瞭解這個人羣,就算知道有這個人羣也不知道該如何去配合他們,於是我有了寫這篇文章的想法,希望大家可以瞭解並關注這個人羣,同時希望大家可以大肆傳播這篇文章,讓更多人能夠在設計時考慮這一部分人羣的切實需要。

下面是一些擴展閲讀的鏈接:

  • 色覚の多様性に配慮した 案內・サイン・図表等用のカラーユニバーサルデザイン 推奨配色セット(對色覺障礙者的配色方案參考)[日文]

http://jfly.iam.u-tokyo.ac.jp/colorset/index.html

  • 色覚の多様性に配慮した案內サイン図表等用のカラーユニバーサルデザイン推奨配色セット[漢化版]

https://blog.ooxx.dk/wp-content/uploads/2014/08/A0.png

  • 信息圖形中的顏色探討—面向色盲人士友好的設計解決方案

http://cdc.tencent.com/?p=5677

 

該文章只需在明確註明原作者的前提下即可隨便轉載、修改而不需要與我聯繫.

原作者: 歐峻峯 http://www.ooxx.dk

2014年8月

主題PuRuru(正式?)發佈!

太多事情要做了,忙不過來,看到 @釘子 的留言,於是我意識到主題的這個坑是不得不填了…所以我花了一天時間把絕大多數的BUG補上了….

這款主題支持後台更改LOGO….(感覺不值一提啊)

流動式佈局,移動端支持.

多語言支持..(應該吧?笑)

好像沒什麼其他的了 Orz

開發給自己用的,有人想要的話當然可以.

象徵性地收費5RMB吧…..(開發主題不容易)

既然只收5RMB,所以當然沒有後續支持服務了.(苦笑)

就這樣吧….

2014年04月12日22:02:31

購買請發郵件到我的郵箱: ox 艾特 ooxx 點 dk

感謝支持!

[2014 春]更改WordPress的URL後綴

數學考試掛科,心裏很不爽啊。。。
於是想找點東西寫寫,想起之前看到有些菊苣的URL很個性,於是上網找了一下資料,沒有發現任何信息,於是我想 應該是通過rewrite規則實現的吧,但是我正則不怎麼會,突然想到wordpress的「固定鏈接」。想了一下,值得一搏,於是直接再後面加上「.ox」,竟然就這樣完工了?!
突然有點小喜悦。。。。?

新番API BETA2

調用地址:

http://api.bgm.ooxx.dk/

暫不支持附加參數
調用方式:直接GET獲取
返回數據類型:JSON
更新頻率:每小時

[

{

“name”:”u6a31TRICK”,

“number”:”5″,

“link”:”http://www.bilibili.tv/sp/u6a31TRICK”,

“day”:”5″

}

]

説明:
『name』該番的名稱
『number』集數
『link』在B站的專題鏈接
『day』更新星期數*

*:0表示星期日,1表示星期一以此類推。
無請求次數限制,無需認證。
本人不保證其信息的準確性,並不對此負責。
本API僅返回目前正在連載的作品信息,僅返回作品
地區為日本的番

Special thanks: @YuxuanLiang

Linux nc 命令很強大!

nc或者netcat 在終端裡直接輸入man nc就可以看到詳細用法,在這裡列舉一些我認為很屌的玩法:

PORT SCANNING(端口掃描)

這東西方便好使,能用來幹嘛大家都知道,用過都説好。
這樣用:
nc -zv [HOST] [-]
比如: nc -zv 118.244.111.185 20-12000
我們可以得到類似這樣的結果:

ox@OX-Laptop:~$ nc -zv 118.244.111.185 20-12000
Connection to 118.244.111.185 20 port [tcp/ftp-data] succeeded!
Connection to 118.244.111.185 21 port [tcp/ftp] succeeded!

DATA TRANSFER(數據傳輸)

這東西在非常時期估計也能發揮不少作用,比如兩台電腦之間傳輸文件,沒有配置FTP?沒有SMB?

用這個也能湊合!

我們可以這樣:

A端(發送端)nc -l [端口] > file.ox

B端(接受端)nc [對方IP] [端口] < file.ox

(端口要一致)

“切,你那是傳一個文件,我要傳整個文件夾你就弱爆了!”

誰説不能傳文件夾的?!

我們可以這樣:先壓縮再傳不就行了麼?

A端(發送端)tar -cvf [目錄路徑] | nc -l [端口]

B端(接受端)nc -n [對方IP] [端口] | tar -xvf

(端口要一致)

CHAT ONLINE(在線聊天)

“這都行?!”

就是這麼屌。

其實這是最入門級別的用法了(我覺得):

首先開個服務端(端口):

nc -l [端口]

然後就開始聊天咯:

加入聊天:nc [對方IP] [端口]

這樣就好了,但是有個問題。。。別人能發信息給我我怎麼發給別人?

嘖,你讓別人也開個服務端你再連上去不就好了麼。。(端口不要衝突)

還有更多用法自己慢慢挖掘吧~

有耐心的一定要man nc看看啊

新番API BETA[14.07.22 service closed]

14.07.22更新!!
該服務已經停止,感謝支持。

api地址:

http://api.bgm.ooxx.dk

可返回JSON格式的正在連載的新番數據

[
{

“name”:”u4e0au8bfeu5c0fu52a8u4f5c”,

“number”:”4″,

“link”:”/sp/上課小動作”,

“day”:”0″

}

]

其中:

name是該番名稱(unicode編碼)

number是該番最新一集的計數

link是該番在B站的頁面(需自行腦補前面的『http://www.bilibili.tv』)

day是該番的更新星期(暫不可用)可用!(2014/2/7)

0=星期天

1=星期一

以此類推。
每日更新6次,每4小時更新一次(暫定)

ubuntu配置scrapy手記

注意:我是在root權限下運行下面的命令的,請根據自己的需要確定是否要在命令前面加上『sudo』以root身份運行~

首先安裝python= =
apt-get install python
然後安裝setuptools(一個python的設置工具。。)
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
然後安裝scrapy的各種支持庫
pip install w3lib
pip install twisted
pip install cssselect
pip install pyOpenSSL
apt-get install libxml2 libxslt python-lxml
安裝主角:scrapy
pip install scrapy
然後輸入scrapy看看是否安裝成功:
正常的話得到以下類似信息:

Scrapy 0.22.0 – no active project

Usage:
scrapy <command> [options] [args]

Available commands:
bench Run quick benchmark test
fetch Fetch a URL using the Scrapy downloader
runspider Run a self-contained spider (without creating a project)
settings Get settings values
shell Interactive scraping console
startproject Create new project
version Print Scrapy version
view Open URL in browser, as seen by Scrapy

[ more ] More commands available when run from project directory

Use “scrapy <command> -h” to see more info about a command