1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về hệ điều hành contiki (1)

24 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về hệ điều hành Contiki (1)
Trường học Viện Công nghệ Thông tin - Đại học Bách Khoa Hà Nội
Chuyên ngành Khoa học máy tính
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 2,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu hệ điều hành Contiki: Hệ điều hành contiki là hệ điều hành mã nguồn mở, được nghiên cứu, thiết kế và phát triểnbởi một nhóm các nhà phát triển từ viện khoa học máy tính Thụy Đ

Trang 1

M c l c ụ ụ

I Giới thiệu về contiki và Cooja: 2

1 Giới thiệu hệ điều hành Contiki: 2

2 Giới thiệu phần mềm mô phỏng Cooja: 3

II Hướng dẫn Download và Install 4

1 Download 4

2 Cài đặt: 5

a Cài đặt VMWare: 5

b Cài đặt Contiki: 7

c Download và cài đặt phần mềm Elipse 10

d Install the Sun Java SDK 1.6 15

e Cài đặt cooja 17

III Hệ điều hành Contiki: 19

1 Tích hợp một platform mới vào hệ điều hành contiki: 19

a Platform: 19

b Platform trong Contiki: 19

c Các bước tiến hành: 19

2 Tmode Sky trong hệ điều hành Contiki: 20

a Giới thiệu Tmode Sky: 20

b Khác biệt giữa Tmote Sky và native: 21

3 Sentilla nodes: 22

a Giới thiệu Sentila node: 22

b Các bước thiết lập Sentilla node: 22

Trang 2

I Giới thiệu về contiki và Cooja:

1 Giới thiệu hệ điều hành Contiki:

Hệ điều hành contiki là hệ điều hành mã nguồn mở, được nghiên cứu, thiết kế và phát triểnbởi một nhóm các nhà phát triển từ viện khoa học máy tính Thụy Điển, người đứng đầu là AdamDunkels Nhóm phát triển Contiki gồm nhiều thành viên đến từ SICS, CISCO, cùng nhiều tổchức và các trường đại học khác trên thế giới

Hệ điều hành Contiki được thiết kế cho các vi điều khiển có bộ nhớ nhỏ, với thông số 2KBRAM và 40KB ROM Nhờ đó, Contiki được sử dụng cho các hệ thống nhúng và các ứng dụngtrong mạng cảm biến không dây Contiki bắt đầu được nghiên cứu từ năm 2001 và phát hànhphiên bản đầu tiên Contiki 1.0 năm 2003 Hình 3.1 cho thấy lịch sử phát triển của Contiki trongnhững năm qua Phiên bản hiện nay của Contiki là 2.4, với nhiều thay đổi, bổ sung và phát triểnvượt bậc Trong thực tế, Contiki đã được ứng dụng trong nhiều dự án như giám sát đường hầm

xe lửa, theo dõi nước trong biển Baltic,…

Nhiều cơ chế, ý tưởng trong Contiki đã được ứng dụng rộng rãi trong công nghiệp Điển hìnhnhư mô hình uIP được phát hành năm 2001 đã được sử dụng trong hệ thống ứng dụng của hàngtrăm công ty trong các lĩnh vực hàng hải, thông tin vệ tinh, khai thác dầu mỏ,…; mô hìnhProtothreads được công bố lần đầu tiên năm 2005, đến nay đã được sử dụng trong nhiều ứngdụng như bộ giải mã kỹ thuật số và thiết bị cảm biến rung không dây

Hình 1.1: Lịch sử phát triển Contiki

Trang 3

Hệ điều hành Contiki được lập trình bằng ngôn ngữ C, hoạt động dựa trên cơ chế event driven và có những đặc điểm phù hợp với các hệ thống nhúng và mạng cảm biến không dây:

- Contiki được chia thành nhiều modul hoạt động độc lập Nhờ đó các ứng dụng cóthể sử dụng các modul một cách linh động và chỉ load những modul cần thiết

 Cơ chế hoạt động điều khiển sự kiện làm giảm năng lượng tiêu hao và hạn chếdung lượng bộ nhớ cần sử dụng

 Có thể sử dụng IP trong mạng cảm biến thông qua uIP stack được xây dựng dựatrên nền TCP/IP

 Có những modul cho phép ước lượng và quản lý năng lượng một cách hiệu quả

 Các giao thức tương tác giữa các lớp và các node trong mạng dễ dàng hơn

 Sử dụng RIME stack phục vụ các giao thức dành cho mạng năng lượng thấp mộtcách hiệu quả

Bên cạnh đó, Contiki còn cung cấp những công cụ hỗ trợ mô phỏng với giao diện đơngiản, dễ sử dụng và hỗ trợ tốt những thiết bị trong thực tế, phục vụ những mục đích nghiên cứu,

mô phỏng và triển khai những giao thức mới

2 Giới thiệu phần mềm mô phỏng Cooja:

