Thursday 30 May 2013

幫網友 Gun 做的 USB Y-Cable 和 12V + 9V 線性牛

上星期, 因為在某論壇登了一則廣告, 有不小網友之後找小弟查詢有關訂做線性牛事宜. 這幾天都忙過不停的回答網友們的查詢. 當中, 有小數網友經查詢後都"夠膽"找小弟代為DIY. 以下便介紹幫網友 Gun 兄做的線性牛和 USB 線.

他的要求不複雜(但要求十分高), 他要兩個電壓輸出, 一個12V給他的解碼,另一個輸出給他的9V 器材.


做法和之前的大致相同, 不重複了, 以下是完成的模樣:




另外, 他也向小弟問到有關 "Y" 型USB線, 剛好我之前做了一條(給自己使用), 於是便借了我的USB Y線給他.前天, 他找我說都想我替他做一條, 但要1米(我的只有0.8米)

材料, mundorf silver-gold 0.5mm 1M x 4

 穿好 telfon tube
包好銅屏蔽

 合體成Y-型線
 穿上第2層銅屏蔽
 穿上蛇皮
 差不多完成

 2013-05-25至29, 共花了三天

Monday 27 May 2013

Cubox for CAS #6 : 安裝 Cubox 的 Linux (下)

之前做好了 Yo 的 Linux image, 開了 Cubox, 找到了 Cubox 的 IP 并可透過 SSH 看到登入畫面, 以下會做一些客化, 包括:
1. 刪去日文的設定
2. 設定 mpd 的 configure 檔
3. 設定 NAS 的 file sharing mapping (在 rc.local 內)
4. 把系統會寫的file 移至 RAM drive 上 (廷長 micro SD 的壽命)

1. 刪去日文的設定
開了機, SSH 入去後 (username = root, password = cubox), 執行:
apt-get update && apt-get -y upgrade; apt-get -y remove --purge language-pack-*; apt-get -y install lighttpd language-pack-en-base; 




再執行:
dpkg-reconfigure locales; export LANG=en_HK.UTF-8; dpkg-reconfigure tzdata; apt-get update && apt-get -y upgrade; echo "export LANG=en_HK.UTF-8;" >> /root/.profile; apt-get -y autoremove; reboot

它會問你當前的 Locale, 只要選 "Asia", "Hong Kong" 便可.

到了最後它會自己 reboot. Reboot 後又 SSH 登入. 再執行:
echo "alias ls='ls -la --color=auto'" >> /root/.profile;
cd /var; mv /var/log /run
ln -s ../run/log log
cd /var/lib; mv /var/lib/urandom /run
ln -s /run/urandom /var/lib/urandom
mv /var/lib/dhcp /run
ln -s /run/dhcp /var/lib/dhcp
mv /root/.bash_history /run
ln -s /run/.bash_history /root/.bash_history
mkdir -p /run/music
ln -s /run/music /music
ln -s /music /var/www/music
2. 設定 mpd 的 configure 檔
執行:
mv /etc/mpd.conf /etc/mpd.conf.org
nano /etc/mpd.conf
(nano 的簡單教學: [轉] 基本 Nano 指南)

Copy & Paste 以下內容 (可用 mouse highlight 下面藍色的字,再按 ctrl-C, 然後把 滑老放標放在 putty 的 nano 內按 right click)
music_directory         "/music"
playlist_directory      "/music/.mpdConf/playlists"
db_file                 "/music/.mpdConf/cubox/db"
log_file                "/run/mpd/log"
pid_file                "/run/mpd/pid"
state_file              "/music/.mpdConf/cubox/state"
sticker_file            "/music/.mpdConf/cubox/sticker.sql"
audio_buffer_size              "8192"
buffer_before_play             "90%"
user                            "mpd"
group                          "audio"
zeroconf_enabled               "yes"
zeroconf_name                  "Cubox"
mixer_type                      "disabled"
filesystem_charset              "UTF-8"
id3v1_encoding                  "UTF-8"

