發表文章

目前顯示的是 2012的文章

Ubuntu 12.04下安裝 OpenNI, NITE, Asus Xtion

圖片
首先要去抓3個檔... 當然是在這 http://openni.org/ 在down load裡有分source跟module,請到module裏去抓... 一共要抓3個....unstable,stable 都可以...I took some risk... 1.open NI binaries: 這是第一個要裝的....選好正確的版本... 2.OpenNI middle ware, 就是NITE,這個是prime sense提供的, 聽說以後會有android版本... 3. hardware driver: 基本上Asus Xtion 是 native supported by OpenNI, 所以直接從Open down load prime sense的 driver就可以了...Kinect需要用其他修改過的driver 4.都down下來後, 開terminal 去解這三個... tar xvjf file-name.tar.bz2 5. 解開後, 是這樣: 在 terminal下, cd 到各個file folder裡, 會發現都有一個 install.sh 請先從 OpenNI - Bin 開始裝:就用 sudo ./ /OpenNI-Bin-Dev-Linux-x86-v1.5.4.0$ sudo ./install.sh 再來裝 NITE cd 到:/NITE-Bin-Dev-Linux-x86-v1.5.2.21$ 一樣: $ sudo ./install.sh 最後裝:hard ware driver: cd 到 : /Sensor-Bin-Linux-x86-v5.1.2.1$ 一樣: $ sudo ./install.sh 裝完了, 接上Xtion....來試試吧... /OpenNI-Bin-Dev-Linux-x86-v1.5.4.0/Samples/Bin/x86-Release 裡有一些 example...綠色的... 用 ./ 去執行... 試試 NiViewer... 有了...左邊是深度圖ㄝ.... NITE有有一些好玩的 sample.... /NITE-Bin-Dev-Linux-x86-v1.5.2.21

救回我的i9000聯絡人

圖片
想刷 ics 4.0, 先用了samsung KIES來把資料都備份起來, 好不容易裝起來了, 想說再接回KIES去把備份輸回來... 神啊, KIES就是不認我的i9000.... 我試可以找到備份起來的檔案...一個.sbu的檔案... \Documents\samsung\Kies\Backup\GT-I9000\xxxxxxxxxxx.sbu 可是怎解啊? 這位先生寫了一個 program可以把 .sbu裏的聯絡人拉出來成Vcard.... 這樣就可以再匯進去手機了 https://www.lord-luncher.de/index.php?pg=2 輸出時會問要不要整成 single file, 選不要....就會有一堆vcard... 再copy到手機的sd card, 就可以用匯入的方法搞定...

PandaBoard Android 4.04 adb connection in Windows

圖片
一般用Pandaboard的人多會使用 linux/Ubuntu來做 host, 在使用 miniUSB當 Android Debugging Bridge 應該都沒有 driver的問題.... 但是當想在 windows下以 ADB來連線, 一般來說都會google到, http://www.omappedia.org/wiki/Support_Tools#Android_Gadget_ADB:_Windows_PC_Host 裡面有一段怎樣裝 driver: Android Gadget ADB: Windows PC Host 基本上要裝 Android SDK.... 他又說最紹最少要裝: 4. At a minimum install the following packages: Tools -> Android SDK Platform-tools Extras -> Google USB Driver 因為 adb 的執行檔就在 platform-tools裏...最好是把這個path加到系統的path裏.... 另一個當然是driver囉.... 接下來會說要增加這個file, 寫入0x0451, type出來確認有寫進去... 6. Create a file "%USERPROFILE%\.android\adb_usb.ini" > echo 0x0451 > "%USERPROFILE%\.android\adb_usb.ini" > type "%USERPROFILE%\.android\adb_usb.ini" 0x0451 下一步說, 把 pandaboard 的 PID/VID加進來driver裏... 7. Edit android_winusb.inf (found in C:\Program Files\Android\android-sdk\extras\google\usb_driver on a Windows XP installation) to match TI vendor ID and USB Gadgets product ID's: Under [G

Linaro = Creating your own image =