Cooja là phần mềm mô phỏng hệ thống mạng được tích hợp trong hệ điều hành Contiki.Công cụ này cho phép người sử dụng thay đổi các thông số như vị trí, phạm vi kết nối, tỉ lệtruyền gói thành công,… Nhờ đó người sử dụng có thể mô phỏng và đánh giá kết quả một cáchhiệu quả hơn

Dưới đây là giao diện của chương trình mô phỏng bằng Cooja:

Trang 5

Hình 2.1: Trang web sics.seDownload Install Contiki here

Download VMWare Player here (Windows download

Trang 6

- Click Next

Hình 2.3: Cài đặt chương trình VMWare

- Click Next

Hình 2.4: Cài đặt chương trình VMWare

- Chọn các shortcuts rồi Click Next

Trang 7

Hình 2.5: Cài đặt chương trình VMWare

Trang 8

Hình 2.7: Giao diện chương trình VMware Player

- Click Cancel

Trang 9

Hình 2.8: Giao diện chương trình VMware Player

- Click Open và chọn đường dẫn đến thư mục Contiki vừa giải nén Chọn install – contiki

Hình 2.9: Chọn thư mục Contiki trong VMWare

- Điền username là user rồi ấn enter (bạn có thể chọn username khác, đây chỉ là ví dụ)

Hình 2.10: Màn hình điền username

Trang 10

- Điền password là user rồi ấn enter (bạn có thể chọn password khác, đây chỉ là ví dụ Password này sẽ dung cho cả sau này, nếu như có hỏi password thì bạn điền password đã thiết lập ở đây vào)

Hình 2.11: Điền password

- Giao diện của chương trình

Hình 2.12: Giao diện của chương trình

Trang 11

c Download và cài đặt phần mềm Elipse

- Vào link

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.6-201006080911/eclipse-SDK-3.6-win32.zip

- Download bằng Torrent hoặc download trực tiếp

Hình 2.13: Trang web download Eclipse

- Click [Korea, Republic Of] KAIST (http) và download 170 MB

- Giải nén

- Cài đặt

- Thiết lập workspace (tìm đến một thư mục để chứa các project)

Hình 2.14: Cài đặt Eclipse

Trang 12

Hình 2.15: Giao diện ban đầu Eclipse

Từ menu, chọn window > other perspectives > other > chọn cvs repository exploring

Hình 2.16: Cửa sổ Open Perspective

- Giao diện

Trang 13

Hình 2.17: Giao diện chương trình Eclipse

- Chọn check out from CVS (mũi tên đỏ chỉ vào)

Trang 14

- Điền các thông số (chú ý không có khoảng cách trống trước và sau các từ điền vào.Host : contiki.cvs.sourceforge.net

Repository path : /cvsroot/contiki

User : anonymous

Server : pserver ,

tick use default port

Để trống mật khẩu rồi click Next

Trang 15

- Chọn Use an existing module (this will alow you to browse the modules in the repository)

- Chọn contiki-2.x

Trang 16

- Chọn Check out as a project in the workspace

- Finish

d Install the Sun Java SDK 1.6

System->Administration -> Synaptic Package Manager

Trang 17

Điền password user

Nếu libgtk1.2-dev chưa đánh dấu (màu xanh) thì đánh dấu lại để cài đặt Đánh dấu rồi tức là đã cài đặt

Trang 18

e Cài đặt cooja

Điền pass user rồi ấn enter (chú ý là user sẽ không hiện lên trên màn hình Bạn chỉ cần chú ý là điền đúng là được) để cài đặt user

Đưa dòng lệnh vào foder home/user/contiki-2.x/tools/cooja

Chú ý rằng bình thường thì dòng lệnh đang ở home/user

Trang 19

Bạn sử dụng lệnh cd [foder name] để truy cập vào foder con của foder bạn đang ở Khi vào được tới foder cooja rồi thì chạy lệnh

+Manager Project Directories:

+Compiler Configuration Wizard

Hoàn tất quá trình cài đặt Contiki và Cooja

Trang 20

III Hệ điều hành Contiki:

1 Tích hợp một platform mới vào hệ điều hành contiki:

a Platform:

Platform trong hệ điều hành contiki là những thư mục chứa các file nền tảng của một platform và hệ điều hành Contiki chạy trên đó

b Platform trong Contiki:

Platform native là platform chuẩn được xây dựng để việc tích hợp một platform mới vào hệ điều hành contiki trở nên thuận tiện hơn

Bao gồm các thư mục và các file:

- Copy toàn bộ các file trong thư mục platform/native vào thư mục platform mới và sửa

- Copy toàn bộ các file trong thư mục cpu/[tên vi xử lý] vào thư mục cpu của thiết bị mới

Trang 21

 clock_delay(): tạo trễ một khoảng thời gian, chỉ được sử dụng cho các driver.

o Bước 1: Copy file clock.c tại thư mục cpu/msp430/dev/clock.c

o Bước 2: Tìm hiểu cách thức ngắt thời gian của các ứng dụng và thay đổi trong fileclock.c

- Sensors:

o Khi sensors thay đổi, một sự kiện được truyền đến tất cả các quy trình như: nút bấm, PIR phát hiện chuyển động…

o Code chuẩn để truyền sự kiện nằm tại thư mục core/lib/sensors.c

o Các sensor tương lai sẽ là các sensor số thay thế cho các sensor tương tự

o Bước 1: Chọn các code sensor trong thư mục core/lib/sensors.c

o Bước 2: Thay đổi cho phù hợp với platform mới

- contiki-conf.h:

o Nằm trong thư mục platform/(tên platform)

o Chứa các tùy chọn cấu hình:

 Cấu hình cho C compiler

 C types

 Cấu hình cho uIP

 Clock configuration: clock_time_t, CLOCK_CONF_SECOND

o copy từ platform/native/contiki-conf.h và chỉnh sửa

- Network device drivers:

o Chức năng là gửi và nhận các gói tin (packet) giữa các node mạng với nhau

o Ví dụ: CC2420, CC1000

o Thiết lập đơn giản bằng cách copy driver có sẵn như simple-cc2420, tr1001 trong

thư mục core/dev

2 Tmode Sky trong hệ điều hành Contiki:

a Giới thiệu Tmode Sky:

Trang 22

Tmote Sky là mạch cảm biến không dây được phát triển bởi tập đoàn Moteiv Nó được tích hợp

vi xử lý MSP430 với chuẩn 802.15.4 tương thích trên chip radio CC2420 Tmode Sky có 1Mb

bộ nhớ flash ngoài và hai cảm biến ánh sáng Tmote Sky được tích hợp vào trong hệ điều hành Contiki vào tháng ba năm 2007

Để chạy một chương trình trên một Tmote sky chúng ta cần phải có

- msp430-gcc (the gcc C compiler for the MSP430 microcontroller) installed

Các thư viện:

- blink.c : một chương trình đơn giản điều khiển LED trên node

- sky-collect.c : Thu thập dữ liệu của sensor và giá trị thông tin năng lượng Collects sensor data and energy profile values to a sink Press the "user" button on the Tmote Sky that is connected to the PC to make the node a sink

- test-button.c : bật tắt các led khi bấm nút

- test-cfs.c : Thử 1 mb bộ nhớ flash của Tmode Sky

b Khác biệt giữa Tmote Sky và native:

o File Cfs-coffee-arch.h, Contiki-conf.h, Contiki-main.c: về cơ bản trong Sky có sựthay đổi so với native để tùy chỉnh thêm các thư viện devices, thêm các chức năngphù hợp với Sky

o Thư mục CVS không hề thay đổi,

o Thư mục dev có thêm các file tích hợp cho các devices trong Tmote Sky Ngoài ratrong Sky còn có thêm thư mục apps chứa các file application cụ thể của platform sky

Trang 23

3 Sentilla nodes:

a Giới thiệu Sentila node:

Sentilla nodes là thế hệ sau của Tmode sky node Những điểm khác biệt giữa hai loại node này là:

- Trong khi sky node có 3 Led và 1 nút bấm thì sentilla có 8 led, 1 gia tốc kế và không có nút bấm

- Hiện nay Contiki hỗ trợ rất nhiều cho sky platform nhưng chưa kịp update cho tất cả các đặc tính của Sentilla node

b Các bước thiết lập Sentilla node:

- Bước 1: Cài đặt msp430 compiler

Sentilla node giống như sky node, cũng có vi điều khiển msp430 của hãng Texas Instrument Để chạy chương trình cho vi điều khiển, chúng ta cần có msp430-gcc.

Chúng ta cần kiểm tra xem contiki đã cài đặt các file cần thiết của msp430 chưa Các file đó bao gồm:

 binutils-msp430

 gcc-msp430

 msp430-libc

Để kiểm tra chúng ta gõ: $ dpkg –l *msp*

Nếu chương trình đã có đầy đủ các file đó thì nó sẽ tự động liệt kê trong cửa sổ terminal Còn

nếu chưa có thì sẽ có thông báo: “No packages found matching *msp*”

Nếu các bạn cài đặt đầy đủ từ đầu tới giờ thì đảm bảo sẽ được như hình sau:

Bước 2: Install the Sentilla bootstrap loader and update the PATH variable

Trang 24

Lấy file tmote-bsl từ diễn đàn sentilla

- Ghi danh vào diễn đàn http://dev.sentilla.com/forums/index.php

- Download file SentillaWork.targ.gz theo link

Bằng cách gõ dòng lệnh

$ export PATH=$PATH:~/Desktop/contiki-2.x/tools/sky

Đến đây bạn đã hoàn thành việc tích hợp platform Sentila vào hệ điều hành Contiki Bạn có thể tiếp tục chạy một ví dụ đơn giản trên Sentila node theo bước 3 và 4 trong hướng dẫn tại địa chỉ sau:

8.10.html

Ngày đăng: 19/06/2023, 10:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w