Bảo mật và IPv6

Một phần của tài liệu Thiết kế, tích hợp và phát triển phần cứng, phần mềm hệ nhúng armadillo 300 cho phép truyền video trên mạng WLAN và mạng adhoc (Trang 26)

Chíp vi xử lý ARM9 hồ trợ chuân SSL và mã hóa IPsec đồng thời cũng hồ

Hình 6 Sơ đồ khối của Armadillo-300

2.2.2 Cách boot board mạch mạch

- Trước hết phải thiết lập jump trên board mạch như hình vẽ, JP1 và JP2 đều về vị trí 1

Hình 8 So’ đồ cáp nối

- Phần mềm sử dụng đế boot board mạch: hypcr terminal; Tera Term Pro (Window PC), hay minicom (Linux).

- Thiết lập các thông số khi boot: Transfer rate: 115,2kbps

Data length: 8bit

Parity: none

Stop: lbit

Nguyễn Thành Nam ĐT4-K49 Trang 29

2.2.3 Cách nạp file image vào board mạch

Hình 9 Hermit-at-WIN32 trên Windo\v

- Lựa chọn vùng nạp file ảnh:

- Đối với hệ điều hành Linux ta sử dụng lệnh sau [PC ~]$ hermit download -i linux.bin.gz -r kemel

Hình 10 Kiến trúc chức năng của hệ thống

Hệ thống cho phép truyền video từ các thiết bị nhúng đặt tại hiện

trường trên

mạng Ad-hoc. Người dùng có thể tưong tác với các thiết bị thông qua bàn phím,

cổng COM được gắn trực tiếp hoặc laptop thông qua mạng Ad-hoc, WLAN.

2.4 Mô tả chửc năng và hoạt động

(ATDE)

3.1 Giới thiệu về ATDE

bp.USibe r.

'<ỉí Ể fil5WindowsE... ' ộ V/rdowMed.. §MơosoftPoM... 2AdobeRea... • í Thante-Bâbỵtíi ìị' connpiie-

Hình 11 ATDE

Atmark Techno Development Environment (ATDE) là một máy ảo Linux

cung cấp môi trường phát triển cho các board mạch dòng Armadillo.

ATDE bao

gồm các công cụ biên dịch chéo (cross-compile) và rất nhiều các gói công cụ

phát triển cần thiết khác. Dùng ATDE ta không phải tự cài đặt môi trường phát

triên trên PC.

3.2 Biên dịch file image cho board nhúng trên ATDE

- Các gói phần mềm cần thiết download:

-Atmark-dist-20081018.tar.gz, Linux-2.6.12.5-at5 .tar.gz

- Ta tiến hành các bước như sau trên ATDE:

[PC ~]$ ls Linux-2.6.12.5-at5.tar.gz Atmark-dist- 20081018.tar.gz [PC ~]$ tar xvzf Atmark-dist-20081018.tar.gz [PC ~]$ tar xvzf Linux-2.6.12.5-at5.tar.gz [PC ~]$ cd Atmark-dist-20081018

3.3.1 Giói thiệu Cross-compỉle trên Linux

Cross Compile là một cách thực hiện việc viết codc, và compile

chương trình

trên máy tính chạy trên những kiến trúc khác nhau và những hệ điều hành khác

nhau. Chẳng hạn ta có thể lập trình và compile chương trình trên Linux x86, đế

chạy được trên Solaris Ultra Sparc.

Trên Linux các công cụ hỗ trợ cho việc cross-compile là miễn phí và dễ dàng

tìm kiếm. Đe phân biệt với các trình dịch sằn có trên máy, các trình biên dịch chco

thường có tiền tố là tên của kiến trúc hệ thông đích, đôi khi còn có cả tên của thư

viện. Ví dụ có các trình biên dịch chéo như sau: Mips-linux-gcc , M86k-linux- uclibc-gcc, Arm-linux-gnueabi-gcc...

Đê có thê cross-compile thì ta phải chỉ rõ trình biên dịch chéo đê hệ điêu

hành có thể gọi đến trong quá trình biên dịch. Ta có 3 cách để chỉ ra trình biên dịch

chéo như sau:

(b) Sử dung lcnh makc

Cách thứ hai để thiết lập giá trị cho các biến ARCH và CROSSCOMPILE

