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.. Các kết quả n
Trang 1i
LỜ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
ii
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 3iii
MỤ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 4936
- Mở Instant-Contiki: Chọn Open và chọn đường dẫn đến thư mục Contiki vừa giải nén Chọn Instant-Contiki
Hình 2.12: Chọn đường dẫn đến Instant-Contiki
- Điền username là “user” rồi ấn enter Màn hình đăng nhập hiện lên:
Hình 2.13: Giao diện đăng nhập username
- Điền password là “user” rồi ấn enter
Trang 5037
Hình 2.14: Giao diện nhập Password
- Giao diện của Instant-Contiki được cài trên Ubuntu
Hình 2.15: Giao diện Instant-Contiki được cài trên Ubuntu
2.7 Kết luận chương 2
Trong chương 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 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 Các kết quả nghiên cứu về hệ điều hành Contiki là cơ sở lý thuyết quan trọng trong việc cài đặt, mô phỏng và đánh giá hệ thống mạng cảm biến không dây ứng dụng trong nông nghiệp chính xác được thực hiện ở chương 3
Trang 5138
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
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
3.1.1 Giới thiệu về nông nghiệp chính xác
Theo truyền thống, nông nghiệp là việc thực hiện một nhiệm vụ cụ thể, chẳng hạn như trồng hoặc thu hoạch, với một lịch trình định trước Nhưng bằng cách thu thập dữ liệu thời gian thực về thời tiết, đất và chất lượng không khí, theo dõi sự trưởng thành của cây trồng và thậm chí cả trang thiết bị và chi phí lao động, các phân tích có thể được sử dụng để đưa ra quyết định thông minh hơn Đây được gọi là nông nghiệp chính xác (hoặc canh tác chính xác) Một định nghĩa của nông nghiệp chính xác có thể là như sau: kỹ thuật áp dụng đúng số lượng đầu vào (nước, phân bón, thuốc trừ sâu,…) vào đúng vị trí và vào đúng thời điểm để tăng cường sản xuất và nâng cao chất lượng
Với nông nghiệp chính xác, trung tâm kiểm soát thu thập và xử lý dữ liệu trong thời gian thực để giúp nông dân đưa ra quyết định tốt nhất liên quan đến trồng, bón phân và thu hoạch cây trồng Các nút cảm biến được đặt tại nơi trồng để
đo nhiệt độ và độ ẩm của đất và không khí xung quanh Ứng dụng cảm biến không dây trong nông nghiệp chính xác nâng cao hiệu quả, năng suất và lợi nhuận trong nhiều hệ thống sản xuất nông nghiệp, trong khi giảm thiểu tác động không mong muốn đến địa điểm nơi trồng Các thông tin thời gian thực thu được từ các lĩnh vực
có thể cung cấp một cơ sở vững chắc cho nông dân để điều chỉnh chiến lược bất cứ lúc nào
Việc ứng dụng mạng cảm biến không dây để quản lý hoạt động nông nghiệp chính xác làm giảm đáng kể số lượng đầu vào như phân bón, nước, thuốc trừ sâu được sử dụng trong khi tăng sản lượng Do đó, nông dân thu được lợi nhuận trên đầu tư của mình bằng cách tiết kiệm chi phí kiểm dịch thực vật và phân bón Áp dụng đúng số lượng đầu vào ở đúng nơi và đúng thời điểm đem lại lợi ích cho cây
Trang 5239
trồng, trong khi tiết kiệm nguồn tài nguyên như đất và nước ngầm, và do đó tối ưu hóa toàn bộ chu kỳ trồng trọt Nông nghiệp bền vững tìm cách để đảm bảo một nguồn cung cấp liên tục của thực phẩm trong giới hạn sinh thái, kinh tế và xã hội cần thiết để duy trì sản xuất trong dài hạn Do đó độ chính xác nông nghiệp bằng cách sử dụng mạng cảm biến không dây sẽ cho phép theo đuổi mục tiêu này
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
Năm 2019, kinh tế Lào gặp nhiều khó khăn, đặc biệt là ngành nông nghiệp
do xẩy ra tình trạng lũ lụt trên diện rộng, kéo dài tại miền trung và miền nam Lào Đến cuối năm, hạn hán lại xẩy ra tại các tỉnh miền bắc, ảnh hưởng nghiêm trọng đến đời sống người dân Lào
Số liệu của Sở Nông nghiệp và Lâm nghiệp, tỉnh Luang Prabang cho thấy, tỉnh này bị ảnh hưởng nặng nề bởi tình trạng hạn hán gây thiệt hại 7.241/26.322 héc-ta lúa; 2.242/8.577 héc-ta ngô… và nhiều loại cây hoa màu khác Tỉnh Vientiane, địa phương cũng bị ảnh hưởng bởi tình trạng hạn hán, người dân trong tỉnh đã sẵn sàng cho vụ mùa khô Tuy nhiên, theo ước tính, vụ khô mùa khô năm nay, tỉnh Vientiane sẽ giảm 2.000 héc-ta diện tích canh tác do thời tiết khô hạn và
hệ thống thủy lợi xuống cấp trầm trọng, hiện chỉ còn 8.000 héc-ta trên toàn tỉnh trong vụ mùa khô năm 2019
Trong phạm vi luận văn này, tác giả tập trung nghiên cứu ứng dụng mạng cảm biến không dây trong nhà kính tại Lào Một nhà kính là một cấu trúc bao phủ mặt đất thường được sử dụng cho sự tăng trưởng và phát triển của cây Cấu trúc này được gắn với mục đích bảo vệ cây trồng và cho phép một môi trường tốt hơn để phát triển Sự bảo vệ này đủ để đảm bảo đem lại chất lượng cao trong sản xuất cây trồng
Chức năng chính của một nhà kính là để cung cấp một môi trường thuận lợi hơn so với bên ngoài Các yếu tố chính liên quan đến hệ thống điều khiển nhà kính: nhiệt độ, độ ẩm, khí CO2, nồng độ, bức xạ, nước và chất dinh dưỡng có thể được điều khiển bằng mạng cảm biến không dây Hệ thống tưới tiêu thông minh sử dụng mạng cảm biến không dây cũng là một trong các nghiên cứu được quan tâm nhiều
Trang 5340
vì lợi thế trong việc tiết kiệm nhân lực và tiết kiệm nước Cây trồng cần ánh sáng mặt trời, các chất dinh dưỡng và nước để phát triển Tất cả các nhà sản xuất nông nghiệp có một yêu cầu lượng nước tối thiểu hàng năm để tồn tại và yêu cầu lượng nước tối ưu hàng năm cho sản xuất tối đa Do đó hệ thống tưới tiêu thông minh là cần thiết để nâng cao năng suất cây trồng Hình 3.1 là 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
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
Các thông số môi trường như độ ẩm đất, nhiệt độ đất, vi khí hậu trong môi trường nhà kính, nhiệt độ không khí và cường độ ánh sáng được đo lường và thu thập bởi các nút mạng cảm biến không dây, thuật toán tưới chính xác sẽ tính toán theo thời gian thực và đưa ra các khuyến nghị về lịch tưới tối ưu, thể hiện trên giao diện điện thoại thông minh của người sử dụng
3.2 Phần cứng Tmote Sky cho ứng dụng nông nghiệp chính xác
Tmote Sky là một module không dây công suất thấp sử dụng trong các mạng cảm biến không dây, được ứng dụng trong giám sát và thu thập dữ liệu nhanh chóng Tmote sky sử dụng các tiêu chuẩn giao tiếp phổ biến như USB và IEEE 802.15.4 để tương tác với các thiết bị khác Phần cứng Tmote sky tích hợp các cảm biến độ ẩm, nhiệt độ và ánh sáng và cung cấp kết nối linh hoạt với các thiết bị ngoại
Trang 5441
vi Tmote Sky cho phép một loạt các ứng dụng trong mạng cảm biến không dây trong đó có ứng dụng nông nghiệp chính xác
Hình 3.2 phần cứng Tmote Sky
Các tính năng chính của phần cứng Tmote Sky:
Bộ thu phát không dây Chipcon 250kbps 2.4GHz IEEE 802.15.4
Khả năng tương tác với các thiết bị IEEE 802.15.4 khác
Bộ vi điều khiển MSP430 8 MHz của Texas (10k RAM, 48k Flash)
Tích hợp ADC, DAC, giám sát điện áp cung cấp
Tích hợp ăng-ten trên board mạch với phạm vi 50m trong nhà/phạm vi 125m ngoài trời
Tích hợp cảm biến độ ẩm, nhiệt độ và ánh sáng
Tiêu thụ năng lượng thấp
Khả năng đánh thức nhanh tróng từ chế độ ngủ (<6μs)
Lập trình và thu thập dữ liệu qua USB
Hỗ trợ mở rộng trên 16 chân IO cho phép kết nối thêm được nhiều cảm biến khác
3.3 Giao thức truyền thông cây thu thập dữ liệu CTP
3.3.1 Giới thiệu giao thức CTP
Hầu hết các hệ thống mạng cảm biến không dây đều dựa trên hai giao thức vận hành cơ bản đó là: Giao thức thu thập dữ liệu (Collection protocol) để lấy dữ liệu từ mạng và giao thức gửi dữ liệu vào mạng thông qua một hoặc nhiều nút mạng Bởi vì mục đích chính của các mạng cảm biến thường là thu thập thông tin
Trang 55dữ liệu trên tuyến đường có số lần truyền để đến được điểm thu thập là ít nhất
Các giao thức thu thập ban đầu xây dựng một cấu trúc cây định tuyến Theo
đó, mỗi nút lựa chọn một bước nhảy kế tiếp cho tất cả các lưu lượng dữ liệu được chuyển tiếp bởi nút đó Điều này tạo thành một cây định tuyến hướng về một điểm thu thập cố định Cấu trúc cây định tuyến được xây dựng thông qua việc thiết lập một Gradient chi phí định tuyến Điểm thu thập có chi phí bằng 0 Mỗi nút tính toán chi phí của các bước nhảy kế tiếp bằng cách cộng chi phí của nó với chi phí của liên kết nối đến nút đó Một cách quy nạp, chi phí của một nút là tổng các chi phí của các liên kết trong tuyến đường của nó đến điểm thu thập
Hình 3.3: Cấu trúc liên kết mạng được xây dựng theo giao thức CTP
Để xây dựng và duy trì cấu trúc cây định tuyến thì đầu tiên cần phải xác định thước đo định tuyến để các nút có thể lựa chọn nút cha (Parent) của nó Một số thước đo có thể được sử dụng để lựa chọn nút Parent như số bước nhảy đến nút gốc, thuộc tính năng lượng của nút hoặc chất lượng liên kết Trong mọi trường hợp, các nút cần phải thu thập thông tin về các nút lân cận để tính toán thước đo định tuyến
và lựa chọn nút Parent Để thực hiện điều này, các nút định kỳ trao đổi các bản tin báo hiệu được gọi là bản tin beacon Bản tin beacon mang thông tin về thước đo định tuyến như số bước nhảy đến Sink hay chất lượng liên kết đến Sink
Trang 5643
3.3.2 Thước đo định tuyến được sử dụng trong giao thức CTP
Để xây dựng và duy trì cấu trúc cây định tuyến thì cần phải xác định một thước đo định tuyến để các nút có thể lựa chọn tuyến đường tối ưu Một số thước đo định tuyến có thể được sử dụng như số bước nhảy đến nút gốc, thuộc tính năng lượng của nút hoặc chất lượng liên kết
Trong giao thức CTP hiện tại, thước đo định tuyến được sử dụng là số lần truyền kỳ vọng ETX (Expected Transmision) ETX của một liên kết là số lần truyền cần thiết để gửi thành công một bản tin từ nguồn đến đích qua liên kết đó bao gồm
cả việc truyền lại Hình 3.4 minh họa cách tính thước đo của một liên kết
Hình 3.4: ETXlink của một liên kết
Thước đo của một liên kết được xác định theo công thức sau:
1
Trong đó:
- : Tỉ lệ chuyển phát bản tin theo chiều từ nút A đến nút B
- : Tỉ lệ chuyển phát bản tin theo chiều ngược lại từ nút B đến A
Thước đo ETX của một tuyến đường rtmetric (route metric) được xác định bằng tổng của tất cả các liên kết trên toàn tuyến đường đó
Thước đo rtmetric của mỗi nút được gửi quảng bá cho các nút lân cận thông qua việc trao đổi các bản tin điều khiển
3.3.3 Cấu trúc các bản tin trong giao thức CTP
Giao thức CTP sử dụng 3 loại bản tin để xây dựng và duy trì hoạt động của cấu trúc liên kết mạng đó là: Bản tin điều khiển, bản tin dữ liệu và bản tin xác nhận
3.3.3.1 Bản tin dữ liệu
Cấu trúc khung của bản tin dữ liệu (bản tin data) được minh họa ở hình 3.5
Trang 5744
Hình 3.5: Cấu trúc bản tin dữ liệu
Các trường trong bản tin dữ liệu bao gồm:
Trường P Bit P cho phép các nút yêu cầu thông tin
định tuyến từ các nút khác Nếu một nút có địa chỉ unicast trong cấu trúc khung của bản tin dữ liệu lắng nghe được một bản tin có bit P được thiết lập thì nó sẽ gửi đi một bản tin điều khiển trong khoảng thời gian gần nhất
một nút loại bỏ một bản tin dữ liệu thì nó cần phải thiết lập trường C trong cấu trúc khung của bản tin dữ liệu kế tiếp mà nó gửi đi
Trường reserved Dự trữ
mà một bản tin dữ liệu có thể đi qua Tại mỗi nút chuyển tiếp, trường TTL giảm đi một Nếu trường TTL <= 1 thì bản tin dữ liệu bị loại bỏ
Trường HOP Đây là trường bộ đếm số bước nhảy Khi một nút tạo ra một bản tin dữ liệu thì trường này được thiết lập bằng 0 Khi bản tin dữ liệu được chuyển tiếp bởi một nút trung gian thì trường này được tăng lên một Trường này thể hiện số bước nhảy mà một bản tin dữ liệu đã đi qua trước khi đến được nút hiện tại
nút gửi đơn chặng Khi một nút gửi một bản tin dữ liệu thì nó phải gửi kèm theo giá trị rtmetric của nó được xác định thông qua điểm đến đơn chặng hiện tại Nếu một nút nhận được một bản tin có rtmetric nhỏ hơn rtmetric của
nó thì nó sẽ lập lịch một bản tin điều khiển trong một khoảng thời gian gần
Trang 5845
nhất Đây cũng chính là cơ chế tránh vòng lặp định tuyến trong giao thức CTP
Trường Origin Trường này mang địa chỉ nút khởi nguồn của bản tin
dữ liệu Nút chuyển tiếp bản tin dữ liệu không được phép thay đổi trường này
liệu Nút khởi nguồn sẽ thiết lập trường này và nút thực hiện chuyển tiếp bản tin dữ liệu không được phép thay đổi trường này Sự kết hợp hai trường (origin, seqno) sẽ xác định một bản tin dữ liệu duy nhất trong mạng
Trường CollectId Trường nhận dạng giao thức lớp cao hơn Nút khởi nguồn thiết lập trường này và nút thực hiện chuyển tiếp bản tin dữ liệu không được thay đổi trường này
Trường Data: Đây là trường tải dữ liệu Các nút chuyển tiếp bản tin dữ liệu
không được phép chỉnh sửa trường này
3.3.3.2 Bản tin điều khiển
Cấu trúc khung của bản tin điều khiển được minh họa ở hình 3.6 Các trường trong bản tin điều khiển bao gồm:
Hình 3.6: Cấu trúc bản tin điều khiển
Trường P Tương tự như trường P trong cấu trúc khung của bản tin dữ liệu nhưng có một điểm khác đó là bản tin điều khiển được phát quảng bá
Do đó, sẽ có nhiều nút lân cận trả lời lại bit P trong cấu trúc khung của bản tin điều khiển
nút loại bỏ một bản tin dữ liệu thì nó sẽ thiết lập trường C trong cấu trúc khung của bản tin điều khiển tiếp theo mà nút sẽ gửi đi