每次linaro 每次上都會說: Install instructions There are two methods to install linaro builds: using pre-built image creating your own image with linaro image tools 這次打算用 android 4.0 for pandaboard 1207來試試.... linaro image tools.... http://releases.linaro.org/12.07/android/leb-panda/ 這一堆是拿來 down load files...terminal 裡照著打都沒事,網路正常就會抓... $ wget http://releases.linaro.org/12.07/android/images/panda-ics-gcc47-tilt-tracking-blob/boot.tar.bz2 http://releases.linaro.org/12.07/android/images/panda-ics-gcc47-tilt-tracking-blob/system.tar.bz2 http://releases.linaro.org/12.07/android/images/panda-ics-gcc47-tilt-tracking-blob/userdata.tar.bz2 安裝:linaro image tools 說方法有兩種, 我只會第一種....一樣在terminal裡打.... $ sudo add-apt-repository ppa:linaro-maintainers/tools $ sudo apt-get update $ sudo apt-get install linaro-image-tools 也會裝完.... 再來放進去SD CARD,看看是哪一個device,我的是 /dev/sdb, 照著打.... sudo linaro-android-media-create --mmc /dev/sdb --dev panda --system system.tar.bz2 --boot boot.tar.bz

Copy SD 開機片

老是在做這些開ㄐ片著得很煩.... 總是覺得應該要可以用copy的..... 這個老外用beaglebone 做了示範.... h ttp://borderhack.com/?p=1062 我也照著做了一次, 用在pandaboard 上.... dmesg看好sd card的掛載點, 之後 umount 它... 其實不 umount也沒關係, 因為怕去動到, 就umount吧... 假設是/dev/sdb $sudo dd if=/dev/sdb of=sdbackup.img 就這樣就可以了.... 有人會加上 bs=4M or bs=8M 這是在指定一次讀取的大小.... sdbackup.img這個file就算沒有, 也會自己產生 要把file燒回去就下: $sudo dd if=sdbackup.img of=/dev/sdb 缺點是....要燒很久..... 不過是可以開機的....

製作Linaro Android 4.0 開機片 for Pandaboard ES 12.07

圖片
這個是這裏來的....google 來的... http://releases.linaro.org/12.07/android/leb-panda/ 作開機片有兩種方法, 一種是直接用image, 一種是down file下來complie... 我先從簡單的來吧.... Using pre-built image # Insert SD card and note the assigned '/dev/sdX' or '/dev/mmcblk0' $ dmesg $ SDCARD=/dev/sdX # sdcard found from dmesg above $ wget http://releases.linaro.org/12.07/android/images/panda-ics-gcc47-tilt-tracking-blob/panda-ics-gcc47-tilt-tracking-blob.img.gz $ gunzip panda-ics-gcc47-tilt-tracking-blob.img.gz $ sudo dd bs=4M if=panda-ics-gcc47-tilt-tracking-blob.img of=$SDCARD 要先把SD card插進去, 用dmesg下去看看是掛在哪個device下... 例如, 如果看到sdb2, 那就打SDCARD=/dev/sdb 去指定SDCARD 那個wget 是把檔案down load 下來....很長的名字....打錯就會找不到檔案 接著的那行當然是把檔案解壓縮囉.... dd應該是diskdump....就把檔案跟格式放進SD裏 理論上是這樣就可以了..... 可以boot起來, 可以boot 起來,不過HDMI的顯示歪歪的... 這就讓人很挫折....是怎樣....版本不對嗎? 仔細看一下linaro release的版本... http://releases.linaro.org/ 好, 這個有點像是以年月來分release的... 點那個最新的12.07,有分Android, Ubuntu, 那個component 我不知道是啥... 點進去 Android....一堆

改變開機時GRUB的default

我的11.04是跟windows一起裝的, 開機時會先跑ubuntu的Grub(奇怪, windows的開機選單好像被幹掉了...) grub的開機default當然是ubuntu, 這樣對有時window update driver後重開會跑到ubuntu(如果沒在前面顧) 參照這篇: How-to Change Boot Order in Ubuntu 11.04 關於grub的選項都是在一個 grub.cfg file裏... 不過這個檔不能直接修改ㄝ,是要去改這個檔:/etc/default/grub 亂搞之前先做分copy...sudo cp /etc/default/grub /etc/default/grub.bak 必要時可以這樣co 回來... sudo cp /etc/default/grub.bak /etc/default/grub 改玩得時候用 ls -A就會看到這個.bak檔 要edit這個grub: gksu gedit /etc/default/grub 裏面有許多選項....其中: GRUB_DEFAULT=0 就是開機時的default選項, 0代表第一行的選項....對, 他是從0開始排.... 或著是改成: GRUB_DEFAULT=saved 這樣以後就可以用:(這個我還沒試) sudo grub-set-default 1 或 sudo grub-reboot 1 去改.... 這個 web 說,如果再加一行: GRUB_SAVEDEFAULT=true 那就會根據上一次的OS去開.... Edit 完 grub之後, 存好離開要跑一下: sudo update-grub 這樣就會改到 grub.cfg了