là thông qua lệnh make. Các giá trị của 2 biến này được gán thông qua lệnh

make sẽ

ghi đè lên các giá trị đã được thiết lập trước trong Makeĩile. Ví dụ

Make ARCH=sh CROSS_COMPILE=sh-linux- xcontig

Make ARCH=sh CROSS_COMPILE=sh-linux

Make ARCH=sh CROSS_COMPILE=sh-linux modules_install

Điều chú ý khi dùng cách này là ta luôn phải nhớ thiết lập giá trị cho

các biến

ARCH và CROSS COMPILE mỗi khi đánh lệnh make. (c) Thiết lâp biến môi trường

Cách thứ 3 đê chỉ ra trình biên dịch chéo là thiêt lập ARCH và CROSS_COMPILE như là biến môi trường trên terminal:

export ARCH=arm

Bình thường khi ta biên dịch để chương trình có thể chạy trên PC ta làm như

sau:

$ gcc hello.c —o hello

Muốn biên dịch chéo để có thể tạo ra fíle để chạy được trên Armadillo-

3.3.3 Nạp các ứng dụng xuống Armadillo-300

Như đã thực hiện ở trên, sau khi cross-compile ta thu được file chạy helloworld có thể chạy được trên board Armadillo-300 và cách đưa các ứng dụng

này xuống board như sau:

Ta copy các file chạy này vào thư mục

Atmark-dist-20081018/romfs/bin/

Cấu trúc thư mục romfs là ánh xạ tương ứng với cấu trúc thư mục của Armadillo-300 do đó sau khi copy xong ta chỉ việc dùng lệnh (make image)

để tạo

lại các file image mới có chứa các ứng dụng mới nạp vào. Các fíle image này

4. Triển khai thưc hiên.

• •

4.1Tiến trình nghiên cứu triển khai

Quá trình nghiên cứu và triên khai hệ thống được thực hiện qua các bước cơ bản Nguyễn Thành Nam ĐT4-K49

- Nghiên cứu về hệ nhúng, mạng Ad-hoc.

- Nghiên cứu triển khai ứng dụng và driver trên hệ nhúng ( webcam, wifì,

Nghiên cứu về hệ nhúng và mạng Ad-hoc và mạng Ad-hoc I f > Webcam Driver < 1 > Thiết lập, cấuhình mạng Ad-hoc V_______ ) I "

- Nghiên cứu tổng quan về hệ nhúng

- Nghiên cứu cấu trúc hệ nhúng

- Nghiên cứu về mạng Ad-hoc (mạng, giao thức, định tuyến..)

-Triển khai webcam driver trên hệ nhúng -Thiết lập, cấu hình mạng Ad-hoc cho hệ nhúng

-Triển khai OLSRD trên bo nhúng

7~ \ I Thiết kế web ĩ 3 giao tiếp rs232 để điều chỉnh resolution Tích hợp hệ thống ^Tếtthú^ 3

-Triển khai video streaming trên hệ nhúng

- Cài đặt webserver trên hệ nhúng -Tìm hiều giao tiếp RS232

- Xây dựng chương trình giao tiếp bằng RS232 điều chỉnh resolution

- Ghép các module chạy mạng Ad-hoc

- Xâỵ dựng mạng Ad-hoc truyền video với

giao diện web và

truyền thông RS232 điều chỉnh resolution

Hình 12 Tiến trình xây dựng video streaming trên hệ nhúng

4.2Cấu hình mạng Ad-hoc cho hệ nhúng

Đê có thê triên khai các ứng dụng trên mạng Ad-hoc thì trước hêt ta phải

thiết lập cấu hình mạng như sau

• wlanconfìg atho destroy

• wlanconfìg atho create wlandev wifìO wlanmode adhoc

• iwconfig athO essid <tên mạng>

• iwconfíg atho enc <mã hóa>

• ifconfig atho x.x.x.x <IP address>

4.3Triển khai phần mềm định tuyến trên hệ nhúng 4.3.1 Giói thiệu về OLSRD

Optimized Link State Routing Protocol (OLSR) là giao thức định tuyến được

phát triển cho mạng Mobile Adhoc Network (MANET). OLSR hoạt động như một

