SlideShare a Scribd company logo
1 of 25
Download to read offline
Báo cáo đồ án
Tìm hiểu Contiki-OS
Nhóm 09:
15520599 – Trần Cao Pháp
15520956 – Trần Quang Trường
15520966 – Lê Anh Tuấn
15520967 – Lê Hoàng Tuấn
Mục tiêu
T12-2018 Nhóm 06 2
Tìm hiểu Contiki-OS
Chạy mô phỏng một app và
triển khai lên thiết bị thật
Phân công và đánh giá
T12-2018 Nhóm 06 3
Nội dung
T12-2018 Nhóm 06 4
Tổng quan1
Kiến trúc2
Cách nạp và viết một ứng dụng3
Demo4
Tổng quan
T12-2018 Nhóm 06 5
Tạo bởi Adam Dunkels
năm 2002
Mã nguồn mở
Được viết bằng C
Phát hành theo
giấy phép BSD
Trình mô phỏng
Cooja
Hệ điều hành
cho các thiết bị IoT
Lịch sử
T12-2018 Nhóm 06 6
uIP
Contiki
+ uIP
+ protothreads
+ Cooja + Rime
+ IPv6 (Cisco)
RPL + ContikiMAC
CloudAdam Dunkels
PhD. CEO and co-founder, Thingsquare.
Community
Tại sao sử dụng Contiki?
T12-2018 Nhóm 06 7
Internet Standards
fully support
Rapid Development Active Community
A Selection of
Hardware
Open Source
Software
Community Support
Tính năng – đặc trưng
T12-2018 Nhóm 06 8
Memory
Allocation
Full IP
Networking
Regression
Tests
Examples
6lowpan,
RPL, CoAP
Dynamic
Module
Loading
Power
Awareness
Cooja
Network
Simulator
Sleepy
Routers
Hardware
Platforms
Protothreads
Coffee flash
file system
The Contiki
shell
The Rime
Stack
Build
System
Phần cứng hỗ trợ
T12-2018 Nhóm 06 9
Kiến trúc
T12-2018 Nhóm 06 10
Contiki Kernel
• Bộ lập lịch event gọn nhẹ:
• Gửi các event đến process.
• Các event chỉ có một level duy nhất, không có sự
ưu tiên.
• Hỗ trợ 2 loại event: bất đồng bộ và đồng bộ.
• Cung cấp cơ chế Polling.
• Sử dụng một ngăn xếp duy nhất cho tất cả
process
T12-2018 Nhóm 06 11
Process
• Process có thể là một service hoặc chương trình ứng
dụng.
• Thường bắt đầu khi khởi động hệ thống.
• Được định nghĩa bởi event handler và polling handler.
• Tất cả các process chia sẻ cùng không gian địa chỉ.
• Gồm 2 phần:
• Process control block: lưu trong RAM, chứa thông tin như
tên, trạng thái, con trỏ
• Process thread: là code của process, lưu trong ROM.
• Mỗi process có thể chỉ có 1 thread thực thi. Thread
trong Contiki được gọi là protothread.
T12-2018 Nhóm 06 12
Protothreads
• Là stackness threads tối ưu hoá cho hệ điều
hành hướng sự kiện.
• Ít tốn bộ nhớ (khoảng 2 byte RAM)
• Không yêu cầu stack riêng. Tất cả các
protothreads chạy trên cùng stack
T12-2018 Nhóm 06 13
Cấu trúc thư mục
T12-2018 Nhóm 06 14
apps
core
cpu
examples
platform
tools
doc
Cài đặt ContikiOS lên máy ảo
T12-2018 Nhóm 06 15
Build từ mã nguồn
Contiki
Sử dụng Instant Contiki
Sử dụng Instant Contki
T12-2018 Nhóm 06 16
Tải về Instant Contiki và xả nén
Cài đặt VMWare Player
Khởi động Instant Contiki bằng VMWare
Đăng nhập bằng user/user
Các bước phát triển một ứng dụng trên Contiki
T12-2018 Nhóm 06 17
Viết file chương trình .c
Tạo Makefile
Mô phỏng Cooja
Biên dịch và nạp vào phần cứng
Cấu trúc một chương trình cơ bản trong Contiki
T12-2018 Nhóm 06 18
<Header Files>
PROCESS(name,strname);
AUTOSTART_PROCESSES(struct process &);
PROCESS_THREAD(name, process_event_t, process_data_t)
{
----Initialization of required variables----
PROCESS_BEGIN();
---Set of C statements---
PROCESS_END();
}
Ví dụ một chương trình đơn giản trên Contiki
T12-2018 Nhóm 06 19
<HEADER_FILE>
PROCESS(my_first_app_process,"My_First_App");
AUTOSTART_PROCESSES(&my_first_app_process);
PROCESS_THREAD(my_first_app_process,ev,data)
{
/* Declare variables required */
static int i=2018;
/* Begin Process */
PROCESS_BEGIN();
/* Set of C statement(s) */
printf("%d is a my happy yearn",i);
/* Process End */
PROCESS_END();
}
Ví dụ Makefile
T12-2018 Nhóm 06 20
CONTIKI_PROJECT = my_first_app
all: $(CONTIKI_PROJECT)
CONTIKI = ../..
include $(CONTIKI)/Makefile.include
Nạp code lên phần cứng như thế nào?
T12-2018 Nhóm 06 21
$ sudo chmod /dev/ttyUSB0
$ cd contiki/examples/myApps
$ make TARGET=sky my_first_app.upload
Tập tin .c chứa
mã chương trình
ContikiOS vs. TinyOS
T12-2018 Nhóm 06 22
So sánh với các OS khác (tổng quan)
T12-2018 Nhóm 06 23
Hiện thực một ứng lên phần cứng
• Mục tiêu:
• Sử dụng giao thức truyền thông Broadcast của
Rime stack và Blink điều khiển đèn LED trong
Contiki.
• Nạp lên phần cứng
• Video: https://youtu.be/Uch1QI2U-ew
• Source code thực hiện:
https://github.com/tuanlh/contikisimpletrafficlight
T12-2018 Nhóm 06 24
Presentation Contiki OS - Vietnamese

