2.在Linux上讀取5DT感測手套的資訊
2-1.下載並安裝driver
首先呢,先進入5DT感測手套的官網,下載5DT在Linux上運行相關的driver[1],之後,進入路徑:
5DTDataGloveUltra_SDK_Linux_32and64bit_v2.32_25March2011/fdGlove/install並依照你的Linux版本做選擇,我使用的是64位元,而這讓我嘗盡了苦頭QQ,因為很多東西都只有支援32位元,不過我還是有找到解法拉~這待會會再提到的。
在這裡開啟終端機,輸入指令:
ls
這裡可以看到三個檔案都是白色的,代表不能執行,所以我們輸入指令:
chmod +x install.sh
ls
再次輸入ls後可看到,install.sh可執行了!開始安裝!輸入指令:
./install.sh
安裝完成囉~接著來測試吧!
2-2.使用預先寫好的附加程式來測試
接著來到路徑:
5DTDataGloveUltra_SDK_Linux_32and64bit_v2.32_25March2011/fdGlove/examples
ls
發現和剛剛一樣全部都是白色,所以也用同樣的方法讓polling可執行吧!輸入指令:
chmod +x polling
ls
接著執行polling,指令:
./polling
我們可以看到一段錯誤指令,沒錯這就是我使用64位元碰到的問題,以下開始是我的解決辦法,找了非常久才解決,心血結晶阿~供大家參考看看吧。
2-3.試圖解決版本問題與其它問題
輸入指令:
sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install lib32stdc++6
安裝32位元函式庫,接著將資料夾中除了polling.cpp以外的東西都刪掉,沒錯,刪掉!!!我試了一個下午的結果是它們沒救了,只好自己砍掉重練。
gcc -c polling.cpp
gcc -o polling polling.o
這時候可能會出現錯誤訊息,未定義到...之類的,我們再次到路徑:
5DTDataGloveUltra_SDK_Linux_32and64bit_v2.32_25March2011/fdGlove/install
複製libfglove.so檔,放到路徑:
5DTDataGloveUltra_SDK_Linux_32and64bit_v2.32_25March2011/fdGlove/examples/polling,並將指令改為:
gcc -o polling polling.o ./libfglove.so
編譯動作 |
現在看路徑:
5DTDataGloveUltra_SDK_Linux_32and64bit_v2.32_25March2011/fdGlove/examples/polling./polling
然後它會提示用法錯誤訊息(這個建議大家可以去了解一下怎麼做到的,cpp檔中有提到),改指令為:
sudo ./polling /dev/usb/hiddev0
要記得先插上的手套(一隻就好)到電腦的usb插槽喔~
如果無法順利執行,很大一部份原因是因為權限不夠的問題,請在執行前先輸入指令:
如果無法順利執行,很大一部份原因是因為權限不夠的問題,請在執行前先輸入指令:
sudo -S chmod 666 /dev/usb/hiddev0
2-4.修改polling.cpp
大家會發現預設的程式只會跑5秒鐘左右,我們可以修改polling.cpp的內容來達到我們的需求,coding力是你的超能力!基本上程式的語法不會太過困難,有些cpp基礎應該就行了!這是我的程式碼[1],由於會牽涉到下一篇講到的東西,所以可以先看重點就好,只要小改迴圈一下讓它一直跑就好,提供給大家做參考~
如有問題可以留言大家一起討論,留言請勿出現不雅言語與無端謾罵喔~
If u have any question,just leave comments to me.I will answer u as soon as possible,but don't be mean to me.Thanks!
沒有留言:
張貼留言