định tuyến hop-by-hop ( mồi node sử dụng thông tin nội bộ của mình đê định tuyến

cho gói tin ).

OLSR được phát triên đê hoạt động độc lập từ các giao thức khác. OLSR

không hề đưa ra một giả định nào về lóp dưới link-layer.

Giao thức định tuyến này thừa kế sự ổn định của thuật toán link-state

và có

thuận lợi khi luôn có tuyến sẵn có khi cần.

4.3.2 Triển khai OLSRD trên hệ nhúng

Sử dụng giao thức định tuyến giúp cho board nhúng có thể truyền

vidco tới

các nút mạng khác thông qua các nút trung gian trên mạng Ad-hoc

a) Cross-compile OLSRD

- Download gói phần mềm olsrd-0.5.6-r2.tar.bz2 - Giải nén bàng lệnh:

$ tar xvjf olsrd-0.5.6- r2.tar.bz2

b) Nạp olsrd xuống board nhúng

Đối với gói OLSRD ta phải bô xung các thư viện hỗ trợ lập trình tuyến và

fíle cấu hình trước khi tạo lại file image (make image) như sau:

cp / usr/arm-linux/lib/libpthread-0.10.so Atmark-dist- 20081018/romfs/lib

ln-s ./libpthreadO.lO.so ./libpthread.so.O

4.4.1 Tiến trình thực hiện

- Test thử với phần mềm capture vvebcam

Hình 14 Tiến trình triển khai Webcam driver 4.4.2 Giói thiệu gói phần mềm GSPCA

GSPCA là gói phần mềm chạy trên nền Linux cho phép triển khai

driver cho

một số lượng lớn webcam. Ngoài ra tùy tùng loại webcam sẽ có driver riêng tương

ứng.

Do đó việc triển khai GSPCA sẽ giúp bo nhúng có thế chạy tốt các ứng dụng

video với nhiều loại webcam khác nhau

4.4.3 Triển khai GSPCA

- Thực hiện biên dịch chéo (cross-compile)

# make CC=arm-linux-gcc LD=arm-linux-ld

- Sau khi biên dịch chéo thành công ta có kết quả là kernel module gspcav.ko. Đây là driver cho webcam trên bo nhúng.

- Tiếp sau đó ta thực hiện các lệnh sau để chuẩn bị cho việc tạo ra fíle ảnh

(image) cho bo nhúng

make install

/sbin/depmod -ae

cd /lib/modules

Hình 15 Thư mục /dev trên bo nhúng

Giáo viên hướng dẫn: T.s Phạm Văn Tiến Telnet 192.168.7.213

PHl

RẼTĨRegisteredprotocolfamily 1 |NET:Registeredprotocolfamily 10

TDisabled Privacy Extensions on deuỉce C0342978<lo> IPw6 oụẹr IPu4 tunneling driver

ip6_tables: <c> 2000-2002 Netíilter

core tean

|NÊT:Registeredprotocolfamily 17 |NET:Registeredprotocolfanily 15 iBrỉdge fireMailing registered

ISCTPT Hash tables coníigured <established 2048 bỉnd 4096> Ễ

Ễspca: Unknown synbol ựideo_unregister_deoicespca: Unknoun synbol uideo_deuice_alloc gspca: Unknown synbol ưideo_i*egister_dewice gspca: Unknoun synbol uỉdeo_usercopy

gspca: Unknoun sỹnbol oỉdeo_deyỉceLrelease

Linux ụideo capture interface: ụl.00 usbcore: regietsrsd new driver gspca

/hone/nan/gspcaụl-20071220/gspcă_core.c: gspca driuer

01.00.20-rc3 registered

u.sb 1—1: nêu full speed USB dêuice usỉng ns9750-obcỉ and

address 2

/bone/nan/gspcawl-20071220/gspca_core.c: USB GSPCA canera

Hình 16 Driver nhận ra vvebcam khi cắm vào bo nhúng 4.5 Triến khai phần mềm truyền video

4.5.1 Giói thiệu về các phần mềm truyền video

Hiện tại có rất nhiều các phần mềm mã nguồn mở chạy trên Linux cho phép

truyền video (streaming video) tuy nhiên với tài nguyên hạn hẹp của hệ nhúng thì