Ubuntu 下安裝google Chrome

google chrome我是用的很順手, 也有可以下在linux用的 .deb檔ㄝ可是就是不能用內建的軟體中心裝起來....起碼我的11.04不行.... 這時要用terminal 裝.... 我是看這篇.... http://www.howopensource.com/2012/05/install-google-chrome-in-ubuntu-12-04-precise-with-debain/ down load來的檔案在 下載裏, $ cd Downloads 做這行... $ sudo dpkg -i google-chrome-stable_current_i386.deb 如果有相關的沒裝, 就打這行去抓... $ sudo apt-get -f install 這樣應該就OK了...

Pandaboard ES and Android 4.0

圖片
這次要做的是Pandaboard ES 上的 Android 4.0的SD CARD 首先要找一塊最少4GB的SD card, 根據他人說法還是用SanDisk 聽說有很多方法可以做開機SD CARD, 不過我是先到 http://pandaboard.org/ 找 resources 裏面的software - Android 選項裏會帶出 OMAP Android Main 這裏會介紹一種方法, 跟之前寫 UBUNTU SD CARD的方法很像..... 這些open source的方法還真是多, 這個 omappedia.org/wiki似乎很齊偶.... 可以找到:Android on OMAP PandaBoard Quick Start with Pre-Built Binaries, 會帶你到一 Android_Panda_Pre_Built , 其實裏面說的就是 Linaro.org爲pandaboard 做的版本 繞了一大圈, 最後是到 http://www.linaro.org/downloads/1204 Open source雖然資源豐富,不過要確認可以用,或是自己看得懂得,還真是最大的困難.... linaro的 android 4.0支援一堆platform,找到我要的pandaboard,點進去就有完整的說明.... 我就直接使用pre built image....其它的有點難 基本上會需要一個Ubuntu的環境,使用terminal的環境, CTRL-ALt-T叫出terminal.... 我把SD CARD用format處理了一下....參照 這裏 先用df -h找出SDCARD是掛在哪裏, umount 它,再用這個command... sudo mkdosfs -F 32 -v /dev/sdb2 退出再插入....mount.... 約分成兩部: load prebuild image到SD CARD $ dmesg $ SDCARD=/dev/sdX # sdcard found from dmesg above $ wget http://releases.linaro.org/12.04/android/images/panda-

Pandaboard and Ubuntu 11.04

圖片
最近因為工作的關係, 開始碰 TI OMAP的板子... Pandaboard 其實我一點都不會.... 這幾塊ARM+DSP都是號稱mobile computing....很多人是為了android來弄這塊的.... panda跟beagle都有強大的社群資源, 不論你是android或是linux, 都可以有很多的網路資訊.... 我對linux完全不算熟悉, 但是從以前就有試著裝過, 不過都覺得不好用, 生硬的介面也讓我一路退回windows... 直到日前為了弄omap, 在PC上架了Ubuntu, 發現現在的linux已經完全不一樣了.... 一台PC上先裝了windows, 在裝上ubuntu也是可以直接在ubuntu的CD裏做, 雖然硬碟規畫的效能差一些, 不過還是蠻適合我這種人... 加上新的內建office已經可以完全正確的開啟windows office file, 不像以前的open office,開起來總是怪怪的... 要把Ubuntu 架上 pandaboard也不是太困難的事, 很多都有pre build的image, 現在是如何把image放到SD card(聽說一定要用sandisk的SD), 然後放進pandaboard 開機... 說來很簡單, 不過對於我這linux白癡, 可是大事一件.... 有人是在windows 下用 win32 ImageWriter去把down load下來的file寫進去SD... 我一直出現問題, 在於 down load 下來的image, 解壓縮後是.raw的file,就算改附檔名為 .img image writer也是一回個error 123給我.... 最後是回到ubuntu下, 照著command打, 才搞定.... 這個texas大學的教學, 是我覺得最好上手的.... How to Install Ubuntu on the Panda Board 寫SD card需要一些時間.... 放上pandaboard, 接螢幕, mouse/keyboard就可以開了...

