艾鍗學院BLOG
在台灣有一個單位是專門在為工程師設計培訓課程
2013年11月25日 星期一
2013年11月18日 星期一
2013年11月14日 星期四
艾鍗學院 自平衡機器人專題開發幕後花絮
http://www.youtube.com/v/E5sLgBWVfHM?autohide=1&version=3&attribution_tag=9Oazx0VMv0yj5KMeu7bazg&autoplay=1&feature=share&autohide=1&showinfo=1
2013年11月11日 星期一
BeagleBoard系統安裝
BeagleBoard系統安裝 -
艾鍗學院筆記
艾鍗學院筆記
1.SD卡格式化
參考網站
BeagleBoard-xM
教學筆記 - 安裝(重灌) Angstrom Demo 及 microSD 格式化筆記 @ Ubuntu 10.04
a.下載mkcard.txt 將SD卡格式化,SD卡不一定在sdc的裝置上,要視情況更改。
sudo sh mkcard.txt /dev/sdc
b.有時候格式化完成之後還是會認不到SD卡上面的Boot的分割區,需要再下這行指令
sudo mkfs.msdos -F 32 /dev/sdc1 -n boot
sync
成功之後在PC插上SD卡,會看到兩個分個區/media/boot與/media/Angstrom
2.安裝Angstrom Linux與OpenCV2.2
a.從Narcissus網站http://narcissus.angstrom-distribution.org/自動產生MLO、Boot、uImage與roofts
可參考這個網站的設定,可根據需要自行調整。
Angstrom-Narcissus
Online Image Builder running OpenCV
b.將Narcissus產生的檔案複製到SD卡的boot分割區
# extract the files to the ./boot directory
tar --wildcards -xzvf [YOUR-DOWNLOAD-FILE].tar.gz ./boot/*
# copy the files to sc-card boot partition.
cp boot/MLO-* /media/boot/MLO
cp boot/uImage-* /media/boot/uImage
cp boot/u-boot-*.bin /media/boot/u-boot.bin
sync
tar --wildcards -xzvf [YOUR-DOWNLOAD-FILE].tar.gz ./boot/*
# copy the files to sc-card boot partition.
cp boot/MLO-* /media/boot/MLO
cp boot/uImage-* /media/boot/uImage
cp boot/u-boot-*.bin /media/boot/u-boot.bin
sync
c.將Narcissus產生的檔案複製到SD卡的Angstrom分割區
sudo tar -xvz -C /media/Angstrom -f
[YOUR-DOWNLOAD-FILE].tar.gz
sync
sync
sync
umount /media/boot
umount /media/Angstrom
umount /media/boot
umount /media/Angstrom
將SD卡插入BeagleBoard,第一次開機的時候會進行設定,要等一段時間才能夠開機成功。開機成功之後就可以在Beagleboard上面寫OpenCV相關應用程式。
可參考下列兩個網站
How
To Install openCV on a BeagleBoard-XM with Angstrom OS
Installing
Angstrom on the BeagleBoard-xM
3.安裝OpenCV2.4
只有OpenCV2.4才有提供人臉識別的功能,若要使用人臉識別功能就必須更新到OpenCV2.4。
a.更換標頭檔案
將OpenCV2.4資料夾下的opencv與opencv2資料夾蓋過 /usr/include 下的opencv與opencv2。
b.更換lib檔案
可將OpenCV2.4資料夾下的lib資料夾中的檔案放到 /usr/lib
也可以自行重新編譯OpenCV2.4 Cross
compile或直接在beagleboard板子上面編譯。
可以參考這個網站
Building
OpenCV for ARM Cortex-A8
4.系統安裝參考資料
BeagleBoard-xM
教學筆記 - 安裝(重灌) Angstrom Demo 及 microSD 格式化筆記 @ Ubuntu 10.04
How
To Install openCV on a BeagleBoard-XM with Angstrom OS
Installing
Angstrom on the BeagleBoard-xM
Angstrom-Narcissus
Online Image Builder running OpenCV
Building
OpenCV for ARM Cortex-A8
5.注意事項
l
若使用直接複製SD卡的方式安裝系統,登入id為root密碼為ittraining。
l
Angstrom Linux預設螢幕保護程式,十分鐘以內沒有動作螢幕會沒有訊號。
l
要在
/etc/profile 加入 export DISPLAY:=0
將Beagleboard的輸出設定為螢幕。
l
避免在接上電源的情況,在HDMI界面熱插拔,易造成板子損壞。
2013年11月8日 星期五
Differences between I2C and SMBus
Differences between I2C and SMBus
In general, the I2C bus and SMBus are compatible, but there are some subtle differences between the two that could cause some problems. The following table summarizes the differences between the two buses.
SMBus | ||
---|---|---|
Minimum | none | 10 kHz |
Maximum | 100 kHz (Standard mode) 400 kHz (Fast mode) 2 MHz (High Speed mode) | 100 kHz |
Timeout | none | 35 ms |
SMBus | ||
---|---|---|
VHIGH | Fixed Voltage: 3.0 to VDD_max + 0.5V VDD Relative: 0.7 to VDD_max + 0.5V | 2.1V to VDD |
VLOW | Fixed Voltage: -0.5V to 1.5V VDD Relative: -0.5 to 0.3VDD | to 0.8V |
Max Current | 3 mA | 350 µA |
For more detailed information, check out:
2013年10月31日 星期四
Busybox 啓動Telnte Daemon
Busybox選單有詳細的說明使用步驟,所以我下面列那些東西都是從busybox內的說明照抄的
建立步驟如下
(1)先確定linux kernel config中有UNIX98_PTYS和DEVPTS_FS
(2)確定busybox conifg有LOGIN和FEATURE SUID
(3)在目標板/dev資料夾下建立pts資料夾和製作ptmx character device node,範例如下
(1)先確定linux kernel config中有UNIX98_PTYS和DEVPTS_FS
(2)確定busybox conifg有LOGIN和FEATURE SUID
(3)在目標板/dev資料夾下建立pts資料夾和製作ptmx character device node,範例如下
(4)下指令mount –t devpts devpts /dev/pts
(5)新增user root(adduser root)
(6)修改/etc/passwd(root::0:0:root,,,:/root:/bin/sh)
(7)啟動telnetd(telnetd &),然後從遠端telnet到你的目標板並輸入帳號root即可使用shell,畫面如下
(5)新增user root(adduser root)
(6)修改/etc/passwd(root::0:0:root,,,:/root:/bin/sh)
(7)啟動telnetd(telnetd &),然後從遠端telnet到你的目標板並輸入帳號root即可使用shell,畫面如下
2013年10月29日 星期二
C程式 平方根
C程式 平方桹
#include
#include
main(){
float a,x=1,y;
int i;
printf("input a:\n");
scanf("%f",&a);
for(i=0;;i++)
{
y=x;
x=(x+a/x)/2;
if(fabs(y-x)<0 .0000001="" nbsp="" span="">
break;
}
printf("sqrt(a)=%f",x);
}0>
#include
#include
main(){
float a,x=1,y;
int i;
printf("input a:\n");
scanf("%f",&a);
for(i=0;;i++)
{
y=x;
x=(x+a/x)/2;
if(fabs(y-x)<0 .0000001="" nbsp="" span="">
break;
}
printf("sqrt(a)=%f",x);
}0>
訂閱:
文章 (Atom)