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… Mạng cảm biến không dây Wireless Senssor Network - WSN là mạng l
Trang 1LỜI CAM ĐOAN
Tên tôi là: Homenabounlat Chanh, học viên lớp cao học K17 – Khoa học máy tính – Trường đại học Công nghệ thông tin và Truyền thông Thái Nguyên
Tôi xin cam đoan đề tài “Nghiên cứu hệ điều hành mã nguồn mở Contiki cho mạng cảm biến không dây và ứng dụng trong hệ thống nông nghiệp chính xác tại Lào” do Thầy giáo TS Vũ Chiến Thắng hướng dẫn, là công trình nghiên cứu do bản thân tôi thực hiện, dựa trên sự hướng dẫn của Thầy giáo hướng dẫn khoa học và các tài liệu tham khảo đã trích dẫn
Tôi xin chịu trách nhiệm với lời cam đoan của mình
Thái Nguyên, năm 2020
Học viên
Homenabounlat Chanh
Trang 2
LỜI CẢM ƠN
Để hoàn thành luận văn này, trong suốt quá trình thực hiện đề tài nghiên cứu, tôi luôn nhận được sự quan tâm giúp đỡ của:
Thầy giáo hướng dẫn trực tiếp TS Vũ Chiến Thắng, đã giúp đỡ tận tình
về phương hướng và phương pháp nghiên cứu cũng như hoàn thiện luận văn
Các thầy, cô giáo trong khoa Công nghệ thông tin, Trường đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên đã tạo điều kiện
về thời gian, địa điểm nghiên cứu, phương tiện vật chất cho tác giả
Tôi xin bày tỏ lời cảm ơn chân thành đến tất cả những sự giúp đỡ quý báu đó
Thái Nguyên, năm 2020
Học viên
Homenabounlat Chanh
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC BẢNG BIỂU viii
DANH MỤC CÁC HÌNH VẼ ix
MỞ ĐẦU xi
Chương 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 1
1.1 Khái niệm về mạng cảm biến không dây 1
1.2 Những thách thức đối với mạng cảm biến không dây 2
1.2.1 Những thách thức ở cấp độ nút 2
1.2.2 Những thách thức ở cấp độ mạng 3
1.2.3 Sự chuẩn hóa 6
1.2.2 Khả năng cộng tác 7
1.3 Kiến trúc ngăn xếp giao thức của mạng cảm biến không dây 7
1.3.1 Lớp vật lý 9
1.3.2 Lớp liên kết dữ liệu 9
1.3.3 Lớp mạng 10
1.3.4 Lớp giao vận 11
1.3.5 Lớp ứng dụng 11
1.4 Chuẩn truyền thông IEEE 802.15.4 cho mạng cảm biến không dây 12
1.4.1 Mô hình truyền thông trong mạng cảm biến không dây 12
1.4.2 Chuẩn truyền thông vật lý cho mạng cảm biến không dây 14
1.5 Cấu trúc phần cứng của nút cảm biến không dây 21
1.6 Phần mềm cho các nút mạng cảm biến không dây 23
1.6.1 Hệ điều hành cho mạng cảm biến không dây 24
1.6.2 Những thách thức ảnh hưởng đến việc thiết kế hệ điều hành cho mạng cảm biến không dây 24
1.7 Kết luận chương 1 25
Chương 2 HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ CONTIKI 26
2.1 Giới thiệu về hệ điều hành Contiki 26
2.2 Cấu trúc hệ điều hành Contiki 27
Trang 42.3 Ngăn xếp truyền thông trong hệ điều hành Contiki 28
2.3.1 Ngăn xếp truyền thông uIP 29
2.3.2 Ngăn xếp truyền thông RIME 30
2.4 Mô hình lập trình trong hệ điều hành Contiki 31
2.4.1 Mô hình lập trình Event-driven 31
2.4.2 Mô hình lập trình Multithreads 32
2.4.3 Mô hình lập trình Protothreads 32
2.4.4 So sánh ba mô hình lập trình trong hệ điều hành Contiki 33
2.5 Các bộ định thời trong hệ điều hành Contiki 34
2.6 Cài đặt môi trường phát triển với hệ điều hành Contiki 35
2.7 Kết luận chương 2 37
Chương 3 ỨNG DỤNG THU THẬP DỮ LIỆU TRONG NÔNG NGHIỆP CHÍNH XÁC TẠI LÀO 38
3.1 Mô hình hệ thống thu thập dữ liệu trong nông nghiệp chính xác tại Lào 38
3.1.1 Giới thiệu về nông nghiệp chính xác 38
3.1.2 Mô hình hệ thống thu thập dữ liệu trong nông nghiệp chính xác tại Lào 39 3.2 Phần cứng Tmote Sky cho ứng dụng nông nghiệp chính xác 40
3.3 Giao thức truyền thông cây thu thập dữ liệu CTP 41
3.3.1 Giới thiệu giao thức CTP 41
3.3.2 Thước đo định tuyến được sử dụng trong giao thức CTP 43
3.3.3 Cấu trúc các bản tin trong giao thức CTP 43
3.3.4 Các thành phần chính của giao thức CTP 46
3.4 Thực thi giao thức CTP trên hệ điều hành Contiki 47
3.4.1 Ngăn xếp truyền thông RIME 47
3.4.2 Các thành phần 49
3.4.3 Hoạt động 50
3.5 Mô phỏng hệ thống thu thập dữ liệu trong nông nghiệp chính xác với công cụ mô phỏng Cooja 53
3.5.1 Công cụ mô phỏng Cooja 54
3.5.2 Mô hình nhiễu trong Cooja 54
3.5.3 Kịch bản mô phỏng đánh giá 57
3.5.4 Các thước đo đánh giá 59
3.5.5 Kết quả đánh giá 60
3.6 Kết luận chương 3 63
Trang 5KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65
Trang 6DANH MỤC CÁC CHỮ VIẾT TẮT
Chữ viết tắt Chữ đầy đủ
API Application Programming Interface
CTP Collection Tree Protocol
FFDs Full Function Devices
ICMP Internet Control Message Protocol
IEEE Institute of Electrical and Electronics Engineers
RFDs Reduced Function Devices
TDMA Time Division multiple access
TCP Transport Control Protocol
UDI UDG with Distance Interference
Trang 7WiFi Wireless Fidelity
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1: Kịch bản đánh giá mô phỏng 58 Bảng 3.2: Mô hình năng lượng của Tmote Sky tại công suất phát là 0dBm 60
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Mạng cảm biến không dây với các nút cảm biến phân bố rải rác trong
trường cảm biến 1
Hình 1.2: Kiến trúc ngăn xếp giao thức mạng cảm biến không dây 8
Hình 1.3: Mô hình truyền thông Điểm - Điểm trong mạng cảm biến không dây 12
Hình 1.4: Mô hình truyền thông Điểm - Đa điểm trong mạng cảm biến không dây 12 Hình 1.5: Mô hình truyền thông Đa điểm - Điểm trong mạng cảm biến không dây.14 Hình 1.6: Một mạng IEEE 802.15.4 với các nút FFDs thể hiện như các chấm đen và các nút RFDs thể hiện bởi các chấm trắng Hai FFDs là điều phối viên PAN trong hai mạng PAN được biểu diễn bởi những vòng tròn đen Mạng PAN bên phải bao gồm hai FFDs nhưng chỉ một FFD là điều phối viên PAN 15
Hình 1.7: Hai định dạng địa chỉ hỗ trợ IEEE 802.15.4 là địa chỉ dài (64 bit) và địa chỉ ngắn (16 bit) 16
Hình 1.8: Chuẩn IEEE 802.15.4 quy định 26 kênh vô tuyến vật lý 18
Hình 1.9: Các kênh 11-24 IEEE 802.15.4 chồng chéo lên các kênh 802.11 Kênh 25 và 26 không được bao bọc bởi các kênh 802.11 Khi các kênh 1, 6 và 11 của 802.11 được sử dụng, hai kênh 15 và 20 của 802.15.4 không bị ảnh hưởng bởi 802.11 18
Hình 1.10: Lớp vật lý IEEE 802.15.4 và các định dạng tiêu đề lớp MAC 20
Hình 1.11: Các thành phần chính trong cấu trúc phần cứng của một nút cảm biến không dây 22
Hình 1.12: Bo mạch MicaZ của hãng Crossbow Technology 22
Hình 1.13: Quá trình phát triển phần mềm cho một nút cảm biến không dây
Mã nguồn được biên dịch thành mã máy và được ghi vào ROM trong bộ vi điều khiển của nút cảm biến 23
Hình 2.1: Lịch sử phát triển Contiki 26
Hình 2.2: Kiến trúc giao thức mạng trong Contiki 28
Hình 2.3: Sơ đồ hoạt động các ứng dụng trong Contiki 29
Hình 2.4: Ngăn xếp truyền thông uIP 29
Trang 10Hình 2.5: Tổ chức của RIME 30
Hình 2.6: Bộ đệm và Thao tác gói trong RIME 31
Hình 2.7: Phương thức sử dụng bộ nhớ của Multithreads và Event-driven 33
Hình 2.8: Các luồng điều khiển trong Multithreads và Event-driven 33
Hình 2.9: Ví dụ về lập trình đa luồng (trái) và lập trình hướng sự kiện (phải) 34
Hình 2.10: Ví dụ của lập trình Protothreads 34
Hình 2.11: Giao diện VMware Player 35
Hình 2.12: Chọn đường dẫn đến Instant-Contiki 36
Hình 2.13: Giao diện đăng nhập username 36
Hình 2.14: Giao diện nhập Password 37
Hình 2.15: Giao diện Instant-Contiki được cài trên Ubuntu 37
Hình 3.1: Mô hình hệ thống thu thập dữ liệu và điều khiển tưới chính xác trong nhà kính 40
Hình 3.2 phần cứng Tmote Sky 41
Hình 3.3: Cấu trúc liên kết mạng được xây dựng theo giao thức CTP 42
Hình 3.8: Giao thức CTP được xây dựng trên ngăn xếptruyền thông RIME trong Contiki 48
Hình 3.9: Quá trình xử lý một số sự kiện trong giao thức CTP 52
Hình 3.10: Lưu đồ thuật toán Thêm/Cập nhật rtmetric của nút lân cận 53
Hình 3.11: Công cụ mô phỏng Cooja 54
Hình 3.12: Mô hình UDI [16] 56
Hình 3.13: Cấu trúc liên kết mạng được xét đến trong bài toán mô phỏng 57
Trang 11MỞ ĐẦU
1 Tính cấp thiết của đề tài
Contiki [1, 2] 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 lưới các thiết bị đo nói riêng Hệ điều hành Contiki được phát triển bởi Adam Dunkels đến từ nhóm Embedded Systems của Viện Khoa học Máy tính Thụy Điển 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 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…
Mạng cảm biến không dây (Wireless Senssor Network - WSN) là mạng liên kết các thiết bị tự vận hành, liên kết với nhau bằng kết nối sóng vô tuyến (RF connection) trang bị sensor để giám sát các tham số của một môi trường vật lý Trong vài năm gần đây, mạng cảm biến không dây thu hút nhiều sự quan tâm nghiên cứu [3]-[11], và chúng được hình dung là có thể hỗ trợ nhiều ứng dụng khác nhau bao gồm giám sát trong quân đội [12], giám sát môi trường [13], và bảo vệ cơ
sở hạ tầng [14]…
Cho đến nay, mạng cảm biến không dây vẫn đang trong quá trình phát triển
và hoàn thiện để có thể ứng dụng vào thực tế một cách rộng rãi và hiệu quả Một trong những vấn đề lớn nhất đối với mạng cảm biến hiện nay là tối ưu hóa việc sử dụng năng lượng để kéo dài thời gian sống của một nút mạng cảm biến Có thể liệt
kê một số tiêu chí mà các nghiên cứu về WSN đang hướng đến là:
Giảm năng lượng tiêu thụ của nút cảm biến;
Tăng thời gian sống của nút cũng như cả hệ thống WSN;
Giảm giá thành nút cảm biến để dễ dàng triển khai quy mô lớn;
Tăng tính tương thích của hệ thống WSN để có thể dễ dàng kết nối vào các
hệ thống khác như mạng Internet, mạng gia đình;
Trang 12 Đưa ra các mô hình ứng dụng mới có khả năng thay đổi cuộc sống của con người trong tương lai
Trong luận văn này, tác giả tập trung nghiên cứu hệ điều hành mã nguồn mở Contiki cho mạng cảm biến không dây và xây dựng mô hình ứng dụng nông nghiệp chính xác tại Lào Nông nghiệp chính xác là một nền nông nghiệp được ứng dụng kết hợp những công nghệ mới, tiên tiến để sản xuất, còn gọi là công nghệ cao nhằm nâng cao hiệu quả, tạo bước đột phá về năng suất, chất lượng nông sản, thỏa mãn nhu cầu ngày càng cao của xã hội và đảm bảo sự phát triển nông nghiệp bền vững
2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của luận văn là hệ điều hành mã nguồn mở Contiki cho mạng cảm biến không dây và ứng dụng trong nông nghiệp chính xác tại Lào Trong luận văn này, tác giả đề xuất ứng dụng công nghệ thông tin trong nông nghiệp tại Lào nhằm giúp cho người nông dân có thể kiểm soát được các điều kiện sinh trưởng và phát triển của cây trồng (nhiệt độ, độ ẩm…) Các nghiên cứu, đánh giá được tác giả thực hiện dựa trên công cụ mô phỏng Cooja
3 Mục tiêu của đề tài
Hướng nghiên cứu của luận văn là nghiên cứu đánh giá về khả năng áp dụng, tính hiệu quả khi sử dụng hệ điều hành mã nguồn mở Contiki cho mạng cảm biến không dây trong hệ thống nông nghiệp chính xác nhằm nâng cao hiệu quả, tạo bước đột phá về năng suất, chất lượng nông sản, thỏa mãn nhu cầu ngày càng cao của xã hội và đảm bảo sự phát triển nông nghiệp bền vững Dựa trên những phân tích, nghiên cứu lý thuyết, tác giả xây dựng mô hình ứng dụng nông nghiệp chính xác tại Lào Mô hình ứng dụng này được tác giả đánh giá dựa trên mô phỏng Kết quả mô phỏng là cơ sở lý thuyết tốt để phục vụ cho việc triển khai ứng dụng mạng cảm biến không dây trong thực tế
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận văn là nghiên cứu các lý thuyết đã có ở trong và ngoài nước để làm chủ hệ điều hành mã nguồn mở Contiki từ đó xây dựng
mô hình ứng dụng thu thập dữ liệu trong nông nghiệp chính xác tại Lào Dựa trên
Trang 13các cơ sở lý thuyết và các phân tích, đánh giá, tác giả tiến hành cài đặt, mô phỏng
hệ thống
5 Nội dung của luận văn
Luận văn được trình bày thành 03 chương như sau:
Chương 1: Tổng quan về mạng cảm biến không dây
Chương 2: Hệ điều hành mã nguồn mở Contiki
Chương 3: Ứng dụng thu thập dữ liệu trong nông nghiệp chính xác tại Lào
Cuối cùng là kết luận, tóm tắt các nội dung nghiên cứu và dự kiến hướng nghiên cứu tiếp theo của luận văn
6 Đóng góp của luận văn
Hiện nay, nền nông nghiệp tại Lào vẫn còn thủ công, ứng dụng khoa học công nghệ còn chậm; sản xuất nông nghiệp còn phụ thuộc nhiều vào thời tiết dẫn đến năng suất thấp Trong luận văn này, tác giả đề xuất ứng dụng công nghệ thông tin trong nông nghiệp tại Lào nhằm giúp cho người nông dân có thể kiểm soát được các điều kiện sinh trưởng và phát triển của cây trồng (nhiệt độ, độ ẩm…) Do vậy, vấn đề nghiên cứu trong luận văn có ý nghĩa khoa học và thực tiễn
Trang 14Chương 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN
KHÔNG DÂY
1.1 Khái niệm về mạng cảm biến không dây
Mạng cảm biến không dây (Wireless Sensor Network) là một kết cấu hạ tầng
bao gồm các thành phần cảm nhận (đo lường), tính toán và truyền thông nhằm cung
cấp cho người quản trị khả năng đo đạc, quan sát và tác động lại với các sự kiện,
hiện tượng trong một môi trường xác định Các ứng dụng điển hình của mạng cảm
biến không dây bao gồm thu thập dữ liệu, theo dõi, giám sát và y học…
Một mạng cảm biến không dây bao gồm nhiều nút mạng Các nút mạng
thường là các thiết bị đơn giản, nhỏ gọn, giá thành thấp, có số lượng lớn, thường
được phân bố trên một diện tích rộng, sử dụng nguồn năng lượng hạn chế (thường
dùng pin), có thời gian hoạt động lâu dài (từ vài tháng đến vài năm) và có thể hoạt
động trong môi trường khắc nghiệt (như trong môi trường độc hại, ô nhiễm, nhiệt
độ cao,…)
Hình 1.1: Mạng cảm biến không dây với các nút cảm biến
phân bố rải rác trong trường cảm biến
Các nút cảm biến thường nằm rải rác trong trường cảm biến như được minh
họa ở hình 1.1 Mỗi nút cảm biến có khả năng thu thập và định tuyến dữ liệu đến
một Sink/Gateway và người dùng cuối Các nút giao tiếp với nhau qua mạng vô
tuyến ad-hoc và truyền dữ liệu về Sink bằng kỹ thuật truyền đa chặng Sink có thể
truyền thông với người dùng cuối/người quản lý thông qua Internet hoặc vệ tinh hay
bất kỳ mạng không dây nào (như WiFi, mạng di động, WiMAX…) hoặc không cần
đến các mạng này mà ở đó Sink có thể kết nối trực tiếp với người dùng cuối Lưu ý
Trang 15rằng, có thể có nhiều Sink/Gateway và nhiều người dùng cuối trong kiến trúc thể hiện ở hình 1.1
Trong các mạng cảm biến không dây, các nút cảm biến có cả hai chức năng
đó là vừa khởi tạo dữ liệu và vừa là bộ định tuyến dữ liệu Do vậy, việc truyền thông có thể được thực hiện bởi hai chức năng đó là:
Chức năng nguồn dữ liệu: Các nút thu thập thông tin về các sự kiện và thực
hiện truyền thông để gửi dữ liệu của chúng đến Sink
Chức năng bộ định tuyến: Các nút cảm biến cũng tham gia vào việc
chuyển tiếp các gói tin nhận được từ các nút khác tới các điểm đến kế tiếp trong tuyến đường đa chặng đến Sink
1.2 Những thách thức đối với mạng cảm biến không dây
1.2.1 Những thách thức ở cấp độ nút
Trong mạng cảm biến không dây, những thách thức chính ở cấp độ nút cần phải giải quyết là công suất tiêu thụ, kích thước vật lý và giá thành Công suất tiêu thụ là một yếu tố quan trọng đối với các nút mạng cảm biến không dây bởi vì chúng thường sử dụng nguồn năng lượng là pin hoặc một nguồn năng lượng thấp bên ngoài Kích thước vật lý cũng rất quan trọng bởi vì các yếu tố kích thước và hình thức quyết định đến các ứng dụng tiềm năng cho mạng cảm biến không dây, các nút mạng cảm biến không dây phải có kích thước nhỏ gọn Giá thành cũng quan trọng đối với các nút mạng cảm biến không dây bởi vì mạng cảm biến không dây thường được triển khai với quy mô lớn Với việc triển khai hàng ngàn các nút mạng cảm biến thì việc tiết kiệm giá thành một vài đôla cho mỗi nút sẽ cho phép tiết kiệm được một khoản tiền đáng kể
Hạn chế nghiêm trọng trong vấn đề tiêu thụ năng lượng có ảnh hưởng đến việc thiết kế phần cứng, phần mềm, giao thức mạng và thậm chí cả kiến trúc mạng Đối với các nhà thiết kế phần cứng, bắt buộc phải lựa chọn các linh kiện phần cứng
có công suất thấp và bố trí để giảm thiểu tối đa dòng rò cũng như hỗ trợ chế độ ngủ hiệu quả về mặt năng lượng Phần mềm chạy trên các nút cảm biến không dây cần phải tắt các thành phần phần cứng không sử dụng và đặt các thành phần phần cứng
ở chế độ ngủ càng nhiều càng tốt Nhờ sự hỗ trợ của các nhà phát triển phần mềm, các nút mạng cảm biến có thể chạy hệ điều hành và nó cung cấp các cơ chế hoạt động công suất thấp giúp tiết kiệm năng lượng
Trang 16Vấn đề hiệu quả năng lượng ảnh hưởng đáng kể đến kiến trúc mạng cũng như việc thiết kế các giao thức mạng Bởi vì quá trình truyền thông tiêu tốn nhiều năng lượng nên điều quan trọng là xác định hướng các kiểu truyền thông để chúng
sử dụng hiệu quả tài nguyên sẵn có Để giúp các giao thức mạng làm được điều này, phần cứng và phần mềm cần biết được thông tin về sự tiêu hao năng lượng và cung cấp thông tin này đến tầng mạng Ngoài ra, để tiết kiệm năng lượng, người thiết kế
hệ thống cần phải đặt các thiết bị phần cứng ở chế độ ngủ càng nhiều càng tốt Tuy nhiên, chế độ ngủ cũng ảnh hưởng đến trễ truyền thông của hệ thống
Kích thước vật lý và giá thành có ảnh hưởng lớn đối với cả nhà thiết kế phần cứng lẫn phần mềm Đối với các nhà thiết kế phần cứng thì ảnh hưởng ở đây là các phần cứng cần phải có kích thước nhỏ gọn, số lượng các linh kiện cần phải ít, mỗi linh kiện cần phải có kích thước nhỏ và rẻ tiền Những ảnh hưởng đối với các nhà thiết kế phần mềm là ít rõ rệt hơn Với chi phí thấp, kích thước vật lý nhỏ, công suất tiêu thụ thấp thì các bộ vi xử lý mà trên đó các phần mềm hoạt động trở nên nhỏ gọn hơn, tốc độ tính toán và kích thước bộ nhớ của các bộ vi xử lý cũng bị giảm bớt Các nhà thiết kế phần mềm cho một hệ thống mạng cảm biến không dây thường chỉ có vài ngàn Byte bộ nhớ để làm việc so với hàng triệu hoặc hàng tỉ Byte
bộ nhớ trong các hệ thống máy tính thông dụng Do đó, phần mềm cho các nút mạng cảm biến không dây không chỉ cần hiệu quả năng lượng mà còn phải có khả năng chạy trong một môi trường hạn chế nghiêm ngặt về tài nguyên
1.2.2 Những thách thức ở cấp độ mạng
Những thách thức ở cấp độ nút của mạng cảm biến không dây cần giải quyết
là sự hạn chế về nguồn tài nguyên sẵn có, trong khi những thách thức ở cấp độ mạng cần giải quyết lại là vấn đề quy mô lớn của mạng cảm biến không dây
Mạng cảm biến không dây có tiềm năng rất lớn cả về quy mô, số lượng các nút tham gia vào hệ thống và các dữ liệu được tạo ra bởi mỗi nút Trong nhiều trường hợp, các nút cảm biến không dây thu thập một lượng lớn dữ liệu từ nhiều điểm thu thập riêng biệt Nhiều mạng cảm biến không dây bao gồm hàng ngàn các nút cảm biến
Kích thước mạng ảnh hưởng đến việc thiết kế giao thức định tuyến trong mạng cảm biến không dây Định tuyến là quá trình mạng xác định những tuyến đường tốt nhất để truyền bản tin qua mạng Định tuyến có thể được thực hiện hoặc
là tập trung hoặc là phân tán Với định tuyến tập trung thì một máy chủ tính toán
Trang 17bản đồ định tuyến cho toàn bộ mạng, còn với định tuyến phân tán thì mỗi nút thực hiện tự quyết định lựa chọn tuyến đường để gửi mỗi bản tin
Thiết kế các giao thức định tuyến là rất quan trọng bởi vì nó ảnh hưởng đến
cả hiệu năng mạng xét về lượng dữ liệu mà mạng có thể duy trì cũng như tốc độ dữ liệu để có thể vận chuyển dữ liệu thành công qua mạng và hơn hết là khoảng thời gian tồn tại của mạng được đảm bảo Trong mạng cảm biến không dây, việc truyền thông tin đòi hỏi năng lượng Các nút thực hiện truyền thông tin nhiều sẽ mất năng lượng nhanh hơn so với các nút khác thường ở chế độ ngủ Vì vậy, giao thức định tuyến phải lựa chọn đầy đủ thông tin khi lập kế hoạch vận chuyển bản tin qua mạng
Đối với một nút khi thực hiện lựa chọn thông tin định tuyến thì nó yêu cầu các thông tin cả về mạng cũng như toàn bộ các nút lân cận gần nhất Thông tin này đòi hỏi cần phải có bộ nhớ Tuy nhiên, mỗi nút có một số lượng bộ nhớ hạn chế Vì vậy, giao thức định tuyến phải lựa chọn một cách kỹ lưỡng để giữ lại những thông tin về mạng, về các nút lân cận cần thiết và bỏ qua những thông tin không cần thiết khác
Các mạng cảm biến không dây thường hoạt động trên kênh truyền không đáng tin cậy, điều này làm cho vấn đề định tuyến càng gặp nhiều khó khăn Trong kênh truyền thông vô tuyến công suất thấp thì không chắc chắn rằng nếu một bản tin đã được gửi đi bởi một nút thì bản tin đó sẽ nhận được bởi một nút đích được dự kiến trước trong mạng Bản tin này có thể bị gián đoạn hoặc có thể bị chặn hoàn toàn bởi một vật lớn bằng kim loại vừa được đặt giữa phía gửi và phía nhận Ngay
cả khi bản tin không bị chặn hoàn toàn thì các bit của nó có thể bị thay đổi trên đường truyền
Tính chất không đáng tin cậy của mạng cảm biến không dây được gọi là "tổn hao" Tổn hao nên được coi như là một đặc tính vốn có trong mạng cảm biến không dây Vấn đề tổn hao trong mạng cảm biến không dây là một thách thức đối với các giao thức định tuyến Các giao thức định tuyến phải tính toán vấn đề tổn hao khi quyết định tuyến đường để truyền các bản tin và có thể bản tin cần phải được gửi lại Các bản tin sẽ được định tuyến sao cho các nguy cơ mất mát bản tin là thấp nhất Nhưng nếu một bản tin được truyền qua một tuyến đường xảy ra việc mất dữ liệu thì bản tin cần được gửi lại một vài lần trong trường hợp bản tin không thể gửi được qua mạng trong lần thử đầu tiên
Trang 18Tổn hao là một thuộc tính khó xác định, đặc biệt là trong các mạng không dây Tổn hao bị ảnh hưởng bởi các yếu tố môi trường như nhiệt độ và độ ẩm của không khí cũng như môi trường vật lý xung quanh của các mạng cảm biến không dây Ví dụ, nếu một lò vi sóng được bật lên, các trường điện từ mà nó tạo ra có thể can thiệp vào băng tần truyền không dây 2.4GHz Tương tự như vậy, một mạng máy tính WiFi có thể ảnh hưởng tới một mạng cảm biến không dây, do đó các mạng cảm biến không dây thường bị mất dữ liệu nhiều hơn vào ban ngày, khi mà mọi người đang sử dụng mạng WiFi hơn là vào ban đêm Các giao thức định tuyến cho mạng cảm biến không dây cần phải được chuẩn bị trước cho những vấn đề này
Tính chất quy mô lớn của các mạng cảm biến không dây làm phức tạp thêm việc định địa chỉ các nút Trong một mạng quy mô lớn, mỗi nút phải có địa chỉ riêng
để các bản tin có thể được gửi tới nó Các địa chỉ cần có độ dài đủ lớn sao cho mỗi nút trong các mạng quy mô lớn phải có một địa chỉ riêng biệt Và ngay cả khi mạng
có quy mô nhỏ thì nó có thể tương tác với các nút mạng khác bên ngoài Trong trường hợp này, địa chỉ của các nút trong hai mạng phải là duy nhất
Vì số lượng các mạng cảm biến không dây có thể tương tác với các mạng khác bên ngoài ngày tăng, nên chúng ta cần phải chuẩn bị cho quy mô phát triển theo cấp số nhân Do đó, cơ chế định địa chỉ cho các mạng cảm biến không dây phải xác định duy nhất vài triệu, thậm chí vài tỷ các nút mạng riêng biệt
Việc quản lý mạng đối với mạng cảm biến không dây quy mô lớn là một thách thức vô cùng khó khăn Với mạng cảm biến không dây có thể bao gồm hàng ngàn nút thì việc thực hiện quản lý mạng theo cách truyền thống không thể áp dụng ngay được Quản lý theo cách truyền thống đòi hỏi sự điều chỉnh cơ sở hạ tầng mạng thủ công bởi một quản trị viên hệ thống Với các mạng cảm biến không dây ở dạng Ad-hoc, mạng phải được chuẩn bị để tự quản lý chính nó mà không có bất kỳ
sự điều hành mạng nào của con người Ngoài ra, trong mạng máy tính truyền thống, mỗi máy tính kết nối mạng có thể yêu cầu cấu hình thủ công hoặc bán thủ công Ví
dụ như người dùng ở các máy tính có thể cần phải nhập mật khẩu để truy cập mạng Đối với mạng cảm biến không dây thì điều đó là không khả thi khi cho một người nhập mật khẩu vào từng nút mạng cảm biến tại các thời điểm khi cần truy cập mạng
Trang 191.2.3 Sự chuẩn hóa
Tiêu chuẩn là một yếu tố then chốt đối với sự thành công của các mạng cảm biến không dây Mạng cảm biến không dây được biết đến không chỉ bởi số lượng lớn các nút và các ứng dụng tiềm năng mà còn được biết đến với việc có nhiều tiêu chuẩn, nhiều nhà sản xuất và nhiều công ty khác nhau cùng quan tâm đóng góp về mặt công nghệ Các công nghệ sản xuất khác nhau có những tiêu chuẩn khác nhau Một nhà sản xuất thiết bị cảm biến chuyên về cảm biến độ ẩm chính xác cao có thể không quan tâm đến các hệ thống công nghệ thông tin Tuy nhiên, cả hai phải làm việc cùng nhau trong hệ thống tòa nhà tự động, ở đó các cảm biến độ ẩm tạo ra đầu vào cho việc kiểm soát môi trường trong toà nhà Hệ thống kiểm soát môi trường được điều khiển bởi một hệ thống công nghệ thông tin tiên tiến, chúng tiếp nhận đầu vào từ các cảm biến độ ẩm
Nếu không có sự chuẩn hóa thì các nhà sản xuất thiết bị và các nhà tích hợp
hệ thống cần phải xây dựng toàn bộ hệ thống đối với mọi hệ thống mới được cài đặt Ngoài ra, nhà sản xuất và nhà tích hợp sẽ sử dụng một công nghệ độc quyền từ một nhà cung cấp riêng lẻ Công nghệ độc quyền này có thể cung cấp các lợi ích trong thời gian ngắn, nhưng nó làm cho nhà sản xuất và nhà tích hợp đều gặp khó khăn trong việc phát triển hệ thống của họ vượt ra ngoài công nghệ độc quyền bởi các nhà cung cấp Ngoài ra, khi công nghệ này là độc quyền thì các nhà cung cấp công nghệ sẽ điều khiển tương lai của công nghệ mà không phải là các nhà sản xuất
và các nhà tích hợp
Với việc chuẩn hóa công nghệ thì công nghệ là độc lập với nhà cung cấp, nhà sản xuất và người dùng Bất kỳ nhà cung cấp nào đều có thể lựa chọn để cung cấp các hệ thống dựa trên công nghệ Các nhà sản xuất thiết bị, các nhà tích hợp hệ thống có thể lựa chọn để xây dựng hệ thống của họ dựa trên công nghệ từ bất kỳ nhà cung cấp nào
Tiêu chuẩn hóa công nghệ có một ưu điểm lớn đó là việc chấp nhận các điều khoản Khi công nghệ được chuẩn hóa thì các nhà cung cấp, nhà sản xuất và các nhà tích hợp hệ thống có thể dễ dàng chọn các công nghệ mà không có rủi ro từ các nhà cung cấp chính nữa
Vấn đề chuẩn hóa công nghệ mạng cảm biến không dây là một thách thức không chỉ về mặt công nghệ mà còn trong điều khoản của các tổ chức Các mạng cảm biến không dây bao gồm nhiều cấp độ khác nhau của công nghệ, từ công nghệ
Trang 20truyền thông công suất thấp đến kỹ thuật mạng, định tuyến, truy cập mức ứng dụng
và tích hợp hệ thống công nghệ thông tin Mỗi cấp độ có những thách thức kỹ thuật riêng nhưng quan trọng hơn đó là việc chuẩn hóa trong mỗi cấp được quản lý bởi các nhóm khác nhau
1.2.2 Khả năng cộng tác
Khả năng cộng tác là khả năng các thiết bị và hệ thống của các nhà cung cấp khác nhau có thể hoạt động cùng nhau Khả năng cộng tác là điều cần thiết giữa các nhà sản xuất khác nhau và giữa mạng cảm biến không dây với các cơ sở hạ tầng mạng hiện có
Khi được chuẩn hóa, mạng cảm biến không dây phải có khả năng cộng tác ở nhiều mặt Các nút cảm biến phải tương thích với nhau từ lớp vật lý cho đến lớp ứng dụng hoặc lớp tích hợp Khả năng cộng tác ở lớp vật lý xảy ra khi các thiết bị từ các hãng khác nhau giao tiếp vật lý được với nhau Ở cấp độ vật lý, các nút cảm biến không dây phải thống nhất trên các vấn đề như là tần số vô tuyến để thực hiện truyền thông, kiểu điều chế tín hiệu và tốc độ dữ liệu được truyền Ở cấp độ mạng, các nút phải thống nhất về định dạng thông tin được gửi và nhận trên các kênh vật
lý cũng như các nút mạng được đánh địa chỉ như thế nào, các bản tin sẽ được vận chuyển qua mạng bằng cách nào Ở lớp ứng dụng hoặc lớp tích hợp, các nút cảm biến phải chia sẻ cách thức để dữ liệu được gửi vào hoặc lấy ra từ mạng, cũng như làm thế nào để nút cảm biến có thể được truy cập tới từ các hệ thống bên ngoài
1.3 Kiến trúc ngăn xếp giao thức của mạng cảm biến không dây
Kiến trúc ngăn xếp giao thức được sử dụng bởi Sink và các nút cảm biến được minh họa ở hình 1.2 Kiến trúc ngăn xếp giao thức này là sự kết hợp giữa vấn
đề năng lượng và vấn đề định tuyến có quan tâm đến năng lượng, các giao thức tổng hợp dữ liệu và truyền thông hiệu quả năng lượng qua môi trường không dây Kiến trúc ngăn xếp giao thức bao gồm lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp giao vận và lớp ứng dụng, cũng như các mặt phẳng đồng bộ, mặt phẳng định vị, mặt phẳng quản lý cấu trúc liên kết mạng, mặt phẳng quản lý công suất, mặt phẳng quản
lý di động và mặt phẳng quản lý nhiệm vụ Lớp vật lý xác định các yêu cầu cần thiết
đó là các kỹ thuật điều chế, truyền dẫn, tiếp nhận dữ liệu Bởi vì môi trường có nhiễu và các nút cảm biến có thể di động, nên lớp liên kết có trách nhiệm đảm bảo việc truyền thông tin cậy nhờ các kỹ thuật điều khiển lỗi và quản lý truy nhập kênh thông tin thông qua lớp MAC để hạn chế tối đa xung đột với các bản tin quảng bá
Trang 21của nút lân cận Tùy thuộc vào các nhiệm vụ cảm biến thì các chương trình ứng dụng khác nhau có thể được xây dựng và được sử dụng trên lớp ứng dụng Lớp mạng quan tâm đến việc định tuyến dữ liệu từ lớp giao vận Lớp giao vận giúp duy trì dòng dữ liệu nếu ứng dụng mạng cảm biến yêu cầu Thêm vào đó là các mặt phẳng quản lý năng lượng, di động và quản lý nhiệm vụ để giám sát năng lượng tiêu thụ, sự di chuyển và sự phân phối nhiệm vụ giữa các nút cảm biến Những mặt phẳng này giúp các nút cảm biến phối hợp với nhau trong việc cảm nhận môi trường và giảm tổng năng lượng tiêu thụ
Hình 1.2: Kiến trúc ngăn xếp giao thức mạng cảm biến không dây
Mặt phẳng quản lý năng lượng quản lý việc sử dụng năng lượng của một nút cảm biến Ví dụ, nút cảm biến có thể tắt bộ thu của nó sau khi nhận được một bản tin từ một nút lân cận Điều này nhằm tránh việc nhận được các bản tin trùng lặp Ngoài ra, khi mức năng lượng của một nút cảm biến xuống thấp thì nút cảm biến sẽ thông báo quảng bá đến các nút lân cận để các nút lân cận biết rằng năng lượng của
nó đang ở mức thấp và nó không thể tham gia vào việc định tuyến các bản tin Năng lượng còn lại chỉ để dành riêng cho việc cảm nhận và truyền dữ liệu của riêng nút
đó Mặt phẳng quản lý di động phát hiện và đăng ký sự di chuyển của các nút cảm biến, do đó một tuyến đường đến người dùng cuối luôn luôn được duy trì và các nút cảm biến có thể theo dõi các nút lân cận của chúng Bằng việc nhận biết các nút lân cận thì các nút cảm biến có thể cân bằng giữa việc sử dụng năng lượng và nhiệm vụ của chúng Mặt phẳng quản lý nhiệm vụ cân bằng và lập lịch các nhiệm vụ cảm nhận cho một khu vực cụ thể Không phải tất cả các nút cảm biến trong khu vực đó
Trang 22được yêu cầu thực hiện nhiệm vụ cảm nhận ở cùng một thời điểm Do đó, một số nút cảm biến thực hiện nhiều nhiệm vụ hơn các nút khác, tùy thuộc vào mức năng lượng của chúng Những mặt phẳng quản lý này là cần thiết để các nút cảm biến có thể làm việc cùng nhau sao cho chúng đạt được hiệu quả cao nhất về năng lượng, về định tuyến dữ liệu trong mạng cảm biến và chia sẻ tài nguyên giữa các nút cảm biến Nếu không có các mặt phẳng quản lý này thì mỗi nút cảm biến chỉ có thể làm việc riêng lẻ Từ góc độ toàn mạng thì sẽ hiệu quả hơn nếu các nút cảm biến có thể cộng tác với nhau, nhờ đó thời gian tồn tại của mạng có thể được kéo dài
1.3.1 Lớp vật lý
Lớp vật lý có trách nhiệm lựa chọn tần số, tạo tần số sóng mạng, phát hiện tín hiệu và điều chế dữ liệu
1.3.2 Lớp liên kết dữ liệu
Lớp liên kết dữ liệu chịu trách nhiệm ghép các dòng dữ liệu, phát hiện khung
dữ liệu, điều khiển lỗi và điều khiển truy nhập kênh truyền Nó đảm bảo sự tin cậy của các kết nối điểm - điểm và điểm - đa điểm trong mạng
1.3.2.1 Điều khiển truy nhập kênh truyền
Giao thức MAC (Medium Access Control) trong mạng cảm biến đa chặng và
tự tổ chức cần phải đạt được hai mục tiêu Mục tiêu thứ nhất là tạo cơ sở hạ tầng mạng Bởi vì hàng trăm nút cảm biến có thể nằm rải rác với mật độ cao trong một trường cảm biến, nên cơ chế MAC cần phải thiết lập các liên kết truyền thông để truyền dữ liệu Điều này tạo thành cơ sở hạ tầng mạng cần thiết cho việc truyền thông không dây đa chặng và cung cấp khả năng tự tổ chức Mục tiêu thứ hai là chia
sẻ hiệu quả các tài nguyên truyền thông giữa các nút cảm biến Những tài nguyên này bao gồm thời gian, năng lượng và tần số Trong suốt một thập kỷ qua, một số giao thức MAC đã được phát triển cho các mạng cảm biến không dây để giải quyết những yêu cầu này
Với bất kể một cơ chế truy nhập kênh truyền nào thì vấn đề hiệu quả năng lượng là vô cùng quan trọng Một giao thức MAC chắc chắn phải hỗ trợ các chế độ hoạt động tiết kiệm năng lượng cho nút cảm biến Việc bảo tồn năng lượng rõ ràng nhất là tắt bộ thu phát khi không cần thiết Mặc dù phương pháp tiết kiệm năng lượng này dường như có lợi đáng kể cho việc tiết kiệm năng lượng nhưng nó có thể cản trở việc kết nối mạng Sau khi bộ thu phát tắt thì nút cảm biến không thể nhận được bất kỳ gói tin nào từ các nút lân cận, bởi vì nó bị ngắt kết nối mạng Ngoài ra,
Trang 23việc bật và tắt bộ thu phát vô tuyến đều có một chi phí về năng lượng tiêu thụ do các thủ tục khởi động và tắt bộ thu phát vô tuyến đều yêu cầu cả về phần cứng và phần mềm Có một số chế độ hoạt động hữu ích khác cho nút cảm biến không dây tùy thuộc vào số lượng các trạng thái của bộ vi xử lý, bộ nhớ, bộ chuyển đổi A/D và
bộ thu phát Mỗi chế độ này được đặc trưng bởi năng lượng tiêu thụ, thời gian trễ để chuyển đổi giữa các chế độ năng lượng đó
1.3.2.2 Điều khiển lỗi
Một chức năng quan trọng của lớp liên kết dữ liệu là điều khiển lỗi (Error Control - EC) Hai chế độ quan trọng của phương thức điều khiển lỗi trong các mạng truyền thông là sửa lỗi trước (Forward Error Control - FEC), yêu cầu lặp lại
tự động (Automatic Repeat Request - ARQ) Lợi ích của ARQ trong các ứng dụng mạng cảm biến bị hạn chế do việc tổn hao năng lượng khi truyền lại và việc giải mã cũng phức tạp hơn ở FEC, cũng như các khả năng sửa lỗi cần phải được xây dựng
Do đó, các mã điều khiển lỗi đơn giản với việc mã hóa và giải mã ít phức tạp có thể
là các giải pháp hiện tại tốt nhất cho các mạng cảm biến Để thiết kế một cơ chế như vậy thì điều quan trọng là phải hiểu rõ về các đặc tính kênh truyền
1.3.3 Lớp mạng
Các nút cảm biến nằm rải rác với mật độ cao trong một trường cảm biến, có thể ở gần hoặc ngay trong hiện trường như được chỉ ra trong hình 1.1 Thông tin thu thập được liên quan đến hiện trường được truyền đến Sink có thể được đặt xa so với trường cảm biến Tuy nhiên, phạm vi truyền thông của các nút cảm biến bị hạn chế
đã không cho phép việc truyền thông trực tiếp giữa mỗi nút cảm biến với Sink Điều này đòi hỏi các giao thức định tuyến không dây đa chặng giữa các nút cảm biến và Sink bằng việc sử dụng các nút cảm biến trung gian để thực hiện chuyển tiếp Các
kỹ thuật định tuyến hiện có đã được phát triển cho các mạng Ad-hoc không dây thường không phù hợp với các yêu cầu của mạng cảm biến Lớp mạng của các mạng cảm biến thường được thiết kế theo quy tắc sau đây:
Vấn đề hiệu quả năng lượng luôn là vấn đề được quan tâm nhất
Các mạng cảm biến chủ yếu là tập trung dữ liệu
Ngoài việc định tuyến, các nút chuyển tiếp có thể tổng hợp các dữ liệu từ các nút lân cận thông qua việc xử lý cục bộ
Trang 24 Do số lượng lớn các nút trong một mạng cảm biến không dây nên có thể các nút không có nhận dạng duy nhất và chúng có thể cần phải được đánh địa chỉ dựa trên dữ liệu và vị trí của chúng
Một vấn đề quan trọng đối với việc định tuyến trong các mạng cảm biến không dây là việc định tuyến có thể dựa trên các truy vấn tập trung dữ liệu Dựa trên các thông tin được yêu cầu bởi người dùng, các giao thức định tuyến sẽ xác định các nút khác nhau trong mạng để cung cấp thông tin yêu cầu Cụ thể là người dùng quan tâm nhiều hơn đến truy vấn một thuộc tính của hiện trường chứ không phải là truy vấn một nút riêng lẻ Ví dụ "các khu vực có nhiệt độ trên 21oC" là một truy vấn phổ biến hơn so với "nhiệt độ đọc bởi nút số #47"
Một chức năng quan trọng khác của lớp mạng là cung cấp kết nối liên mạng với các mạng bên ngoài chẳng hạn như các mạng cảm biến khác, các hệ thống chỉ huy, điều khiển và mạng Internet Các nút Sink có thể được sử dụng như một Gateway kết nối với các mạng khác, trong khi ở một trường hợp khác chúng tạo ra một đường trục kết nối các nút Sink với nhau và kết nối đường trục với các mạng khác thông qua một Gateway
1.3.4 Lớp giao vận
Sự phát triển của các giao thức lớp giao vận là một nhiệm vụ đầy thách thức bởi vì các nút cảm biến bị ảnh hưởng bởi những hạn chế về phần cứng như là năng lượng và bộ nhớ hạn chế Do đó, mỗi nút cảm biến không thể lưu trữ một lượng lớn
dữ liệu như một máy chủ trên mạng Internet
Để thực hiện việc truyền thông trong mạng cảm biến không dây thì các giao thức lớp giao vận yêu cầu hai chức năng chính đó là: Đảm bảo độ tin cậy và điều khiển tắc nghẽn Do tài nguyên hạn chế và chi phí cao về năng lượng đã ảnh hưởng đến độ tin cậy của các cơ chế truyền thông điểm cuối đến điểm cuối được sử dụng trong các mạng cảm biến không dây Do vậy cần thiết phải có các cơ chế đáng tin cậy Ngoài ra, tắc nghẽn có thể xuất hiện bởi lưu lượng lớn dữ liệu được tạo ra trong suốt quá trình xảy ra các sự kiện trong trường cảm biến Tắc nghẽn cần được giảm thiểu bởi các giao thức lớp giao vận
1.3.5 Lớp ứng dụng
Lớp ứng dụng bao gồm các ứng dụng chính cũng như một số chức năng quản
lý Ngoài các chương trình ứng dụng cụ thể cho mỗi ứng dụng thì các chức năng quản lý và xử lý truy vấn cũng nằm ở lớp này
Trang 251.4 Chuẩn truyền thông IEEE 802.15.4 cho mạng cảm biến không dây
1.4.1 Mô hình truyền thông trong mạng cảm biến không dây
Mô hình truyền thông cho các nút mạng cảm biến không dây có thể được chia thành ba loại: Điểm - Điểm, Điểm - Đa điểm và Đa điểm - Điểm Mỗi mô hình truyền thông được sử dụng trong các trường hợp khác nhau Nhiều ứng dụng sử dụng kết hợp các mô hình truyền thông này
1.4.1.1 Mô hình truyền thông Điểm - Điểm
Mô hình truyền thông Điểm - Điểm xảy ra khi một nút mạng cảm biến không dây truyền thông với một nút mạng cảm biến không dây khác Tuy nhiên, việc truyền thông có thể có liên quan đến các nút mạng cảm biến khác Trong hình 1.3, hai nút mạng cảm biến không dây giao tiếp với nhau nhưng có hai nút mạng cảm biến khác liên quan đến quá trình truyền thông, bởi vì chúng chuyển tiếp các gói tin giữa các điểm đầu cuối của quá trình truyền thông
Hình 1.3: Mô hình truyền thông Điểm - Điểm trong mạng cảm biến không dây
1.4.1.2 Mô hình truyền thông Điểm - Đa điểm
Mô hình truyền thông Điểm - Đa điểm được minh họa như ở hình 1.4
Hình 1.4: Mô hình truyền thông Điểm - Đa điểm trong mạng cảm biến không dây
Trang 26Mô hình này được sử dụng để gửi bản tin từ một nút tới một số nút khác và
có thể là tất cả các nút khác trong mạng Mô hình truyền thông này có thể được sử dụng để gửi một lệnh thiết lập đến các nút trong mạng Có nhiều hình thức truyền thông trong mô hình Điểm - Đa điểm Tùy thuộc vào tình huống khác nhau thì yêu cầu độ tin cậy của bản tin gửi đi là khác nhau Nếu yêu cầu độ tin cậy cao thì giao thức truyền thông có thể phải truyền lại các bản tin cho đến khi tất cả các nút nhận
đã nhận thành công được gói tin Nếu độ tin cậy không yêu cầu quá khắt khe thì giao thức truyền thông có thể không cần phải truyền lại bất kỳ bản tin nào và giao thức truyền thông coi kênh truyền thông đủ tin cậy để các bản tin có thể đến được các nút nhận
Nhiều cơ chế và giao thức đã được thiết kế để thực hiện truyền thông Điểm -
Đa điểm trong mạng cảm biến không dây Dạng đơn giản của truyền thông Điểm -
Đa điểm là mạng tràn lan Điều này được thực hiện bằng cách từng nút quảng bá bản tin được gửi đi Khi một nút lắng nghe được một bản tin quảng bá được phát từ một nút bên cạnh, nút này sẽ quảng bá lại bản tin tới tất cả các nút khác xung quanh
nó Để tránh việc gây nhiễu lên nhau, mỗi nút chờ đợi một khoảng thời gian ngẫu nhiên trước khi gửi lại các bản tin Hiệu quả của cơ chế này là bản tin cũng đến tất
cả các nút trong mạng, trừ các bản tin bị mất do nhiễu vô tuyến hoặc các xung đột
vô tuyến
Mặc dù một mạng tràn lan có thể làm việc tốt trong một số trường hợp nhưng
nó không phải là cơ chế đáng tin cậy Các bản tin bị mất do nhiễu hoặc xung đột cần được truyền lại Để đạt được độ tin cậy trong truyền thông Điểm - Đa điểm thì giao thức truyền thông phải phát hiện được các bản tin bị mất và phát lại chúng
1.4.1.3 Mô hình truyền thông Đa điểm - Điểm
Mô hình truyền thông Đa điểm - Điểm thường được sử dụng để thu thập dữ liệu từ các nút trong trường cảm biến Với mô hình truyền thông Đa điểm - Điểm, một vài nút gửi dữ liệu đến cùng một nút Nút này thường được gọi là Sink Hình 1.5 minh họa mô hình truyền thông Đa điểm - Điểm
Truyền thông Đa điểm - Điểm có thể được sử dụng để thu thập dữ liệu cảm biến chẳng hạn như nhiệt độ từ các nút trong mạng nhưng nó cũng được sử dụng truyền thông tin trạng thái các nút trong mạng Các nút gửi các báo cáo trạng thái định kỳ tới Sink Nút Sink sau đó báo cáo toàn bộ hiệu năng của mạng tới người quan sát bên ngoài
Trang 27Hình 1.5: Mô hình truyền thông Đa điểm - Điểm trong mạng cảm biến không dây Trong truyền thông Đa điểm - Điểm, có thể có nhiều hơn một Sink trong mạng Nếu ứng dụng không xác định một nút cụ thể để dữ liệu có thể được gửi tới thì mạng sẽ lựa chọn gửi dữ liệu đến Sink gần nhất so với nút gửi Điều này cho phép có nhiều nút Sink trong mạng nhằm thu thập dữ liệu đạt hiệu quả cao hơn
Để thiết lập truyền thông Đa điểm - Điểm thì các nút xây dựng một cấu trúc cây với gốc của nó ở nút Sink Sink thông báo sự có mặt của nó bởi việc gửi lặp lại các bản tin quảng bá xác định rằng nút gửi các bản tin này có bước nhảy bằng không tính từ nút Sink Các nút hàng xóm lắng nghe kênh truyền và truyền lại các bản tin để thông báo chúng có bước nhảy là một tính từ nút Sink Lần lượt, các nút lân cận của chúng sẽ quảng bá thông tin là chúng có bước nhảy là hai tính từ nút Sink Với phương thức đơn giản này, mọi nút trong mạng cuối cùng sẽ biết có bao nhiêu bước nhảy chúng phải trải qua được tính từ nút Sink và biết được các nút lân cận gần Sink hơn Khi gửi một gói tin, nút gửi chỉ phải gửi gói tin đến nút lân cận gần Sink hơn
1.4.2 Chuẩn truyền thông vật lý cho mạng cảm biến không dây
Chuẩn IEEE 802.15.4 là một chuẩn truyền thông không dây cho các ứng dụng công suất thấp và tốc độ dữ liệu thấp Tiêu chuẩn này đã được phát triển cho mạng cá nhân (PAN) bởi nhóm làm việc trong Viện kỹ thuật điện và điện tử (IEEE) Chuẩn IEEE 802.15.4 có tốc độ dữ liệu tối đa là 250.000 bit/s và công suất đầu ra tối đa 1mW Các thiết bị IEEE 802.15.4 có một phạm vi phủ sóng hẹp trong vài chục mét Điểm chính trong các đặc điểm kỹ thuật của chuẩn IEEE 802.15.4 là cho phép các bộ thu phát chi phí thấp và ít phức tạp, điều này đã làm cho chuẩn IEEE 802.15.4 phổ biến với mạng cảm biến không dây Nhiều công ty sản xuất các thiết bị tuân thủ theo chuẩn IEEE 802.15.2
Trang 28Bởi sự có mặt khắp nơi của chuẩn IEEE 802.15.4 và sự sẵn có của các bộ thu phát vô tuyến tương thích với IEEE 802.15.4, nên gần đây rất nhiều ngăn xếp vô tuyến công suất thấp đã được xây dựng trên chuẩn IEEE 802.15.4 như là: WirelessHART, ISA100a, IPv6 và ZigBee
Tiêu chuẩn IEEE 802.15.4 xác định 2 lớp:
Lớp vật lý: Chỉ rõ các bản tin được gửi và được nhận trên các kênh truyền
vô tuyến vật lý như thế nào
Lớp điều khiển truy nhập kênh truyền (MAC): Chỉ rõ các bản tin đến từ
các lớp vật lý sẽ được xử lý như thế nào
Mặc dù chuẩn IEEE 802.15.4 đã xác định rõ một vài cơ chế ở lớp vật lý và lớp MAC nhưng không phải tất cả mọi chỉ dẫn đều được sử dụng rộng rãi Ví dụ chuẩn WirelessHART sử dụng các chỉ dẫn lớp vật lý và định dạng tiêu đề gói tin ở lớp MAC nhưng không phải tất cả các quy định ở lớp MAC được sử dụng
Kích thước tối đa gói tin trong chuẩn IEEE 802.15.4 là 127 byte Các gói tin
có kích thước nhỏ bởi vì chuẩn IEEE 802.15.4 được sử dụng cho các thiết bị với tốc
độ dữ liệu thấp Do lớp MAC thêm vào phần tiêu đề cho các gói tin nên lượng dữ liệu dành sẵn cho giao thức lớp trên hoặc lớp ứng dụng vào khoảng từ 86 đến 116 byte Do vậy, các giao thức ở lớp trên thường thêm vào các cơ chế phân mảnh các phần dữ liệu lớn hơn thành nhiều khung theo chuẩn 802.15.2
Hình 1.6: Một mạng IEEE 802.15.4 với các nút FFDs thể hiện như các chấm đen và các nút RFDs thể hiện bởi các chấm trắng Hai FFDs là điều phối viên PAN trong hai mạng PAN được biểu diễn bởi những vòng tròn đen Mạng PAN bên phải bao
gồm hai FFDs nhưng chỉ một FFD là điều phối viên PAN
Các mạng IEEE 802.15.4 được chia thành các mạng PAN như hình 1.6 Mỗi mạng PAN có một điều phối viên PAN và một tập các thành viên mạng PAN Các
Trang 29gói tin được truyền qua mạng PAN mang 16 bit nhận dạng cho mạng PAN để xác định mạng PAN nào mà gói được gửi đến Một thiết bị có thể tham gia vào một mạng PAN như là một điều phối viên PAN và cũng đồng thời tham gia là thành viên mạng PAN trong một mạng PAN khác
Chuẩn IEEE 802.15.4 xác định hai loại thiết bị là: Thiết bị có chức năng đầy
đủ (FFDs) và thiết bị có chức năng hạn chế (RFDs) Các FFDs có nhiều khả năng hơn RFDs và có thể đóng vai trò như một điều phối viên PAN RFDs là các thiết bị đơn giản hơn được xác định dễ dàng hơn trong việc chế tạo với giá thành rẻ hơn RFDs chỉ có thể truyền thông với FFDs Các FFDs có thể truyền thông được với cả RFDs và FFDs
Mặc dù chuẩn IEEE 802.15.4 định nghĩa ba loại cấu trúc mạng được hỗ trợ
là hình sao, mạng mắt lưới và hình cây nhưng hầu hết các giao thức hoạt động ở lớp trên không sử dụng các cấu hình mạng của 802.15.2 Thay vào đó, chúng xây dựng những cấu trúc liên kết mạng của riêng nó ở phía trên lớp MAC 802.15.2 Vì lý do
đó, chúng ta không đi vào chi tiết các cấu trúc liên kết mạng được định nghĩa bởi chuẩn IEEE 802.15.2
1.4.2.1 Định dạng địa chỉ theo chuẩn IEEE 802.15.4
Mỗi nút trong mạng theo chuẩn IEEE 802.15.4 có một địa chỉ 64 bit nhận dạng thiết bị duy nhất Do kích thước gói tin bị giới hạn bởi chuẩn IEEE 802.15.4, nên độ dài 64 bit địa chỉ là không khả thi Do đó, chuẩn IEEE 802.15.4 cho phép các nút sử dụng địa chỉ với độ dài 16 bit Các địa chỉ ngắn được gán bởi điều phối viên PAN và chỉ có giá trị trong khuôn khổ của một PAN Các nút có thể lựa chọn
để gửi gói tin bằng cách sử dụng cả hai định dạng địa chỉ
Hình 1.7: Hai định dạng địa chỉ hỗ trợ IEEE 802.15.4
là địa chỉ dài (64 bit) và địa chỉ ngắn (16 bit)
Địa chỉ được viết dưới dạng hệ thập lục phân (Hexa) phân cách nhau bằng dấu hai chấm Một ví dụ về độ dài một địa chỉ 802.15.4 là 00:12:75:00:11:6 e:cd:
Trang 30fb Hình 1.7 là một ví dụ về hai địa chỉ IEEE 802.15.4 là một địa chỉ dài và một địa chỉ ngắn
Các địa chỉ dài là duy nhất trên thế giới và mỗi thiết bị IEEE 802.15.4 được gán một địa chỉ khi được sản xuất Mỗi nhà sản xuất yêu cầu 24 bit nhận dạng duy nhất OUI của nhà sản xuất (Organizational Unique Identifier) lấy từ tổ chức IEEE Các OUI được sử dụng như là 24 bit địa chỉ đầu tiên của thiết bị Còn lại 40 bit được gán bởi nhà sản xuất và phải là duy nhất cho mỗi thiết bị
Các địa chỉ ngắn được gán bởi các điều phối viên mạng PAN Một địa chỉ ngắn chỉ có hiệu lực trong phạm vi mạng PAN đó Tuy nhiên, một thiết bị với một địa chỉ ngắn có thể truyền thông với các thiết bị bên ngoài mạng PAN bằng cách mang thêm 16 bit định danh mạng PAN của nó và mạng PAN của thiết bị đích trong mỗi bản tin được gửi đi Tiêu chuẩn IEEE 802.15.4 không chỉ định bất kỳ thuật toán
cụ thể nào sẽ được sử dụng bởi một điều phối viên PAN khi gán các địa chỉ ngắn trong phạm vi mạng PAN
1.4.2.2 Lớp vật lý theo chuẩn IEEE 802.15.4
Lớp vật lý xác định tần số vô tuyến vật lý, kỹ thuật điều chế và mã hóa tín hiệu Chuẩn IEEE 802.15.4 hoạt động trên 3 băng tần số vô tuyến được cấp phép miễn phí Bởi những quy định khác nhau về tần số vô tuyến, nên tần số được cấp phép ở các nước trên thế giới cũng khác nhau Tại Hoa Kỳ, chuẩn IEEE 802.15.4 sử dụng băng tần 902-982MHz Tại châu Âu, chuẩn IEEE 802.15.4 sử dụng băng tần 868-868.8MHz Các nước còn lại thế giới, chuẩn IEEE 802.15.4 sử dụng băng tần 2400-2483.5MHz
Chuẩn IEEE 802.15.4 định nghĩa 26 kênh hoạt động khác nhau Trong mỗi băng tần có quy định một số kênh như được chỉ ra trong hình 1.8 Channel 0 được quy định chỉ ở châu Âu và nằm trên băng tần 868MHz Các kênh từ 1-10 được quy định chỉ ở Hoa Kỳ trên băng tần 902-982MHz Khoảng cách giữa các kênh là 2MHz Các kênh từ 11-26 được quy định trên băng tần 2,4 GHz Khoảng cách giữa các kênh là 5MHz
Chuẩn IEEE 802.15.4 sử dụng hai loại điều chế vô tuyến tùy thuộc vào tần
số kênh Các kênh từ 0-10 sử dụng khoá dịch pha nhị phân (BPSK), trong khi đó các kênh từ 11-26 sử dụng khoá dịch pha vuông góc (QPSK) Trên tất cả các kênh, chuẩn IEEE 802.15.4 sử dụng điều chế trải phổ chuỗi trực tiếp (DSSS)
Trang 31Hình 1.8: Chuẩn IEEE 802.15.4 quy định 26 kênh vô tuyến vật lý
Giống như kỹ thuật điều chế, tốc độ bit là phụ thuộc vào kênh vô tuyến Tốc
độ bit của kênh là 0 là 20.000 bit/s Đối với các kênh từ 1-10, tốc độ bit là 40.000 bit/s và cho các kênh 11-26 tốc độ bit là 250.000 bit/s
Hình 1.9: Các kênh 11-24 IEEE 802.15.4 chồng chéo lên các kênh 802.11 Kênh 25
và 26 không được bao bọc bởi các kênh 802.11 Khi các kênh 1, 6 và 11 của 802.11 được sử dụng, hai kênh 15 và 20 của 802.15.4 không bị ảnh hưởng bởi 802.11 Các kênh vô tuyến IEEE 802.15.4 trong băng tần 2.4GHz chia sẻ tần số vô tuyến của chúng với chuẩn IEEE 802.11 (WiFi) và có một sự chồng lấn với các kênh 802.11 Bởi vì chuẩn IEEE 802.11 có một công suất đầu ra cao hơn nên lưu lượng theo chuẩn 802.11 làm nhiễu lưu lượng theo chuẩn 802.15.2 Hình 1.9 cho thấy sự chồng lấn giữa chuẩn 802.15.4 và chuẩn 802.11 Tất cả kênh theo chuẩn 802.15.4 ngoại trừ kênh 25 và 26 được bao bọc bởi các kênh theo chuẩn 802.11 Khi các kênh 1, 6 và 11 của chuẩn 802.11 được sử dụng thì có 2 kênh của chuẩn 802.15.4 (là kênh 15 và 20) không thấy sự can nhiễu từ lưu lượng của chuẩn 802.11
Lớp vật lý cũng cung cấp các cơ chế để đo công suất vô tuyến của một kênh cho trước Kết quả của phép đo này được sử dụng để lớp MAC biết một nút nào đó
Trang 32có thể đang truyền dữ liệu trên một kênh cụ thể và để điều phối viên quét các kênh
có sẵn trong mạng
Cơ chế phát hiện công suất vô tuyến cũng được sử dụng để hỗ trợ cơ chế đánh giá kênh trống CCA (Clear Channel Assessment) Trong đó, lớp vật lý có thể đánh giá để biết được một nút nào đó hiện đang truyền dẫn qua kênh vô tuyến Điều này được thực hiện bằng một trong ba cách sau: Thứ nhất là đo công suất vô tuyến
và so sánh nó với một mức công suất ngưỡng được xác định trước Thứ hai là thực hiện giải điều chế tín hiệu vô tuyến đến để xem nó có phải là một tín hiệu hợp lệ theo chuẩn 802.15.2 Thứ ba là sự kết hợp của phương pháp phát hiện công suất vô tuyến và phương pháp điều chế tín hiệu Cơ chế CCA được sử dụng bởi lớp MAC
để kiểm soát sự truy nhập kênh truyền vô tuyến
1.4.2.3 Lớp điều khiển truy nhập kênh truyền theo chuẩn IEEE 802.15.4
Mục đích của lớp MAC là để kiểm soát truy nhập vào các kênh truyền vô tuyến Bởi vì kênh truyền vô tuyến được chia sẻ giữa tất cả các nút gửi và nút nhận trong một khu vực lân cận với nhau nên lớp MAC cung cấp cơ chế để các nút xác định khi nào kênh nhàn rỗi và khi nào là an toàn để gửi các bản tin
Lớp 802.15.4 MAC cung cấp cơ chế quản lý truy nhập kênh, xác nhận sự hợp lệ các khung đến và xác nhận sự tiếp nhận khung Ngoài ra, 802.15.4 MAC cung cấp các cơ chế tùy chọn cho việc đa truy nhập phân chia thời gian (TDMA) để truy nhập kênh truyền Trong đó, điều phối viên PAN chỉ định các khe thời gian cho thiết bị trong mạng PAN và thực hiện việc lập lịch trình thông qua sự truyền tải các bản tin báo hiệu Đây là chế độ báo hiệu, tuy nhiên không được sử dụng rộng rãi bởi các giao thức chạy trên chuẩn 802.15.2
Việc quản lý truy nhập kênh truyền thực hiện theo cơ chế CCA được hỗ trợ bởi lớp vật lý Trước khi gửi một gói tin, lớp MAC yêu cầu lớp vật lý thực hiện một kiểm tra CCA Nếu CCA nhận thấy rằng một nút khác hiện đang sử dụng kênh truyền thì lớp MAC sẽ không thực hiện việc truyền gói tin của nó Thay vào đó, lớp MAC sẽ đợi một thời gian nhất định và thử gửi lại gói tin một lần nữa
Lớp MAC thực hiện xác nhận sự hợp lệ các khung đến bằng việc tính toán kiểm tra dư vòng 16 bit (CRC) của toàn bộ khung CRC được sử dụng để kiểm tra các lỗi truyền trong khung và được tính toán bởi nút gửi khung Nó được thêm vào các gói tin được truyền đi Nếu CRC được tính toán bởi nút nhận không khớp CRC
ở cuối khung thì nút nhận sẽ loại bỏ khung
Trang 33Lớp MAC cung cấp một cơ chế tự động xác nhận các khung dữ liệu Nếu một khung đến có thiết lập bit xác nhận thì lớp MAC sẽ gửi đi một khung xác nhận Khung xác nhận chỉ được gửi đi khi địa chỉ đích của khung đến giống địa chỉ của thiết bị và nếu CRC của khung đến hợp lệ Khung xác nhận không được định địa chỉ rõ ràng đến nút gửi khung dữ liệu, mà được quảng bá đến tất cả các nút Chính điều này dẫn đến việc nhiều giao thức lớp trên chạy trên chuẩn 802.15.4 thực hiện các cơ chế xác nhận của riêng chúng
1.4.2.4 Cấu trúc khung dữ liệu theo chuẩn IEEE 802.15.4
Các giao thức truyền thông xác định một định dạng gói tin chung sao cho tất
cả các nút biết cách để xây dựng và phân tích các gói tin từ những nút khác Định dạng gói tin bao gồm ba phần đó là: Phần tiêu đề, phần dữ liệu và phần kết thúc khung Phần tiêu đề bao gồm dữ liệu điều khiển như các địa chỉ, các số thứ tự và các cờ Phần dữ liệu là dữ liệu của lớp phía trên Do đó, cấu trúc của phần dữ liệu thông thường không xác định nhưng được chuyển đến các giao thức lớp trên để xác định rõ Phần kết thúc khung thường chứa một kiểm tra tổng hoặc các chữ ký mật
mã Phần kết thúc khung này có thể được tính toán trong khi gói tin được truyền đi Phần kết thúc này sẽ được gửi đi sau khi phần còn lại của gói tin đã được gửi
Hình 1.10: Lớp vật lý IEEE 802.15.4 và các định dạng tiêu đề lớp MAC Chuẩn IEEE 802.15.4 định nghĩa một định dạng gói tin chung cho tất cả các gói tin được truyền đi Định dạng gói bao gồm một phần lớp vật lý và một phần lớp MAC Lớp vật lý bổ sung phần tiêu đề đồng bộ hóa và lớp MAC bổ sung một phần tiêu đề và phần kết thúc khung Định dạng phần tiêu đề được minh họa trong hình 1.10
Phần tiêu đề được thêm vào bởi lớp vật lý bao gồm một mở đầu khung (Preamble), một bắt đầu giới hạn khung SFD (Start of Frame Delimiter) và một trường độ dài Mở đầu khung được sử dụng để đồng bộ hóa nút gửi và nút nhận để
Trang 34nút nhận có thể nhận được chính xác gói tin phía sau Bắt đầu giới hạn khung SFD báo cho nút nhận biết được sự kết thúc phần mở đầu và bắt đầu khung Trường độ dài 1 byte báo cho nút nhận biết có bao nhiêu byte ở phía sau Chiều dài tối đa của gói tin là 127 byte
Phần tiêu đề lớp MAC gán trực tiếp ngay sau phần tiêu đề lớp vật lý Phần tiêu đề lớp MAC có hai byte điều khiển, được gọi là điều khiển khung Phần chứa các cờ để báo cho nút nhận biết cách để phân tích được phần còn lại của tiêu đề cũng như các cờ để xác định xem các khung có cần phải xác nhận hay không Sau các byte điều khiển khung là một byte số thứ tự Số thứ tự được sử dụng để kết hợp với các gói tin xác nhận Gói tin xác nhận mang cùng số thứ tự với gói tin dữ liệu
Sau các byte số thứ tự và điều khiển khung là các trường địa chỉ Chúng chứa địa chỉ của nút gửi gói tin và nút nhận gói tin cũng như các nhận dạng mạng PAN phía gửi và phía nhận Tất cả các trường địa chỉ này là tùy chọn Sự có mặt của chúng được chỉ ra bởi các cờ trong trường điều khiển khung Các trường địa chỉ được sử dụng bởi phía thu để xác định xem một gói tin nhận được có phải dành cho
nó hay không Theo sau các trường địa chỉ là trường bảo mật tùy chọn chứa dữ liệu cho quá trình xử lý bảo mật, chẳng hạn như trường kiểm tra tính toàn vẹn bản tin bằng mật mã MIC (Message Integrity Check)
Dữ liệu theo sau phần mào đầu lớp MAC và nó có thể dài từ 86 đến 116 byte Độ dài của phần dữ liệu phụ thuộc vào các trường tùy chọn trong lớp MAC được sử dụng Cấu trúc phần dữ liệu trong khung 802.15.4 không được xác định bởi chuẩn IEEE 802.15.4 nhưng được xác định bởi các giao thức hoặc các ứng dụng chạy trên chuẩn 802.15.2
Ở phía cuối của gói 802.15.4 là chuỗi kiểm tra khung (FCS - Frame Check Sequence), nó chứa CRC mà lớp MAC sử dụng để kiểm tra nếu như các gói tin đến cần được loại bỏ khi có các bit lỗi
1.5 Cấu trúc phần cứng của nút cảm biến không dây
Cấu trúc phần cứng của một nút mạng cảm biến không dây được minh họa trong hình 1.11 bao gồm bốn thành phần chính
Thiết bị truyền thông: Thiết bị này cho phép các nút cảm biến có khả năng
truyền thông với nhau Thiết bị truyền thông là một bộ thu phát vô tuyến được kết nối với một anten
Trang 35 Bộ vi điều khiển: Bộ vi điều khiển điều khiển các hành vi hoạt động của nút
cảm biến Nó là một bộ vi xử lý nhỏ trên đó chạy phần mềm của nút mạng cảm biến
Bộ cảm biến: Cho phép các nút cảm biến có khả năng tương tác với thế giới
của một nút cảm biến không dây
Hình 1.12 minh họa các thành phần cơ bản của một nền tảng phần cứng điển hình, đó là bo mạch mẫu thử nghiệm MicaZ của hãng Crossbow Technology
Hình 1.12: Bo mạch MicaZ của hãng Crossbow Technology
MicaZ bao gồm bộ vi điều khiển, nguồn điện, bộ thu phát vô tuyến và các kết nối mở rộng để kết nối với các cảm biến Nguồn năng lượng là một bộ pin gồm hai tế bào pin AA Bộ thu phát vô tuyến được gắn ở phía bên trong của bo mạch Hệ thống sử dụng một ăng-ten bên ngoài gắn liền với bo mạch Bo mạch không chứa bất kỳ một cảm biến nào Các cảm biến có thể được gắn với bo mạch thông qua các
Trang 36kết nối mở rộng Vì vậy, người dùng có thể sử dụng bo mạch như một hệ thống tạo
mẫu cho nhiều ứng dụng khác nhau
1.6 Phần mềm cho các nút mạng cảm biến không dây
Mọi hoạt động của một nút cảm biến không dây được xác định bởi phần
mềm chạy trên bộ vi điều khiển trong các nút cảm biến Các chương trình phần
mềm thường được viết tương tự như các chương trình phần mềm cho các máy tính
Các chương trình được viết bằng một ngôn ngữ lập trình, chẳng hạn như C và được
biên dịch với một trình biên dịch mã máy cho vi điều khiển Các mã máy được ghi
vào ROM của bộ vi điều khiển khi các nút cảm biến được sản xuất Khi các nút cảm
biến được bật nguồn thì bộ vi điều khiển sẽ chạy các phần mềm Quá trình này được
minh họa trong hình 1.13
Hình 1.13: Quá trình phát triển phần mềm cho một nút cảm biến không dây
Mã nguồn được biên dịch thành mã máy và được ghi vào ROM
trong bộ vi điều khiển của nút cảm biến
Mặc dù hoàn toàn có thể chạy các chương trình phần mềm cho vi điều khiển
mà không cần sử dụng một hệ điều hành nào nhưng hầu hết các nút cảm biến sử
dụng hệ điều hành Bởi vì những hạn chế về tài nguyên nên hệ điều hành cho các
nút cảm biến rất khác với hệ điều hành cho máy tính Các hệ điều hành cho nút cảm
biến nhỏ hơn nhiều và sử dụng ít tài nguyên hơn
Bởi vì những hạn chế về năng lượng và về chi phí nên các nút cảm biến
thường có bộ nhớ ít hơn nhiều so với các máy tính Kích thước bộ nhớ chỉ một vài
KB, so với hàng GB bộ nhớ trong các máy tính ngày nay
Trang 371.6.1 Hệ điều hành cho mạng cảm biến không dây
Giống như các máy tính thì các nút cảm biến không dây cũng sử dụng các hệ điều hành Chức năng cơ bản của hệ điều hành bao gồm việc trừu tượng hóa tài nguyên cho các thiết bị phần cứng khác nhau, quản lý ngắt và lập lịch các nhiệm vụ, điều khiển đồng thời và hỗ trợ mạng Dựa trên các dịch vụ được cung cấp bởi hệ điều hành, người lập trình ứng dụng có thể thuận tiện sử dụng các giao diện lập trình ứng dụng mức cao (APIs) độc lập với phần cứng lớp dưới
Các hệ điều hành cho mạng cảm biến rất khác với các hệ điều hành thông dụng được sử dụng trên máy tính và điện thoại di động Các hạn chế về tài nguyên
bộ nhớ và sức mạnh xử lý làm cho hệ điều hành quy mô lớn như Microsoft Windows, Mac OS X, hoặc Linux đều không thể sử dụng cho các nút cảm biến Ngay cả phiên bản thu nhỏ, chẳng hạn như Microsoft Windows Mobile hoặc Linux dựa trên Android của Google cũng là quá lớn
Hệ điều hành cho các nút cảm biến được thiết kế riêng với các yêu cầu đặc trưng của nút cảm biến và những hạn chế đặc trưng riêng bị áp đặt bởi phần cứng
Bộ nhớ hạn chế làm cho mô hình lập trình đối với nút cảm biến có nhiều điểm khác Những hạn chế về tốc độ xử lý yêu cầu sử dụng ngôn ngữ lập trình cấp thấp, chẳng hạn như ngôn ngữ lập trình C
Hệ điều hành cho nút cảm biến không có một giao diện người dùng giống như hệ điều hành cho máy tính vì người dùng không trực tiếp tương tác với hệ điều hành trên nút cảm biến Thay vào đó, hệ điều hành ẩn sâu bên trong bộ vi điều khiển Thông thường, chỉ là người lập trình với nút cảm biến mới tiếp xúc với hệ điều hành
1.6.2 Những thách thức ảnh hưởng đến việc thiết kế hệ điều hành cho mạng cảm biến không dây
Hiện nay có nhiều thách thức đặt ra cần phải được giải quyết, nhưng ảnh hưởng chính là các ràng buộc về tài nguyên của phần cứng nút cảm biến và các yêu cầu của ứng dụng mạng cảm biến không dây Những thách thức chủ yếu ảnh hưởng đến việc thiết kế hệ điều hành là:
Dung lượng nhỏ: Với bộ nhớ bị giới hạn chỉ vài KB trên nút cảm biến, đòi
hỏi hệ điều hành được thiết kế với dung lượng rất nhỏ Đây là đặc điểm cơ bản của hệ điều hành mạng cảm biến và đó cũng là lý do chính mà tại sao nhiều hệ điều hành nhúng không thể dễ dàng cài đặt trên nút cảm biến
Trang 38 Hiệu quả năng lượng: Các nút cảm biến có thời gian sử dụng của pin rất
hạn chế Mặt khác, các mạng cảm biến bảo đảm mục tiêu là vận hành từ 3 đến 5 năm Điều này có nghĩa là, hệ điều hành mạng cảm biến được triển khai một lần và có kế hoạch vận hành trong một thời gian dài
Hỗ trợ thời gian thực: Hầu hết các ứng dụng cảm biến như phục vụ giám
sát thường nhạy cảm với thời gian Trong các ứng dụng đó, các gói tin cần được chuyển tiếp và gửi đi một cách kịp thời, vấn đề đảm bảo thời gian thực
là cần thiết để đáp ứng cho các ứng dụng đó
Khả năng cấu hình lại: Là điều cần thiết để các nút cảm biến có thể được
lập trình lại sau khi mạng cảm biến không dây đã được triển khai Khả năng cấu hình lại hệ thống là một đặc điểm cần thiết của hệ điều hành giúp cho mạng cảm biến có thể được lập trình lại dễ dàng và hiệu quả
Sự tiện lợi cho lập trình: Các ứng dụng mạng cảm biến là khác nhau và tùy
theo yêu cầu Do vậy, sự tiện lợi cho lập trình là một điều quan trọng để rút ngắn thời gian triển khai các ứng dụng mạng cảm biến không dây
1.7 Kết luận chương 1
Ở chương 1, tác giả đã tập trung tìm hiểu tổng quan về mạng cảm biến không dây bao gồm khái niệm, những thách thức và kiến trúc ngăn xếp giao thức đối với mạng cảm biến không dây, chuẩn truyền thông IEEE 802.15.4 cho mạng cảm biến không dây, cấu trúc phần cứng và phần mềm cho mạng cảm biến không dây Kết quả nghiên cứu ở chương 1 cung cấp một cái nhìn tổng quan về mạng cảm biến không dây
Trang 39Chương 2 HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ CONTIKI
2.1 Giới thiệu về 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ển bở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à Adam Dunkels [1] 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 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 Contiki bắt đầu được nghiên cứu từ năm 2001 và phát hành phiên bản đầu tiên Contiki 1.0 năm
2003 Hình 2.1 cho thấy lịch sử phát triển của Contiki trong những năm qua
Hình 2.1: Lịch sử phát triển Contiki
Phiên bản hiện nay của Contiki là 3.0, với nhiều thay đổi, bổ sung và phát triển vượ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ình như
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àng tră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ình Protothreads được công bố lần đầu tiên năm 2005, đến nay đã được