More Related Content

What's hot

Chapter5 lan mac
Chapter5 lan macChapter5 lan mac
Chapter5 lan macNghia Simon
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdlhoangclick
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhHa Nguyen
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXLThân Khương
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Nhóc Nhóc
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanhPhan Duy
 
Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3hoangtuvit123
 
Hệ điều hành (chương 3)
Hệ điều hành (chương 3)Hệ điều hành (chương 3)
Hệ điều hành (chương 3)realpotter
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhJojo Kim
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 
Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06Nhóc Nhóc
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fatVũ Sang
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngHuyen Pham
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạngctrl man
 

What's hot (20)

Ktmt chuong 2
Ktmt chuong 2Ktmt chuong 2
Ktmt chuong 2
 
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
 
Chapter5 lan mac
Chapter5 lan macChapter5 lan mac
Chapter5 lan mac
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdl
 
Heap Sort
Heap SortHeap Sort
Heap Sort
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tính
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXL
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Bài tập HTML/CSS
Bài tập HTML/CSSBài tập HTML/CSS
Bài tập HTML/CSS
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
 
Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3
 
Hệ điều hành (chương 3)
Hệ điều hành (chương 3)Hệ điều hành (chương 3)
Hệ điều hành (chương 3)
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 
Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fat
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạng
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 

Similar to Presentation Contiki OS - Vietnamese

ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfMan_Ebook
 
Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)huynhvan y
 
Beezo Share - Donetnuke Deserialize
Beezo Share - Donetnuke DeserializeBeezo Share - Donetnuke Deserialize
Beezo Share - Donetnuke DeserializeBeezo
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thanglaonap166
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thanglaonap166
 
Hướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.comHướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.comThùy Linh
 
Scop full realtime solutions yeucau mohinh_tiendo setup bbb
Scop full realtime solutions yeucau mohinh_tiendo setup bbbScop full realtime solutions yeucau mohinh_tiendo setup bbb
Scop full realtime solutions yeucau mohinh_tiendo setup bbblaonap166
 
