2007年1月2日

自走車計畫展開

2007年的新計畫是什麼?

我個人來說,我打算開始做8051自走車了。
說起來有些給它丟臉,一直以來都覺得8051自走車很過時,之前還嚴厲批判過8051自走車早該進垃圾桶了,但是,我的新計畫竟然是要做它。

說起來,在高職時,我就去參加過自走車比賽,不過很可惜的,當時的軟硬體都是老師做好的,我們算是掛掛人頭罷了。
話說回來,很多人也許在想,都幾歲了,都什麼年紀了,還要搞8051自走車,也太遜了吧,甚至會有人開始說,那東西簡單了,我都做過了........麻煩這種人來封信吧,給點意見... :D

我的目標很大,我真正希望做的,是把ARM開發板放上去的自走車,而且我希望作坦克車,打算用遙控坦克車來改,在加入了ARM之後,我要有Webcam和Wireless的能力,進一步做出智慧型的車子來玩........
完成了,接著把遙控船抓來改,都放在那邊發霉很久了,對它很不好意思~~
因此我打算分三階段來做:
第一階段先完成8051部份的東西,像是重要的電源電路和感測電路,電源電路完成後,更換更大的元件,用在ARM開發板上,感測元件則和8051的相同,要接上ARM開發板。
第二階段,依據遙控車來做馬達控制,也就是可能會直接跳過達靈頓電路為主的電流放大馬達驅動電路。
能夠完成到這裡,車子大概也差不多了,接著才會開始動船的主意,畢竟船和車子不同,出去了,會回不來低...... :p

以上是我的新年新希望。 :D

新NX 使用心得

2007年到了,在2007年的開始第一天,我做了什麼?

