6. Đóng góp của luận văn
3.1.1. Hệ điều hành Contiki
Contiki là một hệ điều hành mã nguồn mở đƣợc thiết kế cho các hệ thống mạng nhúng nói chung và mạng cảm biến không dây nói riêng. Hệ điều hành Contiki đƣợc phát triển bởi Adam Dunkels và phiên bản đầu tiên đƣợc phát hành vào năm 2003. 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ố 2KB RAM và 40KB ROM. Nhờ đó, Contiki có thể đƣợc sử dụng cho các hệ thống nhúng và các ứng dụng trong mạng cảm biến không dây. 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…
Hệ điều hành Contiki cùng đi kèm với công cụ mô phỏng Cooja/MSPSim. Công cụ mô phỏng này cho phép các đoạn mã chƣơng trình viết trên nền hệ điều hành Contiki có thể đƣợc mô phỏng, thử nghiệm trƣớc khi triển khai.
Trong luận văn này, tác giả lựa chọn hệ điều hành Contiki để phục vụ cho việc nghiên cứu với mạng cảm biến không dây. Tác giả lựa chọn hệ điều hành Contiki bởi vì có ba lý do chính sau: Thứ nhất, hệ điều hành Contiki là một trong những hệ điều hành phổ biến nhất trong cộng đồng nghiên cứu về mạng cảm biến không dây hiện nay; Thứ hai, hệ điều hành Contiki đƣợc đánh giá là rất phù hợp với các mạng cảm biến không dây nói riêng và mạng các thiết bị nhúng nói chung. Vì vậy, hệ điều hành này đã đƣợc triển khai nhiều trong thực tế; Thứ ba là ngôn ngữ lập trình đƣợc sử dụng trong hệ điều hành Contiki là ngôn ngữ lập trình C. Đây là ngôn ngữ lập trình rất phổ biến và tác giả cũng đã có một số kinh nghiệm với ngôn ngữ lập trình này.