Server chuc nang.pptx
Server chuc nang.pptxServer chuc nang.pptx
Server chuc nang.pptxson2483
 
Server chuc nang.pptx
Server chuc nang.pptxServer chuc nang.pptx
Server chuc nang.pptxson2483
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo
 
Control builder
Control builderControl builder
Control builderquanglocbp
 
iLabBook_MCSE413_V2.pdf
iLabBook_MCSE413_V2.pdfiLabBook_MCSE413_V2.pdf
iLabBook_MCSE413_V2.pdfssuserff1f40
 
CVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViCVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViLam Nguyen
 
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngStringee JSC
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programmingDucLe868608
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nhoNguyễn Quân
 

Similar to Presentation Contiki OS - Vietnamese (20)

ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
 
Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)
 
Beezo Share - Donetnuke Deserialize
Beezo Share - Donetnuke DeserializeBeezo Share - Donetnuke Deserialize
Beezo Share - Donetnuke Deserialize
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thang
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thang
 
Hướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.comHướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.com
 
Scop full realtime solutions yeucau mohinh_tiendo setup bbb
Scop full realtime solutions yeucau mohinh_tiendo setup bbbScop full realtime solutions yeucau mohinh_tiendo setup bbb
Scop full realtime solutions yeucau mohinh_tiendo setup bbb
 
Server chuc nang.pptx
Server chuc nang.pptxServer chuc nang.pptx
Server chuc nang.pptx
 
Server chuc nang.pptx
Server chuc nang.pptxServer chuc nang.pptx
Server chuc nang.pptx
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
 
Control builder
Control builderControl builder
Control builder
 
iLabBook_MCSE413_V2.pdf
iLabBook_MCSE413_V2.pdfiLabBook_MCSE413_V2.pdf
iLabBook_MCSE413_V2.pdf
 
Docker 101
Docker 101Docker 101
Docker 101
 
Đề tài Quản lý tiền điện
Đề tài Quản lý tiền điệnĐề tài Quản lý tiền điện
Đề tài Quản lý tiền điện
 
CVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-ViCVNguyenThanhLam-102015-Vi
CVNguyenThanhLam-102015-Vi
 
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
 
04 de cuong
04 de cuong04 de cuong
04 de cuong
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programming
 
Nhom9 (1)
Nhom9 (1)Nhom9 (1)
Nhom9 (1)
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
 