我把我的MythTV重新裝了幾次,因為之前的160G硬碟損毀(過熱),雖然上面沒有影片、沒有MP3,但是上面有之前的所有過程設定檔,一切都要重新來過..... :(

另一方面,也很幸運的把NX的遠端聲音播放弄出來了,加上之前網路分享測試過的,NX的幾個重要機能都try出來了,下面是加入聲音播放的使用心得。

====================================================
NX 使用心得:

NX 是由 NoMachine 這家公司推出的技術,
NoMachine 很大方的將它們的核心技術 NX 以 GPL 的方式開放,
而 FreeNX 則是網路上 OpenSource 社群以 NX 技術為基礎開發的 OpenSource 程式,
目前來說,NoMachine 和 RealVNC 類似,有提供一個免費的版本供人使用,
而 FreeNX 和這個版本相比,目前差異性並不大,
而且網路上的教學,大部分的說明在安裝 FreeNX 的同時,
也是要裝這版免費版,以取得其中的核心 NX 技術來用。

而我自己的使用上,FreeNX 是不會動的,
而 NX Free Editor 則運作順利,且異常容易安裝,
讓我還以為是不是有什麼陷阱.... :p

NX 在 Debian 上得安裝十分容易,
我這邊簡單列出步驟,詳細就不說了~~

1.下載 NX Free Editor 的 NX Server
下載 NX Node
下載 NX Client
上述的 Linux Debian deb 版本

2.依序安裝 NX Client -> NX Node -> NX Server,
在安裝時,會說有相依套件沒裝,此時不用擔心,直接進 aptitude,
接著按「g」,它就會自動把相依套件裝上去

3.設定 /usr/NX/etc/node.cfg,加入
AGENT_EXTRA_OPTIONS_X = "-fp /usr/share/fonts/X11/misc"

原因是,現在的 Debian 在 testing 或 unstable 都已經是 X11R7 了,
對字型的目錄已經改過了,這邊需要指定字型目錄,我是隨便找個字型目錄,
可以用了我就沒在意差異性了~~~

4.按照網頁
http://www.lxnaydesign.net/index.php?option=com_content&task=view&id=92&Itemid=2

解說來進行修改,不然會造成在 X-win 當中,鍵盤完全沒反應(本機、NX 均是),這是 NX 的 bug~~

5.輸入法問題設定
輸入法問題,還是得用 script 的老方法來解決,解法和 VNC 極為雷同,
在 /usr/NX/bin/ 編寫兩個 script 檔,用來對應到 KDE 和 GNOME 的啟動,分別如下:

/usr/NX/bin/KDE.sh
=============================================================
#!/bin/tcsh

setenv LANG zh_TW.UTF-8
setenv XMODIFIERS "@im=SCIM"
setenv GTK_IM_MODULE "xim"
/usr/bin/scim -d
/usr/bin/dbus-launch --exit-with-session startkde
=============================================================

/usr/NX/bin/GNOME.sh
=============================================================
#!/bin/tcsh

setenv LANG zh_TW.UTF-8
setenv XMODIFIERS "@im=SCIM"
setenv GTK_IM_MODULE "xim"
/usr/bin/scim -d
/usr/bin/dbus-launch --exit-with-session gnome-session
=============================================================

寫好之後,變更 script 檔權限,如下:
chmod 755 /usr/NX/bin/*.sh

再來修改設定檔 /usr/NX/etc/node.cfg,如下:


COMMAND_START_GNOME="/usr/bin/dbus-launch --exit-with-session gnome-session"

改為
COMMAND_START_GNOME="/usr/NX/bin/GNOME.sh"


COMMAND_START_KDE="/usr/bin/dbus-launch --exit-with-session startkde"

改為
COMMAND_START_KDE="/usr/NX/bin/KDE.sh"

即可。

PS:
/usr/bin/dbus-launch 的作用是,它類似 WindowsXP 的登入管理員,讓你下次登入時,恢復上次執行的 session。

==================================================================
(2006-09-02)
因為之前用 VNC,把 Port Map 對應到 5901,
在不希望變更設定的前提下,
打算變更 NX 的連接埠設定,
要怎麼改呢?

基本上,NX 使用 SSH 來進行連接,
因此 NX 只會使用「1個」連接埠,
而預設,這個連接埠是 22,
要變更設定,有一點要注意,
那就是 OpenSSH 也要更改,因為 NX 的 SSH 是相依在 OpenSSH 上的。

下面是設定:

1.新增 SSH連接埠 5901
/etc/ssh/sshd_config
=============================================
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
...

改為
# What ports, IPs and protocols we listen for
Port 22
Port 5901
# Use these options to restrict which interfaces/protocols sshd will bind to
...

=============================================

2.修改 NX 的 連接埠 的相關設定,
原則上就是改
/usr/NX/etc/server.cfg
/usr/NX/etc/node.cfg

裡面所有的 22,並把它改為 5901,
這邊要注意的是,改完之後,有註解的要把它拿掉。

改成如下:
/usr/NX/etc/server.cfg
=============================================
....
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHD_PORT = "5901"
....
#
# Specify the TCP port where the SSHD daemon is running on the NX SSH
# authentication server.
#
SSHD_AUTH_PORT = "5901"
....
=============================================

/usr/NX/etc/node.cfg
=============================================
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHD_PORT = "5901"
=============================================

3.重新執行 OpenSSH 和 NX
/etc/init.d/ssh restart
/etc/init.d/nxserver restart

或者心情不好,重新開機也可以~~

即可~~

2007-01-01
==================================================================
新的一年有新的趣味~~


NX 的媒體播放終於測試出來了~~

NX 的影像一開就會放了,但是聲音始終出不來,NX 的聲音怎麼設定?

NX 的聲音部份是使用 esd,也就是 ESounD 這套混音系統,
ESounD 的主要功能是讓 Linux 上多個應用程式能夠同時使用音效卡裝置,
所有的作業系統,通常都只會有一個音效裝置,
要讓一個音效裝置同時給多個程式使用,就需要一個音效系統(混音系統),
因此 Linux/FreeBSD 在幾年前,同時只能有一個程式播放音樂或音效,
這樣的問題和早期 DOS 時代一樣,當進入 KDE/GNOME 後,
因為桌面環境的需要,開始了幾個音效系統的開發,
ESounD(簡稱 ESD 或 esd) 和 aRts 就是兩套當時開始的音效系統,
這類音效系統主要的工作是將所有要播放的聲音進行混音後播放,
因此稱作混音系統~~~

而目前較有名的音效驅動程式有 ALSA 和 OSS,
OSS 是商業的驅動程式,早期提供的很多音效驅動程式都只能試用,
後來逐步開放使用,
ALSA 則是因應 OSS 的發展,開發的 OpenSource 的音效驅動程式,
ALSA/OSS 和 ESounD/aRts 的關係是,ALSA/OSS 提供驅動程式驅動音效卡裝置,
而 ESounD/aRts 則負責讓多個應用程式同時使用 ALSA/OSS。

不過目前的 ALSA 已經很強了,ALSA 本身也內建了混音系統,
儘管說 ALSA 的混音系統聽說不是很好,不過不知道這新聞是多久前的,
一般來說使用上是還ok.......

NX 的多媒體功能,是以 ESounD 為基礎,也就是說,
只要 Linux 能支援 ESounD,NX 就可以遠端聽到聲音,
在現在的 GNOME 上,要開啟 ESounD,
只需要在「桌面->偏好設定->音效」,
在「啟用軟體混音[ESD]」和「播放系統音效」上打勾即可。

而要注意的是,在使用播放軟體時,要注意播放軟體是否支援 ESD,
通常是在安裝套件時會發現,有特別分出 -esd、-alsa、-oss、-arts,
以 vlc 為例,vlc 就有 vlc-plugin-esd、vlc-plugin-arts....等。
================================================