realtime_option {
        memlock                 "yes"
        stack_reserve           "2048"
        heap_reserve            "10240"
        main_priority           "OTHER:0"
        player_priority         "FIFO:52"
        decoder_priority        "FIFO:51"
        update_priority         "OTHER:0"
}

decoder {
        plugin "dsdiff"
        enabled "yes"           # DSD native
}

decoder {
        plugin "dsdiff_native"
        enabled "yes"
        dsdsampleformat "24"
        tagsupport "id3pref"
}

# An example of an ALSA output:
#
audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
        priority        "FIFO:52"
        dsd_usb         "yes"
}
請自行修改粉紅色的內容, 其中,
  • "My ALSA Device" 是你的DAC在MPaD上顯示的名稱
按下 Ctrl+O。再按下 Ctrl+X 離開 nano

離開 nano 之後執行:
chown mpd:audio /etc/mpd.conf

3. 設定 NAS 的 file sharing mapping

nano -w /etc/rc.local
(nano 的簡單教學: [轉] 基本 Nano 指南)

清除原來的內容, 然後 Copy & Paste 以下內容 (可用 mouse highlight 下面藍色的字,再按 ctrl-C, 然後把 滑老放標放在 putty 的 nano 內按 right click)

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
chrt -f -p 53 `pgrep -n cifsd`
chrt -f -p 53 `pgrep -o cifsd`

mount -t cifs -o uid=mpd,file_mode=0666,dir_mode=0766,iocharset=utf8,\
rsize=130048,wsize=4096,\
username=mpduser,password=mpd1234 192.168.0.101:/Music /run/music
service mpd restart
mpc update
find /run/music/USB -type d -empty -delete

exit 0
請自行修改粉紅色的內容, 其中,
  • mpduser 是你打 NAS 上的 music folder 分享的用戶名稱, 
  • mpd1234 是你打 NAS 上的 music folder 分享的用戶密碼,
  • 192.168.0.101:/Music 是你打 NAS 上的 music folder 分享的link,

按下 Ctrl+O。再按下 Ctrl+X 離開 nano


4. 把系統會寫的file 移至 RAM drive 上

執行:
nano /etc/init.d/readonlySetup
(nano 的簡單教學: [轉] 基本 Nano 指南)

貼上以下
#!/bin/sh

### BEGIN INIT INFO
# Provides:          read-only file-system preparation
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: prepare for read-only root FS
# Description:       prepare for read-only root FS
### END INIT INFO

prep_start () {
        echo "Prep for read-only FS"
        echo heartbeat > /sys/class/leds/cubox:red:health/trigger
    /bin/mkdir -p /run/log/lighttpd /run/tmp /run/urandom /run/dhcp /run/music/.mpdConf/cubox /run/music/.mpdConf/playlists
        /bin/touch /run/.bash_history /run/music/.mpdConf/cubox/db /run/music/.mpdConf/cubox/state /run/music/.mpdConf/cubox/sticker.sql
        /bin/chmod -R 777 /run/log /run/tmp /run/urandom /run/dhcp /run/music
    #/bin/mount -o remount,ro /
}

prep_stop () {
        echo "Prep for read-only FS (stop)"
    /bin/mount -o remount,rw /
}

case "$1" in
    start)
        prep_start
        ;;
    stop)
        prep_stop
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 2
        ;;
esac

按下 Ctrl+O。再按下 Ctrl+X 離開 nano

離開 nano 之後執行:
chmod 777 /etc/init.d/readonlySetup
cd /etc/rc2.d
ln -s ../init.d/readonlySetup S10readonlySetup
cd ..
cd /etc/rc3.d
ln -s ../init.d/readonlySetup S10readonlySetup
cd ..
cd /etc/rc4.d
ln -s ../init.d/readonlySetup S10readonlySetup
cd ..
cd /etc/rc5.d
ln -s ../init.d/readonlySetup S10readonlySetup
reboot
Reboot 後, 你可用 MPaD (或任何 mpd controller) 見到 "Cubox".  

設定完成!

Sunday 26 May 2013