Presentation Contiki OS - Vietnamese

  • 1. Báo cáo đồ án Tìm hiểu Contiki-OS Nhóm 09: 15520599 – Trần Cao Pháp 15520956 – Trần Quang Trường 15520966 – Lê Anh Tuấn 15520967 – Lê Hoàng Tuấn
  • 2. Mục tiêu T12-2018 Nhóm 06 2 Tìm hiểu Contiki-OS Chạy mô phỏng một app và triển khai lên thiết bị thật
  • 3. Phân công và đánh giá T12-2018 Nhóm 06 3
  • 4. Nội dung T12-2018 Nhóm 06 4 Tổng quan1 Kiến trúc2 Cách nạp và viết một ứng dụng3 Demo4
  • 5. Tổng quan T12-2018 Nhóm 06 5 Tạo bởi Adam Dunkels năm 2002 Mã nguồn mở Được viết bằng C Phát hành theo giấy phép BSD Trình mô phỏng Cooja Hệ điều hành cho các thiết bị IoT
  • 6. Lịch sử T12-2018 Nhóm 06 6 uIP Contiki + uIP + protothreads + Cooja + Rime + IPv6 (Cisco) RPL + ContikiMAC CloudAdam Dunkels PhD. CEO and co-founder, Thingsquare. Community
  • 7. Tại sao sử dụng Contiki? T12-2018 Nhóm 06 7 Internet Standards fully support Rapid Development Active Community A Selection of Hardware Open Source Software Community Support
  • 8. Tính năng – đặc trưng T12-2018 Nhóm 06 8 Memory Allocation Full IP Networking Regression Tests Examples 6lowpan, RPL, CoAP Dynamic Module Loading Power Awareness Cooja Network Simulator Sleepy Routers Hardware Platforms Protothreads Coffee flash file system The Contiki shell The Rime Stack Build System
  • 9. Phần cứng hỗ trợ T12-2018 Nhóm 06 9
  • 11. Contiki Kernel • Bộ lập lịch event gọn nhẹ: • Gửi các event đến process. • Các event chỉ có một level duy nhất, không có sự ưu tiên. • Hỗ trợ 2 loại event: bất đồng bộ và đồng bộ. • Cung cấp cơ chế Polling. • Sử dụng một ngăn xếp duy nhất cho tất cả process T12-2018 Nhóm 06 11
  • 12. Process • Process có thể là một service hoặc chương trình ứng dụng. • Thường bắt đầu khi khởi động hệ thống. • Được định nghĩa bởi event handler và polling handler. • Tất cả các process chia sẻ cùng không gian địa chỉ. • Gồm 2 phần: • Process control block: lưu trong RAM, chứa thông tin như tên, trạng thái, con trỏ • Process thread: là code của process, lưu trong ROM. • Mỗi process có thể chỉ có 1 thread thực thi. Thread trong Contiki được gọi là protothread. T12-2018 Nhóm 06 12
  • 13. Protothreads • Là stackness threads tối ưu hoá cho hệ điều hành hướng sự kiện. • Ít tốn bộ nhớ (khoảng 2 byte RAM) • Không yêu cầu stack riêng. Tất cả các protothreads chạy trên cùng stack T12-2018 Nhóm 06 13
  • 14. Cấu trúc thư mục T12-2018 Nhóm 06 14 apps core cpu examples platform tools doc
  • 15. Cài đặt ContikiOS lên máy ảo T12-2018 Nhóm 06 15 Build từ mã nguồn Contiki Sử dụng Instant Contiki
  • 16. Sử dụng Instant Contki T12-2018 Nhóm 06 16 Tải về Instant Contiki và xả nén Cài đặt VMWare Player Khởi động Instant Contiki bằng VMWare Đăng nhập bằng user/user
  • 17. Các bước phát triển một ứng dụng trên Contiki T12-2018 Nhóm 06 17 Viết file chương trình .c Tạo Makefile Mô phỏng Cooja Biên dịch và nạp vào phần cứng
  • 18. Cấu trúc một chương trình cơ bản trong Contiki T12-2018 Nhóm 06 18 <Header Files> PROCESS(name,strname); AUTOSTART_PROCESSES(struct process &); PROCESS_THREAD(name, process_event_t, process_data_t) { ----Initialization of required variables---- PROCESS_BEGIN(); ---Set of C statements--- PROCESS_END(); }
  • 19. Ví dụ một chương trình đơn giản trên Contiki T12-2018 Nhóm 06 19 <HEADER_FILE> PROCESS(my_first_app_process,"My_First_App"); AUTOSTART_PROCESSES(&my_first_app_process); PROCESS_THREAD(my_first_app_process,ev,data) { /* Declare variables required */ static int i=2018; /* Begin Process */ PROCESS_BEGIN(); /* Set of C statement(s) */ printf("%d is a my happy yearn",i); /* Process End */ PROCESS_END(); }
  • 20. Ví dụ Makefile T12-2018 Nhóm 06 20 CONTIKI_PROJECT = my_first_app all: $(CONTIKI_PROJECT) CONTIKI = ../.. include $(CONTIKI)/Makefile.include
  • 21. Nạp code lên phần cứng như thế nào? T12-2018 Nhóm 06 21 $ sudo chmod /dev/ttyUSB0 $ cd contiki/examples/myApps $ make TARGET=sky my_first_app.upload Tập tin .c chứa mã chương trình
  • 23. So sánh với các OS khác (tổng quan) T12-2018 Nhóm 06 23
  • 24. Hiện thực một ứng lên phần cứng • Mục tiêu: • Sử dụng giao thức truyền thông Broadcast của Rime stack và Blink điều khiển đèn LED trong Contiki. • Nạp lên phần cứng • Video: https://youtu.be/Uch1QI2U-ew • Source code thực hiện: https://github.com/tuanlh/contikisimpletrafficlight T12-2018 Nhóm 06 24