việc lựa chọn phần mềm vừa phù hợp với nhu cầu vừa đảm bảo có thể chạy thành

công cũng là một thử thách.

Qua quá trình tìm hiêu, mjpeg-streamer là một phân mêm nhỏ gọn có thê

Giáo viên hướng dẫn: T.s Phạm Văn Tiến

Make CC=arm-linux-gcc LD=arm-linux-ld

- Sau khi biên dịch thành công ta thu kết quả như sau

o Các thư viện động: input_gspcavl .so input_testpicture.so

input uvc.so output_autofocus.so output_file.so output_http.so

o File thực thi mjpg_streamer

- Sau đó ta copy các thư viện động vào thư mục romfs/lỉb; file thực thi và thư

Cách hàn dây cáp cồng COM cho bo nhúng được mô tả như trong hình vẽ

Hình 17 Sơ đồ chân cổng COM1 trên bo nhúng

Giáo viên hướng dẫn: T.s Phạm Văn Tiến

ã 5-6 C0N6í|§ra

Hình 18 Sơ đồ chân cống COM2 trên bo nhúng

I D^ub9pin DinlOpin conversion) Conversion-pin connector connection Hình 19 Sơ đồ nối chân cống COM

4.6.2 Lập trình nối tiếp trên Linux

a. Cơ sở giao tiếp nối tiếp

Máy tính truyền dừ liệu một hay nhiều bit cùng một lúc và giao tiếp nối tiếp

ám chi tới việc truyền dừ liệu một bit. Các giao tiếp nối tiếp bao gồm các thiết bị

mạng, bàn phím, chuột, MODEM, ...

Tốc độ của dữ liệu nối tiếp thường được thể hiện thông qua bit trên giây

(“bps”) hay còn gọi là baudot rate (“baud”). Tham số này thể hiện số lượng số

0 và

1 có thê được gửi đi trong một giây. Vào thời kỳ đầu của kỷ nguyên máy tính, baud

rate 300 được coi là nhanh nhưng máy tình ngày nay có thể có tốc độ baud

rate lên

tới 430,800. Khi baud rate vượt quá 1000 người ta dùng đơn vị kilo baud, với baud

rate vượt quá 1000,000 thì có đơn vị là mega baud.

b. RS232

RS-232 là giao diện chuẩn cho các giao tiếp nối tiếp được định nghĩa bởi

- GND

về mặt kỳ thuật, chân đất không phải là một tín hiệu nhung nếu thiếu nó thì

các mức tín hiệu khác sẽ không hoạt động, về cơ bản, chân đất đóng vai trò

là một mức điện áp tham chiếu mà qua đó các thành phần điện tử biết

đâu là

mức điện áp dưong đâu là mức điện áp âm.

- TXD Dữ liệu truyền

Chân này dung để truyền dữ liệu

- TXD Dữ liệu nhận

Chân này dùng để nhận dữ liệu

- DCD - Data Carrier Detect

Tín hiệu DCD dùng đề xác định xem liệu có thiết bị nối vào máy tính qua

cổng nối tiếp hay không

- Các íĩle cống nối tiếp

Mỗi cổng nối tiếp trong hệ điều hành UNIX, hay Linux có một hay

nhiều các

file tương ứng với chúng

Ví dụ: cổng COM1 là /dev/ttySO

cổng COM2 là /dev/ttySl

- Truv nhập cổng COM

Cổng COM được gắn kết với file, hàm open() được dùng để truy nhập nó.

Giả thiết tất cả người dùng đều có quyền truy nhập vào fíle thiết bị thì lập

trình để truy nhập cổng COM1 trên UNIX, Linux như sau;

#include <stdio.h>

#include <string.h>

#include <unistd.h> Nguyễn Thành Nam ĐT4-K49

*/

perror("open_port: Unable to open /dev/ttySO - ");

} else

fcntl(fd, F_SETFL, 0);

retum (fd); }

- Ghi dữ liệu qua cổng COM

Ghi dữ liệu qua cồng COM bàng cách sư dụng hàm hệ thống write() đế ghi

n = write(fd, "ATZ\r", 4);

if (n < 0)

fputs("ghi 4 bytes lỗi !\n", stderr);

Hàm write() trả về số byte ghi thành công và trả về -1 nếu có lỗi xảy ra. - Đóng cổng COM