Cubox for CAS #5 : 安裝 Cubox 的 Linux (中)

前文講到如何把日本人Yo的 2012-11-08 Linux for Cubox 版本寫上 Micro SD 卡上, 接住要開了 Cubox, 要先找出你的 Cubox 在你家中被分配了甚麼 IP.

如果你家中的是用 Wifi-Router 連接上網, 基本上你可以 login 這 wifi router 的 web admin page, 它多數會有一版可以列出現在網絡上的 devices, 當中你會找到 "cubox" 的. 如果這個方法不行, 你可以用以下的 software:

Windows 上做 IP scanning 有好多FREEWARE個得到, 例如以下呢個:

Angry IP Scanner


找到了 Cubox 的 IP address 後, 下一步是透過 SSH "remote access" Cubox.

如果你是 Mac 用戶,只需在 "terminal" 打 "ssh root@<server ip>" 即可, 例如你的 Cubox IP address 是 192.168.1.10, 你只需開 terminal, 打 ssh root@192.168.1.10, 它便會問你 login 的 password.


如果你是 Windows 用戶, 可以用呢個叫 Putty 的 freeware

1. 打開 putty, 輸入 Cubox 的 IP Address

2. 選左方 menu 的 "Window -> Translation", 再把右方的 "Remote character set" 改為 "UTF-8", 咁先可在 putty SSH 時看到 cubox 上的中文字


3. 選左方 menu 的 "Connection -> Data", 再把右方的 "Auto-login username" 輸入 "root", 咁每當你用 putty SSH 至 cubox 時它便會默認 "root"
 
4.最後回到首頁 (Session), 在 "Saved Sessions" 下輸入 "cubox", 再按 "Save", Putty 便會把你之前入的所有設定記住, 下次你開 putty 時只要 double-click 個 "cubox" session 便可.

5. Save 好便可 click "open", 首次登入時, putty 會要你接受 Cubox 發出的認証, 這是 SSH的保安一部分,只要 accept 它(按"Y") 便可
 登入的 username 是 "root", password  "cubox"

接下來你需要對 Cubox 做一些客化

Friday 24 May 2013

Cubox for CAS #4 : 安裝 Cubox 的 Linux (上)

介紹過 Cubox, MPD, MPaD 等之後, 如果你買左 Cubox, 可以跟以下的安裝方式安裝 Linux 在 Cubox 上.

以下的安裝教學只係將日本的Cubox 玩家 Yo 的文章翻譯, 原文在此: 
http://www.symphonic-net.com/kubotayo/articles/articles013.html#044

假設你係 Windows XP 或以上的用戶...

1. 先下載 ext3 版本的 image: ubuntu-core-ext3版


2. 下載 image writer: Win32 Disk Imager

3. 插入一張 2G 或以上的 micro SD 卡入你的 PC, 以知 A-Data 的 micro SD 卡不能被 Cubox 辨認. Sandisk 和 Transcend 都可以.

4. 打開 Win32 Disk Imager, 如果你用 Windows Vista, Windows 7 或以上, 你要 "run-as-administrator":

5.選取在 Step 1 下載的 image file,
 注意個 drive letter 要係張 micro SD 卡的.
可以按 "Write" 去開始寫入 image 去張 micro SD 卡
等大約5至10分鐘會完成!



6. 可以插張 micro SD 卡入 cubox 個 micro SD 卡口, 插好 LAN 線和電源線便可.

接下來你要找出 Cubox 使用的 IP Address 和透過 SSH 去 remote access.

幫網友 John 做的 12V + 5V 線性牛

之前幫網友 Jacky 做了線性牛, 他用後覺得OK, 咁啱佢識另一網友 John 想揾人做線性牛, 於是小弟替網友 John 做了. 他的要求如下:
- 一個12V 輸出給 network hub (2.5mm)
- 一個12V 輸出備用
- 兩個5V 輸出給 光纖轉換器用

最後我還是做了一個小小的LED燈在箱子背板, 因為如果有任何原因令 fuse 燒了, 他也可以多一個線索.