SD-10G and DSM 改!!

圖片
自從9XII的30個Model被我記滿了後,就在找新的搖控器.... SD-10G的外型不怎麼樣, 但是開放的功能卻是非常的多....原機雖然只有20個model, 但是有幾個方法可以解.... 1. SD-10G有TX跟RX的pins, 可以down load到PC, 也可以再load回去... DRMA大大的部落格有詳細記載 , 我有量過,那兩隻腳都是3.3V的...但是傳輸的protocol不明, 只知道是uart... 2. 用 memory card, 插在上面就擴到60組....及時讀取...也可以再用一片去做back up,這樣對我來說是最好的....SD card都不見得比這好 改天應該把內容讀出來, 看看有沒有辦法看得懂... 很多人常在latency上考慮很多事情, 但是latency是個整體面上的考量, 這一部分 Sanwa 的 FH3我覺得很有用心, RF 的packet rate已經很優了,他進一步在servo signal 的 update rate 上做改進... 一般2.4G不管在RF的改善如何, 最後到receiver對servo那裏的update rate都是20~23ms, FH3的接收機把這個部分縮到7.5ms....這部分就會讓"人"感覺到servo變快了...前提是analog servo沒有燒掉的話....數位的當然就沒問題了.... 細節的部分請參照 DRMA大大的 blog . 接下來要把DSM的module裝到SD-10G裏面.... 在 DSM2-心得2 裏, 我已經順利解決frame rate的問題, 目前訂在20ms,一切正常...有空再來縮到10ms看看....聽老外說也可以....不知道receiver那頭update rate會不會變..我相信可能可以改善, 不過應該有極限....因為receiver的MCU應該也是用timer interrupt去生成各channel的PWM...total cycle應該有限吧.... 我後來有把code改成一個LED燈, 正常時恆亮, 配對時閃爍, 沒有PPM時久久閃一下... 接下來就是拆!! SD-10G算是好拆的, 後面有4顆螺絲, 解開可以拆下背板, 上面把手附近有兩顆螺絲, 拆下可以拿起上蓋...

burining Arduino bootloader with FTDI

圖片
每次要燒錄bootloader時都要上網找一下才會想起當時是怎麼燒的.... 試了很多方式, 用得最順手的是這個 Kimio Kosaka寫的 FTDI BITBANG mode... 基礎都是 Avrdude , 這個程式要跟 avrdude.conf 還有這個 avrdude-GUI 都放在同一個資料夾下, 這樣比較不會找不到file 1.首先解開 serjtag-0.3 2. 把這個目錄下的\serjtag-0.3\ 的binary刪掉.... 3. 把上面copy下來的 avrdude.conf copy 到 \serjtag-0.3\avrdude-serjtag\binary 把原來的蓋掉... 這個down load下來的有修改 ftdi 232的燒錄參數,也有支援 328P 4. 把那個avrdude-GUI野放到這裡 \serjtag-0.3\avrdude-serjtag\binary 5.直接執行 avrdude-GUI 硬體上是利用FTDI的IO來做燒錄的控制,對應如下...168P miso PB4; # CTS X3(1) sck PB5; # DSR X3(2) mosi PB3; # DCD X3(3) reset PC6; # RI X3(4) CTS/DSR/DCD/RI是FTDI 232R的腳位... 最後那個1234就是Duemilanove上X3 connector上的腳位: Arduino上面的ICSP pin define是這樣... 如果是要燒DIP得那就這樣接就行了... 打開avrdude gui,照這樣設... Port那一格留白... 第一次燒錄的新chip說只能用 4800的baud rate. 但是燒過一次的就可以把 -B 4800拿掉... avrdude的command大小寫有不一樣的定義....一定要照著打... 接下來先讀fuse bits... Fuse的設定跟chip的momory/clock等都有關,168跟328就不一樣, 不同的設定也會不一樣....arduino: chip/ Hfuse/ L fuse/ e fuse/ lock bits 168P/

導風扇的動平衡