Đe đóng cổng COM ta dùng hàm

close(fd);

Đóng cổng COM cũng đồng thời thiết lập tín hiệu DTR về 0

e. Cấu hình cho cổng COM

- Giao diện nối tiếp

Hình 20 Bảng các cờ điều khiến

cống COM

Điều

này đảm bảo chương trình sẽ không chiếm quyền sử dụng cồng nối tiếp và

driver cho cổng nối tiếp có thể đọc được dừ liệu đầu vào.

Các tùy chọn B9600, BI 15200, ...được dùng cho các phiên bản cù khi thiếu

các tham số tùy chọn c_ispeed và c_ospeed đế thiết lập tốc độ bit. - Thiết lập kích thước kí tự

Không giống như tốc độ bit, không có hàm trưc tiếp thiết lập kích thước

kí tự

mà thay vào đó ta phải thực hiện như sau:

options.c_cflag &= ~CSIZE; /* tắt các bit kích thước kí tự */

options.c_cflag 1= CS8; /* chọn 8 bit dữ liệu */

- Thiết lập chế độ đọc truyền thống

options.c lílag &= -(ICANON I ECHO I ECHOE IISIG);

4.6.3 Phát triển chương trình điều khiến độ phần giải video qua cổng COM

Chưong trình truyền vidco trên bo nhúng phải chạy từ dòng lệnh do đó bất

tiện trong việc sử dụng. Việc phát triển một tiện ích qua cổng COM sẽ giúp người

dùng có thể dễ dàng thao tác với giao diện thân thiện để điều chỉnh một sổ

Bị tắt bời tiến trình cha

Hình 22 Lưu đồ thuật toán thav đổi độ phân giải

4.7Các module chính

Tìm hiều về hệ nhúng, các board , các kiến trúc. Việc xây dựng mạng ad-hoc

dựa trên hệ nhúng. Việc triên khai là rất khả thi vì hệ nhúng tiết kiệm năng lượng.

Phù hợp với việc xây dựng mạng ớ những khu vực địa hình hiêm trở. Đặc biệt mạng

Ad-hoc không cần cơ sở hạ tầng.

4.7.2 Module triến khai video streaming trên server.

Hệ thống mạng Ad-hoc phù hợp để truyền video thời gian thực, ứng

dụng hệ

thống vào việc quan sát hiện trường. Video từ hiện trường được đưa lên server.

Module kết nối mạng

nhúng.

Quan sát hiện trường thông qua trình duyệt

We Người dùng

Web Brovvser

Hình 23 Giao diện người máy web browser

Xây dựng chương trình thay đổi độ phân giải “Resolution changing” cho

phép người ở hiện trường có thể thay đổi độ phân giải (resolution) của video

Hình 24 Giao diện nguửi máy thav đối độ phân giải 4.9Tích họp hệ thống

- Ket nối webcam vào Armadillo 300 đã cài driver hỗ trợ.

- Triên khai chương trình video streaming.

- Triên khai webserver trên Armadillo 300, Triên khai Webpage.

__ r

5. Kêt quả đạt được

Các máy Client trên mạng Ad-hoc đã theo dõi được hiện trường qua trang web được

truy cập vào địa chỉ của server.

Tín hiệu thu được tưong đối rõ nét. Khi khoảng cách quá xa hoặc chất lượng đường

Hình 25 Webcam Lab Tech

Hình 26 Giao tiếp RS232 giữa máy tính với bo nhúng

Giáo viên hướng dẫn: T.s Phạm Văn Tiến

5.2 Phần mềm

- Giao diện web quan sát hiện trường:

(ị Su dung he nhung noi mang Ad-hoc cho C3C ung dung video hĩen truong - MozílU Rreíox □ I i’ T-Ị

Hình 27 Giao diện web giói thiệu

^ Sudung he nhung noi mang Ad-hoc tho cac ung dung video hien

tiuong • Mciilla Fiiefox § 8

File Ẹdit View Histoty

Một phần của tài liệu Thiết kế, tích hợp và phát triển phần cứng, phần mềm hệ nhúng armadillo 300 cho phép truyền video trên mạng WLAN và mạng adhoc (Trang 26)

Tải bản đầy đủ (DOC)

(59 trang)
w