好了, 訂了材料, 等了數天, 再做了兩天, 前晚終於做好了.









Thursday 23 May 2013

[轉] 沈浸在音樂之中...貓窩工坊DRC: 基礎 -- 阻抗匹配?

沈浸在音樂之中...貓窩工坊DRC: 基礎 -- 阻抗匹配?:

偶爾就見到有人提阻抗匹配這件事,

先看看Wikipedia上怎麼說

    http://en.wikipedia.org/wiki/Input_impe ... io_systems
    Generally in audio and hi-fi systems, amplifiers have an input impedance several orders of magnitude higher than the output impedance of the source device connected to that input. This concept is also called voltage bridging or impedance bridging. In this case,
    Zload, or the input of the driven stage >> Zsource, or the output of the driving stage.
    In general, this configuration will be more resistant to noise (particularly mains hum). Also the loading effects on the driving amplifier stage are reduced. In certain circuits a voltage follower stage is used to match the source and load impedance, which results in maximum power transfer.

以目前主要的音響器材而言,阻抗匹配不太會成為問題,

通常的設計都是輸出者阻抗極低,輸入者阻抗高很多,這目的在讓訊號能完整少衰減的傳遞到輸入者。

例如CD player、DAC、前級擴大機的輸出通常都在100ohm這種等級以下,而前級擴大機、後級擴大機的輸入多在20Kohm以上。

當然也是有些少數的例子,例如Jeff Rowland當年的機器輸入/輸出都是600ohm。

至於擴大機與喇叭之間,這有個詞叫做阻尼因數,也就是喇叭的阻抗/擴大機的輸出阻抗的數值,

一般AB類擴大機這數值沒啥大問題,對D類擴大機而言,問題就比較大,

D類擴大機的最後一級是個LC濾波電路,這阻抗比AB類要大得多,因此D類拿來推阻抗會掉很低的喇叭不太好...

比較需要注意阻抗匹配的該是真空管功率擴大機,

真空管本質上是個高電壓低電流設備,而喇叭這個低阻抗負載,需要大電流,

為解決這問題必須加上個輸出變壓器,將高電壓轉成低電壓,我們知道功率 P=V*I,且能量不滅,因此輸出的電流就放大到能應付喇叭。

那,為何又要分成4 ohm、8 ohm、16 ohm?

這著眼點在功率傳遞,目的在讓喇叭能吃下最大部分的擴大機輸出功率,

這算幾個式子就知道,當輸出變壓器的輸出阻抗等於喇叭的輸入阻抗時,便是喇叭吃到最多功率的時候。

不過,這其實還是有些麻煩,

因為喇叭的阻抗並非固定值,而是隨著頻率而變化,只是在某些相當大範圍頻段可以維持在某數值附近。

[轉] Linux 上玩 CAS: 基本 Nano 指南


前言
 很多時我們要修改 Linux 系統內的文件. 以下轉載一篇有關 nano  的基本用法. "nano" 是 linux 上的文件修改工具, 作用好像 Windows 系統上的 Notepad 一樣.其實在 Linux 上我一般會使用 "vi", 可惜 vi 比較難學難用, 所以還是使用 nano 吧.

關於 nano, 若是想要知道更深入的用法,請參閱: http://www.nano-editor.org
 
開啟以及建立檔案
若是想要用 nano 開啟或是建立一個檔案,輸入:

原始碼 1.1:
# nano 檔案名稱
Nano 與 vi 不同,您可以馬上就開始輸入文字。如果您想要編輯一個像是 /etc/fstab 的設定檔, 請使用 -w 參數,例如:

原始碼 1.2:
# nano -w /etc/fstab
警告: 這非常重要,如果您忘了使用 -w 參數編輯一個設定檔,您的系統可能會出現問題。

儲存以及離開
如果您想要儲存您做的變更,按下 Ctrl+O。想要離開 nano 的話,按下 Ctrl+X。如果您修改後還沒儲存便試著離開 nano 的話,它會問您是否要 儲存起來,若是不要的話,請按 N,反之,則按 Y。如果它請您輸入要儲 存的檔案名稱,輸入後按 Enter 既可。
如果您不小心按到儲存但您卻不想存的話,您可以按 Ctrl+C 來取消。