圖片
以前總認為動平衡是個超難的東東.... 第一次看到土法動平衡是在阿郎那, 那時就看他組好風扇, 拿在手上,上電轉起來, 再拆下來,在扇葉上的小孔插牙籤, 再轉....做到他滿意為止....原來他就是在做動平衡啊!!左方是他的導風扇, 你可以看到扇葉上有很多孔... 後來, 很多人都用平衡槳用的東西來做導風扇的靜平衡, 我也這樣做了幾次, 對於7cm以內, 效果我覺得算是不錯了.... 一直到這個4"的導風扇, 扇葉的孔跟扇葉都太大了, 超過我靜平衡的能力...這種大功率的不做平衡基本上是很危險的....這家浩業的導風扇台灣也有人賣, 我在RCgroup上看到許多人用4"~5"的灌給他5Kw...但是要小心, 結構還是沒有很好...中間固定馬達的地方一定要再補強, 我是學老外用合板切了一塊大小一樣的黏上去...這地方如果不小, 一但高速震動起來, 槳葉打到筒身就爆了..... RCgroup上有篇非常好的文章, How to dynamically balance EDF unit with a cell phone , 理論與實際兼顧, 有水準!! 原理是這樣的: 導風扇的馬達(跟槳夾)有自己的不平衡, 槳葉也有他自己得不平衡...這是很正常的... 第一步是找出先對的角度, 讓兩者的不平衡, 能盡量抵銷... 再來是加上配重把這最後得不平衡, 平衡掉.... 原作者是用smart phone裏的 G sensor, 配合iphone的程式去把G值輸出到PC上, 再用excel去求標準差... 標準差是一堆數值的離散度, 基本上就是工程上的震動... 我們的導風扇的震動基本上, 有大小跟離散度...大小會跟著轉速不同而變, 所以測量時必須都在相似的轉速...實驗的結果, 震動變大時標準差也會變大... 身為arduino 的愛好者, 手上又有版子 上面有ADXL345的g sensor, 當然是自己來搞....更棒的是....已經有人在arduino上寫好 標準差的library 了... 第一步是把槳夾鎖上, 做好記號...我用簽字筆上了紅藍兩色, 槳葉上配合孔洞我也用簽字筆寫上編號1~7(看的見就好了) 左邊那個小綠版子就是

DSM2 讀書心得 2

圖片
上次根據RC group上的討論做了一個給Futaba FF9用的DSM2 用的low power module後, 信心大增... 傳說DX4e裏的module是full range的, 弄了一個來看看....沒錯....18dbm..... 背面.... 產線上裝配時應該是先用雙面膠黏起來,再焊排針的....拆的時候, 我先用尺把泡棉雙面膠搞破, 再在排針面上一堆錫, 來回加熱 慢慢拔起....要小心... 這個module除了是full range外, 他還支援DSMX.....我沒有很清楚DSMX跟DSM2是改了哪些地方...但是這個模組是兩者共用的,應該是軟體的差異.... RC group上給 futaba 用的chematic是這樣接的...這個先生的code使用了arduino的 internal pull high, 所以沒有pull high D8... 這回要接的是SD-10G, SD10G的PPM 訊號型態跟futaba相同, 但是信號準位約在6~8V,要看當時的電池電壓.... 我第一次試著用10K可變電阻去分壓, 不知為何, 一接上去, 訊號元的準位就低到一個不行....放棄.... 改用這樣接, 將D8 pull high到3.3V(我還是用3.3V的8Mhz pro mini), 再接一個蕭基特二極體, 這樣當PPM low的時候就會把D8 拉到low了... 這樣也有個問題, 那個 Low的時候, 不會到0V,而且跟pull high的阻值有關...可能是跟SD-10G PPM signal的內部線路有關吧...我試過,那個電阻約4K, arduino就能讀到信號了....最後我是拿17.8K(因為手頭上只有這個),這時low的準位看起來比較好.... 接好後, 程式看來也沒問題, C2PO的程式有個debug的選項, 可以先在PC上用serial monitor用115200去看要傳的資料有沒有對.... 幾個小心得: 1.使用debug,請把原來的#define DE_BUG 改成 #define DEBUG 2. 他的程式有rising edage跟falling edage選項, ( 很奇怪 他把Sanwa歸類跟JR成falling edage, 可是我的情況是跟futaba一