剪下以及貼上
若是您想要剪下一行,您可以使用 ^k,先按著 Ctrl 後再按 k, 游標的那一行便會消失。若是要貼上,先將游標移至您要貼上的位置,然後輸入 ^u (Ctrl+u) 既可。
如果您想要挑選您要剪下的部分,首先將游標移至要剪下的頭段文字,按下 ^^ (Ctrl+^ 或是 Ctrl+6)。然後再將游標移至您要剪下的尾段,這樣您挑選 的文字便會反白。再次按下 Ctrl+k 剪下,然後按 Ctrl+u 貼上。若是您 想取消反白的文字,再次按下 Ctrl+^ 既可。

搜尋特定文字
當您想要搜尋某個特定文字時,只要想成 "WhereIs" 而不是 "Search" , 事情就變得非常簡單。您只要按下 ^W (Ctrl+w) 然後再輸入您要搜尋的文 字便可以了。

原文出處: http://www.gentoo.org/doc/zh_tw/nano-basics-guide.xml

Cubox for CAS #3 : 介紹安裝MPD 和 MPD 控制器

前面提過,有左 Cubox , 之後仲要有 player (MPD) 同 controller (MPaD) 先可以播歌玩 CAS. 以下我會介紹下 MPD 和它在 Linux 下的簡單控制:

MPD 全名係 Music Player Daemon, 它只是一個在 Linux 下行的 service, 當你開左MPD, 佢會聆聽 port 6600 ,如果收到 controller (如 MPaD) 的指令, 它便會作出反應, 例如播歌.

你可以在任何的 Linux 下安裝 MPD, 有以下幾個方法:
1. 用 package manager (如 Debian 上有 apt-get 指令)
2. Download source file 自己 compile:
http://mpd.wikia.com/wiki/Install

至於MPD 的控制器,如果你用 iPAD, 可以用一個 paid app 叫 MPaD.


如果你用PC, 可以用一個 free app 叫 GMPC

另外, 你也可以透過 SSH 去 Cubox 打指令經 MPC 控制 MPD


簡單指令:
1. mpc update - Update MPD 個 music database
2. mpc play - 播放現在的 playlist
3. mpc ls | mpc add - 加入現在music database中的所有歌入 playlist
更多: http://linux.die.net/man/1/mpc


Wednesday 22 May 2013

Cubox for CAS #2 : 介紹 Cubox

上面講過, 我地要三樣野先通條路(File Source + Player + Controller). File Source 同 Controller 都唔係呢個POST嘅討論重點, 雖然好多人係SETUP上都會係 file source 同 controller 上遇到不小問題...


點解唔用 Mac / PC 大機做? 因為無好處, 大件, 用多左電, 多左noise, 貴D, 又唔會快好多...

呢個POST 主菜係介紹俾大家用一個叫Cubox 的個電腦仔, 除左它, 大家可以好多個選擇, 不過唔係度講了.


Cubox
http://www.solid-run.com/cubox


呢個係由一間以色列公司開發的, 個子十分細小, 只有2寸X2寸X2寸. 有1個 microSD slot, 2個USB 2.0, 1個Gigabit LAN port, 1個 HDMI port, 1個 eSATA port, TSOLINK (音樂光纖輸出) 同 USB Console. 原裝5V外置供電 (switching 牛).
1G / 2G RAM, 800Mhz dual core Arm v7 CPU
如何買? 可以上官網買 :http://www.solid-run.com/store .下單到寄到你家要約三星期.
幾錢? 約$1100 (1G RAM 版本) - $1400 (2G RAM 版本)

幫網友 E 做的線性牛

網友 E 想我替他做一隻有四個12V輸出的線性牛給他的 NAS 、 network hub 和 Modem 等東西使用。
經過數天的制作,終於完成了。





 2013-05-22, 共花了 4天