Giới thiệu mạng cảm biến: Mạng cảm biến không dây có thể hiểu là mạng liên kết các nút với nhau bằng kết nối sóng vô tuyến trong đó các nút mạng thường là các thiết bị đơn giản, nhỏ gọ
Trang 1
TRẦN HỒ TẤT ĐẠT
LƯU VÀ CẬP NHẬT ĐỘNG DỮ LIỆU LÊN WEBSITE CHO MẠNG CẢM
BIẾN KHÔNG DÂY
LUẬN VĂN THẠC SĨ
Hà nội – 2011
Trang 2
TRẦN HỒ TẤT ĐẠT
LƯU VÀ CẬP NHẬT ĐỘNG DỮ LIỆU LÊN WEBSITE CHO MẠNG CẢM
BIẾN KHÔNG DÂY
Ngành: Công nghệ Điện tử - Viễn Thông Chuyên ngành: Kỹ thuật Điện tử
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS VƯƠNG ĐẠO VY
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
BẢNG VIẾT TẮT v
DANH MỤC HÌNH VẼ vi
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 2
1.1 Giới thiệu mạng cảm biến: 2
1.2 Thiết bị mạng cảm biến: 2
1.3 Topo mạng WSN: 4
1.4 Một số chuẩn WSN: 6
1.5 Kiến trúc giao thức mạng: 6
1.6 Các ứng dụng WSN: 7
1.7 Yêu cầu trong thiết kế mạng cảm biến: 9
CHƯƠNG 2 KHUNG DỮ LIỆU VÀ CƠ SỞ DỮ LIỆU CỦA MẠNG CẢM BIẾN KHÔNG DÂY 12
2.1 Giao thức lập lịch tập trung 12
2.1.1 Thủ tục thâm nhập môi trường MAC: 12
2.1.2 Giao thức lập lịch tập trung: 13
2.2 Khung truyền mạng WSN: 14
2.3 Cơ sở dữ liệu mạng cảm biến không dây 16
2.3.1 Cơ sở dữ liệu 16
2.3.2 Sự cần thiết của cơ sở dữ liệu của mạng WSN 18
2.4 Lưu và cập nhật động cơ sở dữ liệu lên Website 18
2.4.1 Công nghệ Website 18
2.4.2 Triển khai ứng dụng trên Website cho hệ thống mạng WSN 20
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU VÀ CẬP NHẬT ĐỘNG DỮ LIỆU MẠNG CẢM BIẾN KHÔNG DÂY LÊN WEBSITE 22
3.1 Lựa chọn vi điều khiển và các cảm biến: 22
3.1.1 Giới thiệu VDK CC1010: 22
3.1.2 Module CC1010EM (Evaluation Module): 28
3.1.3 Cảm biến và phương pháp ghép nối cảm biến trên module CC1010EM: 30
3.1.4 Gỡ lỗi cho CC1010: 31
3.2 Chương trình nhúng cho các nút mạng 31
Trang 43.3 Thu thập dữ liệu từ các nút mạng về nút chủ và truyền thông qua cổng nối tiếp
lên PC 36
3.3.1 Truyền thông qua cổng COM 36
3.3.2 Chương trình giao diện cảnh báo 43
3.4 Cập nhật động dữ liệu mạng WSN vào hệ cơ sở dữ liệu MSSQL 50
3.4.1 Giới thiệu hệ CSDL MS SQL 50
3.4.2 Xây dựng các bảng và mối quan hệ các bảng 51
3.4.3 Chương trình tự động cập nhật dữ liệu 52
3.5 Tự động quảng bá dữ liệu thu được từ mạng WSN lên Website 53
3.5.1 Giới thiệu công nghệ ASP.NET 53
3.5.2 Tự động quảng bá dữ liệu 55
3.5.3 Xây dựng Website 57
PHỤ LỤC 62
Phụ lục 1: Chương trình nhúng của các nút mạng 62
Phụ lục 2: Chương trình giao diện người dùng trên PC 69
Phụ lục 3: Webservice dùng để tự động update dữ liệu InsertData 80
Phụ lục 4: Chương trình Web 82
TÀI LIỆU THAM KHẢO 85
Trang 5BẢNG VIẾT TẮT
ADC Analog Digital Converter Bộ chuyển đổi tương tự/số
sang số/tương tự CRC Cyclic Redundancy Check Kiểm tra độ dư vòng
CSMA-CA
Carrier Sense Multiple Access Đa truy cập nhận biết sóng with Collision Avoidance mang tránh xung đột GPS Geopositioning System Hệ thống định vị địa lý
HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn bản IEEE Institute of Electrical and Tổ chức kỹ nghệ Điện và Điện Tử
Electronic Engineering MAC Medium Access Control Điều khiển truy cập môi trường OSI Open Systems Interconnection Mô hình tham chiếu kết nối
RSSI Received Signal Strength
Indication Năng lượng nhận được tại angten thu
Trang 6DANH MỤC HÌNH VẼ
Hình 1.1: Mô hình mạng cảm biến 2
Hình 1.2: Sơ đồ của một thiết bị WSN đơn giản 3
Hình 1.3a: Topo hình sao 5
Hình 1.3b: Topo dạng cây 5
Hình 1.3c: Topo kết hợp cây và tuyến tính 5
Hình 1.4: Kiến trúc giao thức mạng 6
Hình 2.1: Thời gian truyền cho thăm dò 13
Hình 2.2: Khung dẫn đường truyền thống trong mạng WSN 15
Hình 2.3: Bảng cấu trúc khung dữ liệu có ích 15
Hình 2.4: Sự thông suốt giữa mạng WSN và Internet 20
Hình 2.5: Sơ đồ hệ thống mạng WSN kết nối Internet trong luận văn 21
Hình 3.1: Sơ đồ khối của CC1010 23
Hình 3.2: Sơ đồ khối của bộ thu phát RF 24
Hình 3.3: Tuần tự bật thu phát RF 25
Hình 3.4: Bộ đệm dữ liệu RF Đường đứt nét biễu diễn bitmode 26
Hình 3.5: Mạch RSSI R281 = 27 kΩ, C281 = 1nF 27
Hình 3.6: Bảng thiết đặt công suất phát và dòng tiêu thụ tiêu biểu 28
Hình 3.7: Module CC1010EM 29
Hình 3.8: Nút chủ 29
Hình 3.9: Nút cảm nhận 30
Hình 3.10: Cảm biến tích hợp 30
Hình 3.11: Module CC1010EB 31
Hình 3.12: Sơ đồ giải thuật đơn giản cho phần mềm nhúng trên CC1010 33
Hình 3.13: Sơ đồ giải thuật nút chủ 34
Hình 3.14: Sơ đồ giải thuật nút cảm nhận 35
Hình 3.15: Sở đồ các chân của DB9 37
Hình 3.16: Thiết đặt thông số cho Comport 41
Hình 3.17: Mô tả các thành phần trong NET Framework 43
Hình 3.18: Giao diện chính của chương trình 45
Hình 3.19: GroupBox chứa các tham số cài đặt ComPort 45
Hình 3.20: GroupBox chứa các tham số cài đặt mức ngưỡng 46
Hình 3.21: GroupBox ngắt nối cổng COM 46
Hình 3.22: GroupBox ngắt nối cổng COM 47
Hình 3.23: Hiển thị kết quả 47
Hình 3.24: Đồ thị thời gian thực 47
Hình 3.25: Kết quả truyền về 48
Hình 3.26: Truy xuất kết quả theo ngày 48
Hình 3.27: Thông báo cảnh báo vượt ngưỡng 49
Hình 3.28: Bảng Frame 51
Trang 7Hình 3.29: Bảng DataType 51
Hình 3.30: Bảng ID 51
Hình 3.31: Mối quan hệ các bảng 52
Hình 3.32: Sơ đồ xử lý trang của ASP.NET 54
Hình 3.33: Giao diện WEBSITE 58
Hình 3.34: Đăng ký tên miền 59
Hình 3.35: Cấu hình NAT cho modem 59
Hình 3.36: Cấu hình cho phần mềm DYN update 59
Hình 3.37: Sơ đồ xử lý trang của ASP.NET 60
Hình 3.38: Truy cập website tƣ̀ internet 60
Trang 8Chương 1: Tổng quan về mạng cảm biến không dây
Chương 2: Cấu trúc khung mạng cảm biến không dây và Cơ sở dữ liệu mạng cảm biến không dây
Chương 3: Xây dựng hệ thống cơ sở dữ liệu và cập nhật động dữ liệu mạng cảm biến không dây lên website
Hai chương đầu trình bày về tổng quan mạng cảm biến không dây và khung dữ liệu mạng cảm biến cũng như cách lưu trữ dữ liệu mạng cảm biến , đây là phần lý thuyết nền tảng quan trong cho phần thực nghiệm chương 3
Trong phần thực nghiệm, các kết quả đã đạt được bao gồm việc viết phần mềm nhúng cho nút mạng thực hiện thu thập dữ liệu và xây dựng cơ sở dữ liệu của mạng đồng thời viết chương trình giao tiếp và cập nhật động dữ liệu lên website Trên cơ sở đấy đưa ra các phân tích đánh giá kết quả đạt được của mạng cảm biến không dây so với trước đây
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY
1.1 Giới thiệu mạng cảm biến:
Mạng cảm biến không dây có thể hiểu là mạng liên kết các nút với nhau bằng kết nối sóng vô tuyến trong đó 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… và có số lượng lớn được phân phối một cấu trúc không cố định có khả năng tự định tuyến trên một diện tích rộng, phạm vi hoạt động rộng, sử dụng nguồn năng lượng hạn chế, có thời gian sống lâu dài và có thể hoạt động trong môi trường khắc nhiệt như chất độc, ô nhiễm, nhiệt độ không ổn định …
Hình 1.1: Mô hình mạng cảm biến
WSN là một trong những lĩnh vực công nghệ mạng truyền thông mới phát triển nhanh chóng, với những ứng dụng trong nhiều lĩnh vực như điều khiển quá trình công nghiệp, bảo mật và giám sát, cảm biến môi trường, kiểm tra sức khỏe…
Các nút mạng thường có chức năng cảm nhận : cảm ứng, quan sát môi trường xung quanh như nhiệt độ, độ ẩm, ánh sáng… theo dõi hay định vị các mục tiêu cố định hay di động Các nút giao tiếp với nhau và truyền dữ liệu về trung tâm một cách gián tiếp bằng kỹ thuật đa bước
1.2 Thiết bị mạng cảm biến:
Số lượng thiết bị (các nút mạng) trong WSN thông thường là rất lớn Các nút này tùy vào chức năng và nhiệm vụ mà sẽ có nhưng cấu trúc riêng Nhưng nhìn chung các nút phải phải thiết kế nhỏ gọn, giá thành hợp lý và có khả năng hoạt động được
Trang 10trong thời gian dài Hình 1.2 sẽ cho chúng ta thấy các thành phần cơ bản làm nên một thiết bị WSN
Hình 1.2: Sơ đồ của một thiết bị WSN đơn giản
1.2.1 Bộ xử lý nhúng năng lượng thấp:
Nhiệm vụ của bộ xử lý bao gồm: xử lý thông tin cảm biến cục bộ và thông tin truyền bởi các bộ cảm biến khác Các bộ xử lý gắn vào thiết bị thường bị hạn chế về công suất nên được chạy trên các hệ điều hành có các thành phần cơ bản đặc biệt, như
hệ điều hành TinyOS
1.2.2 Bộ nhớ/Lưu trữ (Memory/Storage):
Lưu trữ dưới dạng ROM và RAM cả bộ nhớ chương trình (các lệnh được thực hiện bởi bộ xử lý) và bộ nhớ dữ liệu (lưu các kết quả đo chưa qua xử lý và đã qua xử
lý bởi bộ cảm biến, lưu các thông tin cục bộ khác) Chất lượng bộ nhớ và lưu trữ trên
bo mạch của thiết bị WSN thường bị giới hạn đáng kể do giá thành thiết bị thấp
1.2.3 Bộ thu phát sóng vô tuyến:
Thiết bị WSN thường có tốc độ thấp (10100kbps) và là thiết bị vô tuyến không dây dải ngắn (nhỏ hơn 100m) Trong WSN thì truyền vô tuyến là một quá trình
sử dụng năng lượng nhiều nhất, do đó nó cần phải kết hợp có hiệu quả năng lượng giữa các chế độ ngủ và chế độ hoạt động
Trang 111.2.4 Cảm biến:
Do giới hạn băng thông và nguồn, các thiết bị WSN chỉ hỗ trợ bộ cảm biến tốc
độ dữ liệu thấp Với các ứng dụng bộ cảm biến đa chức năng, mỗi thiết bị có một vài loại cảm biến trên bo mạch Tùy theo mỗi ứng dụng sẽ có một loại cảm biến riêng : cảm biến nhiệt độ, cảm biến khí, cảm biến ánh sáng, cảm biến độ ẩm, cảm biến áp suất, cảm biến gia tốc, cảm biến từ, cảm biến âm thanh, hay thậm chí là cảm biến hình ảnh có độ phân giải thấp…
1.2.5 Hệ thống định vị toàn cầu GPS:
Trong nhiều ứng dụng của WSN, ứng dụng cho các phép đo sensor để đánh dấu
vị trí là quan trọng nhất Cách đơn giản nhất để định vị là tiền cấu hình cho sensor ở vị trí triển khai, tuy nhiên nó chỉ mang tính khả thi trong một số điều kiện triển khai nhất định
Ví dụ cụ thể đối với hệ thống bên ngoài tòa nhà: Khi một mạng được triển khai, thông tin dễ dàng thu được qua vệ tinh gốc GPS Tuy nhiên, tại các ứng dụng, do hạn chế của môi trường và kinh phí, chỉ một phần nhỏ các nút được trang bị GPS Trong trường hợp này, các nút khác nhau (nhưng vẫn trong cùng mạng) chỉ thu được vị trí của nhau một cách gián tiếp qua giao thức định vị mạng
1.2.6 Nguồn nuôi:
Để tạo sự linh hoạt cho việc triển khai mạng cảm biến, các thiết bị trong mạng thường được cấp nguồn bằng pin Cũng có một số nút được nối trực tiếp vào nguồn điện liên tục Công nghệ tiết kiệm năng lượng hiện nay có thể cung cấp mức năng lượng thấp hơn mà vẫn duy trì được nút hoạt động bình thường, vì vậy có thể kéo dài tuổi thọ của nút Hạn chế về mặt năng lượng của pin là trở ngại quan trọng nhất trong hầu hết các ứng dụng của WSN
1.3 Topo mạng WSN:
WSN thường được triển khai trên một phạm vi rộng, số lượng nút mạng lớn và được phân bố một cách tương đối ngẫu nhiên, các nút mạng có thể di chuyển làm thay đổi sơ đồ mạng Do vậy WSN đòi hỏi 1 cấu trúc mạng linh động (ad-hoc, mesh, star ) và các nút mạng có khả năng tự điều chỉnh, tự cấu hình
Trang 12Hình 1.3a: Topo hình sao
Hình 1.3b: Topo dạng cây
Hình 1.3c: Topo kết hợp cây và tuyến tính
WSN tiến hành phân chia mạng diện rộng (hàng trăm, hàng ngàn nút) thành các cụm (cluster) để ổn định topo của mạng, đơn giản hóa giải thuật định tuyến, giảm xung đột khi truy cập vào kênh truyền nên giảm được năng lượng tiêu thụ, đơn giản hóa việc quản lý mạng và cấp phát địa chỉ cho từng nút mạng (theo cluster)
Tùy thuộc vào các ứng dụng cụ thể mà các nút liên kết với cùng mạng với các cách khác nhau Trong ứng dụng thu thập dữ liệu cơ sở có một nút gọi nút đầu ra (sink node), nó có nhiệm vụ chỉ dẫn định hướng cho tất cả các dữ liệu từ các nút nguồn cảm biến Topo logic đơn giản cho kết nối tập hợp các dữ liệu là đơn bước nhảy topy hình sao, ở đây tất cả các nút gửi dữ liệu của nó trực tiếp đến nút đầu ra
Trong các mạng lưới thiết đặt truyền tải điện năng thấp hơn hoặc nơi mà các nút được triển khai trên một vùng rộng lớn, cấu trúc cây đa bước nhảy có thể được sử dụng cho việc thu thập các dữ liệu Trong trường hợp này, một số nút có thể xem như
là nguồn chính và định tuyến cho các nguồn khác Một trong những đặc điểm thú vị của WSN là cho phép khả năng xử lý thông minh trong mạng Các nút trung gian dọc theo đường không chỉ hoạt động như chuyển gói mà còn có thể kiểm tra và xử lý nội dung của gói tin đi qua chúng Điều này thường được thực hiện cho các mục đích của nén dữ liệu hoặc cho việc xử lý tín hiệu nhằm nâng cao chất lượng thu thập thông tin
Trang 131.4 Một số chuẩn WSN:
Do phạm vi ứng dụng của WSN rất rộng lớn, tính chất, đặc trưng của mạng phụ thuộc vào ứng dụng triển khai cụ thể Do vậy, các công ty, các phòng thí nghiệm vẫn thường phát triển, triển khai các giao thức riêng (MAC, định tuyến, đồng bộ .) phù hợp cho từng ứng dụng cụ thể dựa trên các thiết bị phần cứng (transceiver chip) trên thị trường Một số chuẩn WSN phổ dụng bao gồm:
- ALOHA system (U of Hawaii)
- PRNET system (U.S Defense)
- WINS (U of California)
- PicoRadio (U of California)
- MicroAMPS (M.I.T)
- MANET (Mobile ad-hoc Network)
- Zigbee: dựa trên tầng Vật lý và tầng MAC của chuẩn WPAN 802.15.4
1.5 Kiến trúc giao thức mạng:
Kiến trúc giao thức áp dụng cho mạng cảm biến được trình bày trong hình 1.4 Kiến trúc này bao gồm các lớp và các mặt phẳng quản lý Các mặt phẳng quản lý này làm cho các nút có thể làm việc cùng nhau theo cách có hiệu quả nhất, định tuyến dữ liệu trong mạng cảm biến di động và chia sẻ tài nguyên giữa các nút cảm biến
Hình 1.4: Kiến trúc giao thức mạng
- Mặt phẳng quản lý công suất: Quản lý cách cảm biến sử dụng nguồn năng lượng của nó Ví dụ: nút cảm biến có thể tắt bộ thu sau khi nhận được một bản tin Khi mức công suất của cảm biến thấp, nó sẽ quảng bá sang
Trang 14nút cảm biến bên cạnh thông báo rằng mức năng lượng của nó thấp và nó không thể tham gia vào quá trình định tuyến
- Mặt phẳng quản lý di động: có nhiệm vụ phát hiện và đăng ký sự chuyển động của các nút Các nút giữ việc theo dõi xem ai là nút hàng xóm của chúng
- Mặt phẳng quản lý: Cân bằng và sắp xếp nhiệm vụ cảm biến giữa các nút trong một vùng quan tâm Không phải tất cả các nút cảm biến đều thực hiện nhiệm vụ cảm nhận ở cùng một thời điểm
- Mô hình ngăn xếp giao thức mạng WSN có 5 lớp bao gồm các lớp: lớp ứng dụng, lớp truyền tải, lớp mạng, lớp liên kết dữ liệu và lớp vật lý Mỗi lớp có một chức năng và nhiệm vụ khác nhau Ở chương sau ta sẽ đi ta sẽ phân tích cụ thể ở mô hình giao thức Zigbee
1.6 Các ứng dụng WSN:
WSN có thể sử dụng nhiều loại cảm biến khác nhau như cảm biến từ trường tốc
độ lấy mẫu thấp, cảm biến thị giác, cảm biến hồng ngoại, cảm biến âm thanh, radar…
mà có thể quan sát vùng rộng các điều kiện xung quanh đa dạng bao gồm: nhiệt độ, độ
ẩm, sự chuyển động của xe cộ, điều kiện ánh sáng, áp suất, sự hình thành đất, mức nhiễu Tùy vào từng ứng dụng cụ thể mà các cảm biến được lắp đặt với mục đích khác nhau Ta có thể phân ra hai loại thông tin mà mạng WSN thu thập về Đó là:
- Thu thập dữ liệu thời gian thực mang tính chất cảnh báo các sự cố hoặc sự kiện (cảnh báo cháy rừng, lũ lụt, mức độ ô nhiễm…)
- Thu thập các dữ liệu dài ngày mang tính chất thống kê (điều tra khảo sát nhiệt
độ trong mùa hạn hán của một vùng, mức độ lên xuống mức nước từng mùa của một dòng sông, …)
Có ba dạng ứng dụng của mạng cảm nhận không dây: thu thập dữ liệu môi trường, giám sát an ninh, và theo dõi đối tượng Hầu hết các ứng dụng chủ yếu của WSN đều thuộc ba dạng này
WSN được ứng dụng rộng rãi trong cuộc sống từ những ứng dụng về bảo vệ môi trường sinh thái, nông nghiệp, quân đội, giám sát nhà máy, nhà thông minh, chăm sóc sức khỏe con người…
1.6.1 Ứng dụng trong quân đội:
Mạng cảm biến không dây có thể là một phần tích hợp trong hệ thống điều khiển quân đội, giám sát, giao tiếp, tính toán thông minh, trinh sát, theo dõi mục tiêu Đặc tính triển khai nhanh, tự tổ chức và có thể bị lỗi của mạng cảm biến làm cho
Trang 15chúng hứa hẹn kỹ thuật cảm biến cho hệ thống trong quân đội Vì mạng cảm biến dựa trên sự triển khai dày đặc của các nút cảm biến có sẵn, chi phí thấp và sự phá hủy của một vài nút bởi quân địch không ảnh hưởng đến hoạt động của quân đội cũng như sự phá hủy các cảm biến truyền thống làm cho khái niệm mạng cảm biến là ứng dụng tốt đối với chiến trường Một vài ứng dụng quân đội của mạng cảm biến là quan sát lực lượng, trang thiết bị, đạn dược, theo dõi chiến trường do thám địa hình và lực lượng quân địch, mục tiêu, việc đánh giá mức độ nguy hiểm của chiến trường, phát hiện và
do thám việc tấn công bằng hóa học, sinh học, hạt nhân
- Giám sát lực lượng, trang thiết bị và đạn dược
- Giám sát chiến trường
- Giám sát địa hình và lực lượng quân địch
- Đánh giá sự nguy hiểm của chiến trường
1.6.2 Ứng dụng trong môi trường:
Đây là một trong những thế mạnh của WSN Một vài ứng dụng môi trường của mạng cảm biến như theo dõi sự di cư của các loài chim, các động vật nhỏ, các loại côn trùng, theo dõi điều kiện môi trường mà ảnh hưởng đến mùa màng và vật nuôi, việc tưới tiêu, các thiết bị đo đạc lớn đối với việc quan sát diện tích lớn trên trái đất, sự thăm dò các hành tinh, phát hiện sinh-hóa, nông nghiệp chính xác, quan sát môi trường, trái đất, môi trường vùng biển và bầu khí quyển, phát hiện cháy rừng, nghiên cứu khí tượng học và địa lý, phát hiện lũ lụt, sắp đặt sự phức tạp về sinh học của môi trường và nghiên cứu sự ô nhiễm
1.6.3 Ứng dụng trong chăm sóc sức khỏe:
Một vài ứng dụng về sức khỏe đối với mạng cảm biến là giám sát bệnh nhân, các triệu chứng, quản lý thuốc trong bệnh viện, giám sát sự chuyển động và xử lý bên trong của côn trùng hoặc các động vật nhỏ khác, theo dõi và kiểm tra bác sĩ và bệnh nhân trong bệnh viện
Theo dõi bác sĩ và bệnh nhân trong bệnh viện: mỗi bệnh nhân được gắn một nút cảm biến nhỏ và nhẹ, mỗi một nút cảm biến này có nhiệm vụ riêng, ví dụ có nút cảm biến xác định nhịp tim trong khi con cảm biến khác phát hiện áp suất máu, bác sĩ cũng có thể mang nút cảm biến để cho các bác sĩ khác xác định được vị trí của họ trong bệnh viện
1.6.4 Ứng dụng trong gia đình:
Trong lĩnh vực tự động hóa gia đình, các nút cảm biến được đặt ở các phòng để
đo nhiệt độ Không những thế, chúng còn được dùng để phát hiện những sự dịch chuyển trong phòng và thông báo lại thông tin này đến thiết bị báo động trong trường hợp không có ai ở nhà (Nhà thông minh)
Trang 161.6.5 Ứng dụng trong công nghiệp và thương mại:
Ngày nay đây cũng đang là một ứng dụng trọng điểm của WSN Chúng ta có thể gắn mạng cảm biến để có thể kiểm soát các hệ thống chiếu sáng, kiểm soát độ ẩm, phòng cháy, chống rò rỉ, chất lượng các sản phẩm hoặc dùng cảm biến cảm nhận rồi điều khiển một cách tự động các thiết bị, robot … trong các nhà máy khu công nghiệp, khu thương mại
1.7 Yêu cầu trong thiết kế mạng cảm biến:
Mạng cảm biến quan tầm rất nhiều về khía cạnh kĩ thuật Các kĩ thuật mới tiên tiến được áp dụng vào mạng WSN nhằm thiết kế thỏa mãn các yêu cầu của mạng
1.7.1 Thời gian sống bên ngoài:
Các nút WSN với nguồn năng lượng pin bị giới hạn Ví dụ: một loại pin kiềm cung cấp 50Wh năng lượng, nó có thể truyền cho mỗi nút mạng ở chế độ tích cực gần một tháng hoạt động Trong thực tế, pin rất cần thiết trong rất nhiều ứng dụng để bảo đảm mạng WSN có thể tự động sử dụng không cần thay thế trong vài năm Sự cải thiện của phần cứng trong thiết kế pin và kĩ thuật thu năng lượng sẽ giúp ta một phần trong việc tiết kiệm pin
1.7.2 Khả năng đáp ứng của bộ cảm biến:
Giải pháp đơn giản để kéo dài thời gian sống bên ngoài là điều khiển các nút cùng một loại chu kỳ hoạt động với chu kỳ chuyển mạch giữa hai chế độ: chế độ ngủ
và chế độ hoạt động
Trong khi quá trình đồng bộ ở chế độ ngủ là một thử thách năng lực của WSN, thì một vấn đề lớn liên quan nữa đó là chu trình ngủ một cách tùy tiện có thể làm giảm khả năng đáp ứng cũng như hiệu suất của các cảm biến
Trong một số ứng dụng, để các sự kiện trong tự nhiên được tìm thấy và tường thuật nhanh, thì sự trễ bởi lịch ngủ phải được giữ ở giới hạn chính xác, ngay cả trong
sự tồn tại của nghẽn mạng
1.7.3 Sức mạnh:
Mục tiêu của WSN là có thể phủ sóng trên một phạm vi rộng lớn Mục tiêu này
sẽ được phổ biến trên các thiết bị không đắt tiền Tuy nhiên, các thiết bị rẻ thường có độ tin cậy thấp và thường dễ xảy ra lỗi Tốc độ lỗi cũng sẽ cao khi các thiết bị cảm ứng được triển khai trong các môi trường khắc khe và trong vùng hoạt động của kẻ địch Giao thức thiết kế do đó cũng phải xây dựng có kỹ thuật, kỹ xảo để có thể đáp ứng được các yêu cầu đó
Trang 171.7.4 Bổ trợ:
Các cải tiến của luật Moore trong công nghệ bảo đảm dung năng của thiết bị về các mặt: xử lý nguồn, bộ nhớ-lưu trữ, thực hiện truyền nhận vô tuyến, cải thiện nhanh chóng sự chính xác của bộ cảm biến Tuy nhiên, nếu vấn đề kinh tế được đặt ra ở đây
là giá cả trên mỗi nút giảm mạnh, thì nó có thể làm cho dung năng của nút sẽ bị hạn chế ở một mức độ nhất định Đó là lý do để thiết kế các giao thức Synery, các giao thức này bảo đảm rằng hệ thống tổng thể sẽ có dung năng lớn hơn so với dung năng của các đơn thành phần trong nó gộp lại Các giao thức cung cấp khả năng hợp tác giữa lưu trữ, máy móc và các tài nguyên thông tin
1.7.5 Khả năng mở rộng:
Mạng WSN có khả năng mở rộng trên phạm vi vô cùng lớn (có thể lên tới hàng triệu nút ) Tuy nhiên, có một vài hạn chế về thông lượng và dung lượng làm ảnh hưởng đến khả năng mở rộng của hoạt động mạng cảm biến
Do tính mở rộng và hầu hết là các ứng dụng trong thiên nhiên nên WSN là các
hệ thống phân phối không cần chủ Hoạt động tự động là vấn đề chính được đặt ra trong thiết kế Ngay từ đầu, các nút trong WSN có thể được cấu hình theo topo mạng của chúng; tự đồng bộ, tự kiểm tra và tự quyết định các thông số hoạt động khác
1.7.8 Tự tối ưu và thích nghi:
Trong WSN, thường có những tín hiệu không chắc chắn về điều kiện hoạt động trước khi triển khai Đối với những trường hợp đó, việc xây dựng những máy móc để
có thể tự đọc từ sensor và thu thâp các phép đo mạng; sử dụng những cái đọc được đó
để tiếp tục hoạt động cải tiến là điều rất quan trọng
Ngoài ra, môi trường hoạt động của WSN có thể thay đổi mạnh mẽ qua thời gian Các giao thức WSN sẽ làm cho thiết bị có thể thích nghi với môi trường hoạt động động (dynamic) trong khi thiết bị đang trực tuyến
1.7.9 Thiết kế có tính hệ thống:
Như chúng ta đã thấy, WSN thường có thể là một ứng dụng cao cho từng chức năng riêng nên cần có sự cân bằng giữa 2 yếu tố:
Trang 18- Ad hoc: mỗi ứng dụng cần có những đặc điểm khai thác ứng dụng riêng để cung cấp những hoạt động có tính phát triển cao
- Tính linh hoạt: các phương pháp thiết kế phải dễ dàng phổ biến cho các hoạt động thực thi
1.7.10 Cách biệt và bảo mật:
Tính mở rộng, phổ biến rộng, nhạy của thông tin thu được bởi WSN làm tăng yêu cầu chính cuối cùng trong thiết kế đó là phải làm sao để cách biệt và bảo mật thông tin
Trang 19CHƯƠNG 2 KHUNG DỮ LIỆU VÀ CƠ SỞ DỮ LIỆU CỦA
MẠNG CẢM BIẾN KHÔNG DÂY 2.1 Giao thức lập lịch tập trung
Muốn lưu trữ dữ liệu mạng cảm biến không dây thành cơ sở dữ liệu là một tập hợp thông tin có cấu trúc, chúng ta phải nghiên cứu các trường thông tin có ích trong một khung truyền về từ các nút mạng để lưu lại và loại bỏ các trường tiêu đề không cần thiết Để nghiên cứu về khung dữ liệu của mạng WSN ta cần biết khung truyền này sẽ đi như thế nào trong mạng WSN Phần tiếp the o ta sẽ nghiên cứu về thủ tục điều khiển thâm nhập môi trường được sử dụng trong luận văn – giao thức lập lịch tập trung
2.1.1 Thủ tục thâm nhập môi trường MAC:
MAC nằm ở lớp liên kết dữ liệu trong mô hình OSI Lớp này có nhiệm vụ ghép các luồng dữ liệu, phát hiện các khung (frame) dữ liệu, cách truy nhập đường truyền
và điều khiển lỗi Vì môi trường có tạp âm và các nút cảm biến có thể di động, giao thức điều khiển truy nhập môi trường (MAC) phải xét đến vấn đề công suất và phải có khả năng tối thiểu hoá việc va chạm với thông tin quảng bá của các nút lân cận Tóm lại MAC có 2 nhiệm vụ chính là:
- Tạo khung dữ liệu để truy cập môi trường
- Truy cập môi trường và dò lỗi, nhằm thực việc truyền và nhận đúng dữ liệu
Thủ tục MAC được thiết kế cho mạng WSN có thêm mục đích là quản lý hoạt động của sóng vô tuyến để chuyển đổi năng lượng Có rất nhiều thủ tục MAC cho mạng cảm biến không dây, nhưng có thể chia ra bốn loại chính là:
- Thủ tục MAC theo chuẩn IEEE 802.15.4
- Thủ tục lập lịch với các chuẩn như : Lập lịch tập trung , D-MAC, WiseMAC, LEACH
- Thủ tục truy cập có cạnh tranh : CSMA/CA, CSMA sử dụng backoff , PAMAS
- Thủ tục chu kỳ công suất thấp: S-MAC, T-MAC
Trang 202.1.2 Giao thức lập lịch tập trung:
Trong giao thức đa truy cập cảm nhận sóng mang (CSMA), một nút muốn truyền trước hết phải lắng nghe kênh để đánh giá nó có rỗi không Nếu kênh nhàn rỗi, nút sẽ tiến tới việc truyền Nếu kênh bận, nút sẽ đợi một chu kỳ back-off ngẫu nhiên để
cố truyền lại Giao thức lập lịch tập trung sử dụng công nghệ TDMA , có sự biến đổi đối với truy cập kênh không dây là có thêm thăm dò
Trong thuật toán thăm dò, các nút mạng có thể truyền chỉ trên một kênh sau khi nhận được sự cho phép của nút chủ trên mạng Ban đầu nút chủ gửi thông điệp đến các nút không phải nút chủ (nút cảm nhận ), một cách đều đặn thăm dò tất cả các nút, hỏi xem chúng có mong muốn truyền không Mỗi nút cảm nhận phản hồi lần lượt lại truy vấn này Một nút chỉ ra sự mong muốn truyền sau khi được nút chủ cho phép Theo cách này, nút chủ có thể điều khiển truy cập môi trường
Mỗi gói tin thăm dò tồn tại riêng biệt với một gói dữ liệu bởi tta là thời gian được yêu cầu để sink thay đổi trạng thái Đối với một thăm dò không thành công, có một sự phân chia tối thiểu 2tta +tcca giữa 2 gói tin thăm dò thành công ,đây là thời gian được yêu cầu để xác định có hay không bất kỳ đáp ứng từ nút chủ trước khi một gói thăm dò khác được gửi
Hình 2.1: Thời gian truyền cho thăm dò
Trong đó:
ttx : thời gian truyền một gói dữ liệu
tta: thời gian từ trạng thái nhận sang truyền hoặc từ truyền sang nhận
tcca: thời gian để quyết định liệu có dữ liệu đang truyền hay không bằng việc nhận biết kênh là trống hay không
Thăm dò cung cấp nhiều thuận lợi hơn CSMA Thứ nhất, thời gian truy cập
Trang 21CSMA Điều này có thể là một thuận lợi quan trọng đối với những ứng dụng yêu cầu trễ thông điệp thấp và những ứng dụng cần được xử lý hết sức thận trọng trong những thông điệp khẩn cấp Hơn nữa, bởi vì truy cập kênh được điều khiển bởi một thực thể đơn (nút chủ), chính sách của nút chủ có thể điều chỉnh dễ dàng để cung cấp các mức
độ khác nhau về việc truy cập kênh đối với nút cơ sở Trong cách này, mỗi nút có thể đưa ra chất lượng dịch vụ cần thiết đối với ứng dụng nó phục vụ Những nút yêu cầu băng thông dữ liệu cao hoặc trễ bản tin thấp có thể được thăm dò nhiều lần hơn các nút khác Thêm vào đó, bởi vì nó được điều khiển bởi nút chủ, kênh truy cập cũng có thể được đảm bảo tốt hơn Cuối cùng, vấn để đầu cuối ẩn như CSMA là tránh được
Những điểm không thuật lợi của thuật toán thăm dò trong mạng cảm nhận không dây:
- Thứ nhất, bởi vì nút chủ phải truyền và nhận liên tục, nó không thể tương xứng giữa chu kỳ công suất thấp với thời gian sống pin dài Các cảm nhận cũng phải chịu tải của việc nhận thăm dò liên tục của nút chủ mong dành cho các nút cảm nhận khác Và thỉnh thoảng lại đáp lại nút chủ nếu đúng địa chỉ của nó
- Thứ hai, khi số lượng thiết bị trong mạng tăng lên, tổng số thời gian mạng mất cho việc thăm dò các nút mạng cũng tăng theo Rất khó thiết lập một thuật toán thăm dò đối với hàng trăm tới hàng nghìn nút
- Cuối cùng, phương thức truy cập kênh thăm dò thường yêu cầu một mạng đơn bước Các nút phải nằm trong phạm vi của nút chủ để có được truy cập kênh Thuật toán lập lịch tập trung và phần mềm nhúng cho mỗi nút sẽ được trình bày
ở chương 3 của luận văn và trong phần phụ lục
2.2 Khung truyền mạng WSN :
Cần xác định dạng khung dữ liệu chính xác cho quá trình truyền nhận để dựa vào đó lập trình phù hợp cho mỗi nút mạng Nghĩa là phải thiết lập khung dữ liệu với đầy đủ các trường, đảm bảo cung cấp đầy đủ thông tin để nút nhận có thể xử lý tốt các thông tin cần thiết Các dữ liệu từ sensor cùng các thông tin chung của nút mạng sẽ được đóng gói thành khung dữ liệu Khung dữ liệu được nạp vào bộ đệm dữ liệu (RF Data Buffer) trong bộ thu phát vô tuyến tích hợp sắn trong vi điều khiển CC1010 Dữ liệu trước khi truyền và sau khi nhận được đặt vào trong bộ đệm Chính vì vậy, kích thước của bộ đệm RF cũng chính là kích thước tối đa của khung dữ liệu cho mỗi lần truyền Kích thước bộ đệm trong vi điều khiển CC1010 là 253bytes
Trang 22Xét một cấu trúc khung dẫn đường đầy đủ trong mạng cảm biến không dây :
Hình 2.2: Khung dẫn đường truyền thống trong mạng WSN
Trong đó:
- Preamble: (4bytes) trường dẫn đường
- SFD(Start-of-frame delimiter): (1byte) trường bắt đầu dấu phân cách
- FLI(Frame Length Indicator): (1byte) trường chỉ thị độ dài khung
- FSC(Frame check sequence): (2bytes) trình tự kiểm tra khung Payload chính là phần dữ liệu thông tin có ích truyền giữa các nút bao gồm:
- Type: (1byte) Loại khung được nhận Để phân biệt các loại khung khác nhau: ACK, dẫn đường, dữ liệu …
- Dest address: (2bytes) Địa chỉ nơi nhận Lọc ra những khung không liên quan
- seq_num: (1byte) chỉ ra số khung dẫn đường được truyền trước khung dữ liệu
- Data: (3bytes) thông tin dữ liệu cảm biến Với nội dung của luận văn đã đặt ra , ta sẽ xây dựng chương trình nhúng với các trường được định dạng khung dữ liệu như sau:
ID của nút tại
điểm đo
Tên điểm đo (IDSource)
ID node đến (IDDestine)
Kiểu dữ liệu (DataType)
Dữ liệu (Data)
Năng lượng (Bat)
Kết thúc gói tin (END)
Hình 2.3: Bảng cấu trúc khung dữ liệu có ích
Trang 23Trong đó:
ID: Thông tin về Node gửi dữ liệu
IDSource: Nơi gửi dữ liệu
IDDestine: Điểm đến
NodeName: Tên node gửi
DataType: Loại dữ liệu
Data: Dữ liệu
Bat: Giá trị còn lại của Pin
Date: Thời gian truyền Tại các nút cảm nhận, khung dữ liệu được xóa trống trong lần khởi tạo đầu tiên Các byte được đưa vào bộ đệm lần lượt từ byte cao về byte thấp Để đảm bảo các trường dữ liệu được đưa vào đúng vị trí của nó trong khung ta tiến hành nạp dữ liệu của các trường theo thứ tự trong khung, các trường đứng đầu khung thì được nạp trước, các trường đứng sau thì sẽ nạp sau Ngoài ra, để cho thuận tiện cũng như chính xác trong quá trình xử lý ta cần xác định chính xác offset từng trường dữ liệu trong khung
Ví dụ quá trình nạp NodeID vào khung (chương trình viết bằng ngôn ngữ C): txDataBuffer[0] = (NodeID >> 8) & 0xFF; //Nạp byte cao
txDataBuffer[1] = NodeID & 0xFF; //Nạp byte thấp
2.3 Cơ sở dữ liệu mạng cảm biến không dây
2.3.1 Cơ sở dữ liệu
- Cơ sở dữ liệu (CSDL) là một tập hợp thông tin có cấu trúc hay một tập hợp liên kết các dữ liệu được lưu trên một thiết bị lưu trữ như đĩa hay băng Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu
- Có một số ưu điểm mà CSDL mang lại:
o Giảm sự trùng lặp thông tin xuống mức thấp nhất Do đó đảm bảo thông tin có tính nhất quán và toàn vẹn dữ liệu
o Đảm bảo dữ liệu có thẻ được truy suất theo nhiều cách khác nhau
o Nhiều người có thể sử dụng một cơ sở dữ liệu
- Những vấn đề mà CSDL cần phải giải quyết:
o Tính chủ quyền của dữ liệu
Thể hiện ở phương diện an toàn dữ liệu
Trang 24 Khả năng biểu diễn mỗi liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu
Người khai thác cơ sở dữ liệu phải cập nhật cho CSDL những thông tin mới nhất
o Tính bảo mật và quyền khai thác thông tin của người sử dung
Do ưu điểm CSDL có thể cho nhiều người khai thác đồng thời, nên cần phải có một cơ chế bảo mật phân quyền khai thác CSDL
Các hệ điều hành nhiều người sử dụng hay cục bộ đều cung cấp
Cấp quyền ưu tiên cho từng người khai thác
o Đảm bảo an toàn dữ liệu khi có sự cố
Khi CSDL nhiều và được quản lý tập trung Khả năng rủi ro mất
dữ liệu rất cao Các nguyên nhân chính là mất điện đột ngột hoặc hỏng thiết
Trang 25o Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bản dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng Các hệ quản trị có hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle, Postgres
o Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag Đây là cơ sở
dữ liệu có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên
cơ sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng
2.3.2 Sự cần thiết của cơ sở dữ liệu của mạng WSN
Bên cạnh khả năng thu thập dữ liệu thời gian thực cảnh báo các sự cố một cách nhanh chóng hiệu quả, mạng WSN còn có khả năng thu thập được các dữ liệu trong thời gian dài dùng làm số liệu nghiên cứu và khảo sát
Ví dụ như dữ liệu nhiệt độ khí hậu của một khu rừng trong một năm, sự lên xuống mức nước của một dòng sông, vùng biển… Cứ một nút mạng sau một chu kỳ lại cho về một dữ liệu về nút trung tâm, trong mạng WSN thì lại có rất nhiều nốt mạng, vì thế số liệu thu về trong thời gian dài là rất lớn Nếu đơn thuần chỉ lưu vào file dữ liệu văn bản thì sẽ rất khó kiểm soát và theo dõi được thông tin mang về
Cơ sở dữ liệu còn là nguyên liệu cho chúng ta xây dựng Website động cho mạng WSN Vì vậy chúng ta cần lưu kết quả thu thập vào một hệ cơ sở dữ liệu, nhằm thuận lợi cho việc lưu trữ và truy xuất những dữ liệu này một cách khoa học Trong khuôn khổ luận văn này sẽ có phần sử dụng MS SQL Server để cập nhật các thông tin mạng WSN Chúng ta sẽ tìm hiểu kỹ hơn về hệ cơ sở dữ liệu MS SQL Server ở phần sau
2.4 Lưu và cập nhật động cơ sở dữ liệu lên Website
2.4.1 Công nghệ Website
Tiền thân của mạng Internet ngày nay là mạng ARPANET Vào năm 1960 khi một cơ quan của Bộ Quốc phòng Mỹ, cơ quan quản lý dự án nghiên cứu phát triển (ARPA) đề nghị liên kết 4 địa điểm đầu tiên vào tháng 7 năm 1968 Bốn địa điểm đầu tiên đó là Viện Nghiên cứu Stanford, Trường Đại học tổng hợp California ở Los Angeles, Úc - Santa Barbara và trường Đại học tổng hợp Utah Đó là mạng liên khu vực (Wide area Network) hay mạng Wan đầu tiên được xây dựng (mặc dù nó nhỏ hơn nhiều so với các mạng WAN ngày nay) Bốn địa điểm trên được nối thành mạng vào năm 1969 đó đánh dấu sự ra đời của Internet ngày nay: mạng được biết đến dưới cái tên ARPANET đó hình thành
Trang 26Nếu xét về thời gian thì thuật ngữ Internet xuất hiện lần đầu vào khoảng năm
1974 Lúc đó mạng vẫn được gọi là ARPANET Năm 1983, giao thức TCP/IP chính thức được coi như một chuẩn đối với ngành quân sự Mỹ, và tất cả các máy tính nối với ARPANET phải sử dụng chuẩn mới này Năm 1984, ARPANET đó được chia ra thành hai phần: phần thứ nhất vẫn được gọi là ARPANET, dành cho việc nghiên cứu
và phát triển; phần thứ hai được gọi là MILNET, là mạng dùng cho các mục đích quân
sự
Giao thức TCP/IP ngày càng thể hiện rõ các điểm mạnh của mình, quan trọng nhất là khả năng liên kết các mạng khác với nhau lại một cách dễ dàng Chính điều này cùng với các chính sách mở cửa đó cho phép các mạng dùng cho nghiên cứu và thương mại kết nối được với ARPANET, thúc đẩy việc tạo ra một siêu mạng (SuperNetwork) Nhưng năm 1980 ARPANET được đánh giá là mạng trụ cột của mạng Internet Mốc lịch sử quan trọng của Internet được chọn vào giữa thập kỷ 1980, khi tổ chức khoa học quốc gia Mỹ NSF thành lập mạng liên kết các trung tâm máy tính lớn với nhau gọi là NSFNET Nhiều doanh nghiệp đó chuyển từ ARPANET sang NSFNET và do đó sau gần 20 năm hoạt động, ARPANET không cũn hiệu quả nữa và
đó ngừng hoạt động vảo khoảng năm 1990
Sự hình thành mạng backbone của NSFNET và những mạng vựng khác đó tạo
ra một mội trường thuận lợi cho sự phát triển của Internet Tới năm 1995, NSFNET thu lại thành một mạng nghiên cứu còn Internet thì vẫn tiếp tục phát triển
Sự ra đời và phát triển nhanh chóng của Internet đó thúc đẩy sự phát triển của công nghệ Web Website ra đời giúp cho các tổ chức chính phủ cũng như các thương nhân, thậm chí cả những cá nhân có khả năng quảng bá thông tin cho mọi người một cách nhanh chúng trên toàn thế giới Điều đó giúp phần đáng kể vào sự phát triển của kinh tế thế giới
Sự ra đời của Website không chỉ để quảng bá thông tin về các doanh nghiệp hay các tổ chức chính phủ Nó còn cho thấy vai trò to lớn của nó trong các hệ thống giám sát, thu thập dữ liệu Mạng WSN ứng dụng thu thập dữ liệu môi trường cũng không phải là một ngoại lệ Việc giám sát kết quả thu thập được từ mạng WSN trên hệ thống Webstie sẽ làm cho hệ thống mang tính chất toàn cầu và có tính khả chuyển cao
Thấy rõ được tầm quan trọng của ứng dụng trong luận văn đã phát triển và tiến hành triển khai ứng dụng trên Website cho hệ thu thập dữ liệu môi trường của mạng WSN
Trang 272.4.2 Triển khai ứng dụng trên Website cho hệ thống mạng WSN
Với sự bùng nổ của viễn thông hiện nay thì sức mạnh của WSN sẽ tăng lên gấp bội nếu chúng ta có thể kết nối mạng WSN với mạng dây nhằm đưa thông tin lên Internet Sự thông suốt giữa mạng có dây và WSN sử dụng IP sẽ mở ra những ứng dụng vô hạn về không gian và thời gian vì ta không cần quan tâm ở vị trí nào, ở đâu, nếu sử dụng máy tính hoặc thiết bị có kết nối Internet thì sẽ được cập nhật thông tin tức thời cũng như số liệu mạng WSN
Hình 2.4: Sự thông suốt giữa mạng WSN và Internet
IP cho mạng WSN là một phần tương đối mới, muốn có được điều đó thì tương đối phức tạp cả phần cứng cũng như phần mềm Tuy nhiên ta cũng có thể đưa được dữ liệu thông tin mạng WSN lên Internet dựa vào kết nối của hệ thống mạng WSN và PC
có kết nối mạng dây, thông qua giao tiếp RS232 và từ đó chúng ta hoàn toàn có thể cập nhật thông tin dữ liệu lên Internet
Trang 28Hình 2.5: Sơ đồ hệ thống mạng WSN kết nối Internet trong luận văn
Vấn đề đặt ra là làm sao chương trình ứng dụng trên Website có thể hiển thị được thông tin dữ liệu cập nhập mới nhất từ hệ thống WSN và người sử dụng có thể truy cập được vào cơ sở dữ liệu lưu trữ của mạng WSN Muốn như vậy thì thông tin sau khi được cập nhật vào cơ sở dữ liệu thì phải được đưa lên Host một cách tự động
và liên tục
Để giải quyết vấn đề này chúng ta sẽ viết một webservice chạy trực tiếp ở trên host với nhiệm vụ cập nhật dữ liệu tự động vào database
Trang 29CHƯƠNG 3
LIỆU MẠNG CẢM BIẾN KHÔNG DÂY LÊN WEBSITE
3.1 Lựa chọn vi điều khiển và các cảm biến:
Vi điều khiển (VĐK) được lựa chọn để xây dựng nút mạng ở đây là CC1010 Việc chọn VĐK hợp lý sẽ làm cho quá trình xây dựng hệ thống được rút ngắn, hệ thống hoạt động ổn định, tin cậy và đạt các chỉ tiêu đề ra:
- Đo được cường độ RF (RSSI)
- Tương thích họ VĐK 8051, tốc độ xử lý bằng 2,5 lần vi điều khiển 8051 chuẩn
- 32 kB Flash, 2048 + 128 Byte SRAM
- 3 kênh ADC 10 bit, 4 bộ định thời / 2PWMs, 2 UARTs, RTC, Watchdog, SPI, mã hoá DES, 26 chân I/O
- Có khả năng gỡ lỗi sử dụng chương trình dịch Keil μVision2.0/3.0 IDE qua cổng nối tiếp
Trang 30- Điện áp nguồn cung cấp 2.7 - 3.6 VDC
Hình 3.1: Sơ đồ khối của CC1010
3.1.1.1 Bộ thu phát không dây (RF Transceiver):
Bộ thu phát CC1010 UHF (Ultra High Frequency) RF (Radio Frequency) đƣợc thiết kế cho những ứng dụng tiêu thụ năng lƣợng thấp và điện áp thấp Mạch thu phát đƣợc dành cho công nghiệp, khoa học và y học ISM (Industrial Scientific Medical) và các thiết bị nhỏ SRD (Short Range Device) trên các dải tần 315, 433, 868 và 915 MHz, nhƣng cũng có thể dễ dàng lập trình để hoạt động trên dải tần 300 – 1000 MHz Các thông số chính của CC1010 có thể lập trình thông qua các thanh ghi chức năng đặc
Trang 31dụng bộ thu phát vô tuyến Hoạt động của bộ thu phát RF đòi hỏi rất ít các thành phần tích cực
Hình 3.2: Sơ đồ khối của bộ thu phát RF
Trong chế độ nhận: tín hiệu vào RF được khuếch đại bởi bộ LNA (Low-Noise Amplifier) và được chuyển thành trung tần IF (Intermediate Frequency) bởi bộ trộn (MIXER) Trong IF STAGE tín hiệu được khuếch đại và lọc trước khi đưa tới bộ giải điều chế DEMOD Khi có một tùy chọn, một tín hiệu RSSI hay IF sau khi trộn được đưa vào AD2 Sau khi giải điều chế, tín hiệu số được đưa tới thanh ghi RFBUF Các ngắt có thể được sinh ra cho mỗi bit hay mỗi byte nhận được (EXIF.RFIF)
Trong chế độ truyền: tín hiệu ra từ bộ tạo dao động điều khiển bởi điện áp VCO (Voltage Controlled Oscillator) được đưa trực tiếp tới khuếch đại công suất PA (Power Amplifier) Đầu ra RF là khoá dịch chuyển tần số FSK (Frequency Shift Keyed) bởi luồng bit được đưa tới thanh ghi RFBUF Ngắt có thể được sinh ra cho mỗi bit hay byte được truyền (EXIF.RFIF) Mạch chuyển bên trong T/R làm giao tiếp với antenna
dễ dàng bằng cách sử dụng một ít thành phần thụ động
Bộ tổ hợp tần số tạo ra dao động bên trong được đưa tới bộ MIXER trong chế
độ nhận và đưa tới bộ PA trong chế độ truyền Bộ tổ hợp tần số bao gồm một dao động thạch anh XOSC (Crystal Oscillator), bộ nhận biết pha PD (phase detector), bơm nạp (CHARGE PUMP), bộ lọc LFP (Internal Loop Filter), VCO, và các bộ chia tần (/R và /N) Một tinh thể ngoài có thể được nối vào XOSC VCO chỉ cần một cuộn cảm ngoài (1) Điều khiển bộ thu phát và quản lý năng lượng:
Trang 32Thanh ghi RFMAIN điều khiển chế độ hoạt động: nhận (RX) hay truyền (TX),
sử dụng hai thanh ghi tần số và các chế độ tiết kiệm năng lượng (power down) Theo cách này CC1010 có được sự linh hoạt để quản lý công suất RF để đạt được chính xác năng lượng tiêu thụ cần thiết trong các ứng dụng chỉ sử dụng pin Các chế độ tiết kiệm năng lượng khác nhau được điều khiển thông qua các bit riêng biệt trong thanh ghi RFMAIN Có sự phân công các bit để điều khiển phần RX, TX, bộ tổ hợp tần số và dao động thạch anh Sự điều khiển riêng biệt này có thể được dùng để tối ưu hoá dòng tiêu thụ thấp nhất có thể trong các ứng dụng nào đó Một thứ tự bật nguồn điển hình để đạt được dòng tiêu thụ thấp nhất được thể hiện ở hình 3.19 Hình vẽ giả thiết rằng tần
số A dùng cho RX và tần số B dùng cho TX Nếu không gặp trường hợp này, đảo lại thiết lập F_REG
(2) Truyền và nhận dữ liệu:
Trong các chế độ Transparent hay UART (Universal Asynchronous Receiver/Transmitter), dữ liệu vào/ra được định tuyến trực tiếp đến bộ điều chế trong chế độ truyền và định tuyến trực tiếp từ bộ giải điều chế trong chế độ nhận Trong các chế độ mã hóa NRZ và Manchester, dữ liệu được lưu lại tại bộ đệm RFBUF Việc lưu vào bộ đệm sẽ có những ảnh hưởng cần được xem xét trong quá trình truyền và nhận
dữ liệu, nhất là trong chế độ bytemode
Hình 3.3: Tuần tự bật thu phát RF
Trang 33Hình 3.4: Bộ đệm dữ liệu RF Đường đứt nét biễu diễn bitmode
a Quá trình truyền dữ liệu:
Khi truyền dữ liệu trong bytemode (RFCON.BYTEMODE = 1), bộ đệm dịch các bit đến thanh ghi 8 bit (bit cao trước) đến bộ điều chế với tốc độ baud Khi thanh ghi dịch trống nó sẽ tải thêm một byte mới từ bộ đệm và tiếp tục dịch các bit ra ngoài Nội dung của RFBUF không thay đổi sau mỗi lần tải Với mỗi ngắt yêu cầu được sinh
ra thì RFBUF có thể được tải byte dữ liệu mới Nếu một byte mới không được ghi với các chu kỳ 8 bit thì tại thời điểm kế tiếp, thanh ghi dịch rỗng sẽ tải lại dữ liệu cũ từ RFBUF
Trong chế độ bitmode (RFCON.BYTEMODE = 0), quá trình đệm cũng xảy ra tương tự, nhưng mỗi lần chỉ lưu một bit Do đó, sau mỗi lần truyền một bit, một ngắt
RF được tạo ra và thanh ghi dịch sẽ tải thêm một bit mới từ RFBUF.0 Để có thể ghi bit kế tiếp theo một chu kỳ, với tốc độ baud cao, cần phải sử dụng một vòng quét nhanh thăm dò chặt chẽ (thay vì sử dụng thủ tục truyền dựa trên mỗi ngắt)
Để có thể bắt đầu truyền dữ liệu một cách nhanh nhất thì bit/byte truyền đầu tiên sẽ được ghi vào RFBUF trước khi bộ điều chế hoạt động (RFMAIN.TX_PD = 0) Ngay sau đó tải bit/byte đầu tiên này vào thanh ghi dịch và một yêu cầu ngắt được tạo
ra cho quá trình truyền các bit/byte thứ hai
Việc tính toán lịch đệm tại điểm cuối của một quá trình truyền là rất quan trọng Khi byte cuối cùng của một khung hay gói được nạp vào thanh ghi dịch thì nó vẫn không được truyền đi Điều đó có nghĩa là, một yêu cầu ngắt được tạo ra đồng thời với việc dừng quá trình truyền tương tự/số Khi bit cuối vừa được dịch và truyền qua chuỗi truyền đến anten, quá trình truyền sẽ không kết thúc an toàn cho đến khi bắt đầu các chu kì bit thứ 9 kế đó (trong bytemode) và các chu kì bit thứ 2 kế đó (trong bitmode) Giải pháp đơn giản để giải quyết vấn đề này là luôn truyền thêm byte/bit cuối tại cuối nội dung dữ liệu thực
Trang 34b Quá trình nhận dữ liệu:
Khi nhận dữ liệu, lược đồ đệm hoạt động ngược lại với quá trình truyền Từng bit từ bộ giải điều chế được dịch vào thanh ghi dịch 8 bit (bit cao trước) Khi thanh ghi dịch đầy nó nạp vào RFBUF và một yêu cầu ngắt được sinh ra (EICON.RFIF) Byte
dữ liệu cần được đọc trong chu kỳ một byte Nếu không, nó sẽ bị ghi đè bởi byte nhận tiếp theo và dữ liệu sẽ bị mất
Trong chế độ bitmode, quá trình đệm cũng xảy ra tương tự, nhưng chỉ đệm một bit tại một thời điểm Tiếp đó, khi một bit mới đến từ bộ giải điều chế, thanh ghi dịch
sẽ lưu nó và bit cuối cùng vào RFBUF.0, yêu cầu ngắt RF được tạo ra để có thể đọc các bit mới Để có thể đọc bit tiếp theo từ RFBUF.0, trong chu kỳ một bit ở tốc độ cao nên sử dụng vòng quét nhanh thăm dò chặt chẽ thay vì dựa vào ngắt Không có sự cân nhắc đặc biệt nào đối với thời điểm bắt đầu hay kết thúc quá trình nhận
3.1.1.2 Đầu ra RSSI:
CC1010 có tích hợp sẵn RSSI cho tín hiệu ra tương tự tại chân AD2 RSSI được hiển thị khi cài đặt FREND.RSSI Dòng ra của chân này sau đó đảo ngược tương ứng với mức tín hiệu đầu vào Đầu ra được nối với một điện trở để chuyển dòng ra thành điện áp Một tụ được sử dụng để lọc thông thấp tín hiệu
Điện áp tại RSSI khoảng từ 0 – 1,2 V khi sử dụng điện trở 27k tương đương với 50dB/V Điện áp tại RSSI có thể được đo bởi bộ chuyển đồi A/D tích hợp sẵn trên chip sử dụng tín hiệu đầu vào AD2 Chú ý rằng, điện áp cao đồng nghĩa với tín hiệu đầu vào thấp RSSI đo công suất tương ứng với chân RF_IN Công suất vào có thể được tính toán bằng các công thức sau:
P = -48.8 VRSSI– 57.2 [dBm] ở tần số 433 MHz
P = -46.9 VRSSI– 53.9 [dBm] ở tần số 868 MHz
Hình 3.5: Mạch RSSI R281 = 27 kΩ, C281 = 1nF
Trang 353.1.1.3 Công suất phát khả trình:
Công suất phát RF là có thể lập trình đƣợc và điều khiển bởi thanh ghi
PA_POW Bảng sau sẽ chỉ cho chúng ta thấy rõ giá trị khả trình cho công suất ra từng
1dB Dòng tiêu thụ tiêu biểu đƣợc chỉ ra cho máy phát giao động tần số 14.7456 MHz
Dòng tiêu thụ là cho toàn bộ CC1010, với cả bộ thu nhận RF và kích hoạt MCU
Trong chế độ nghỉ PA_POW đƣợc thiết đặt là 0x00 cho dòng tiêu thụ ra là nhỏ nhất
Hình 3.6: Bảng thiết đặt công suất phát và dòng tiêu thụ tiêu biểu
3.1.2 Module CC1010EM (Evaluation Module):
Để dễ dàng và thuận tiện cho việc phát triển các ứng dụng sử dụng CC1010,
hãng Chipcon cung cấp module CC1010 EM (Evaluation module), trên đó có tích hợp
hầu hết các linh kiện cần cho việc xây dựng một nút mạng:
VĐK CC1010
Trang 37Hình 3.9: Nút cảm nhận
3.1.3 Cảm biến và phương pháp ghép nối cảm biến trên module CC1010EM:
Có hai loại cảm biến được sử dụng là cảm biến tương tự và cảm biến số Chúng
ta có thể ghép cả hai loại này trên cùng một nút Module CC1010EM được tích hợp sẵn cảm biến nhiệt độ LM61
Phương pháp ghép nối cảm biến:
Cảm biến là một thiết bị được thiết kế để thu thập thông tin về một đối tượng và chuyển đổi thông tin đó thành tín hiệu điện Một cảm biến thông thường có thể chia làm 4 phần:
Hình 3.10: Cảm biến tích hợp
Khối thành phần cảm nhận (điện trở, điện dung, bán dẫn, vật liệu
áp điện, photodiode, cầu điện trở…) Tín hiệu từ phần cảm nhận thường bị ảnh hưởng bởi nhiễu
Khối xử lý tín hiệu: cần có các kỹ thuật xử lý tín hiệu như khuếch đại, tuyến tính hoá, bù và lọc để giảm những tác động bởi nhiễu ở khối cảm nhận Nếu có nhiều thành phần cảm nhận được sử dụng trong cùng một chip, cần phải có bộ hợp kênh
Khối chuyển đổi A/D: thực hiện biến đổi tương tự-số
Trang 38 Khối bus giao tiếp cảm biến: điều khiển tất cả các dữ liệu truyền
và được nối với một giao tiếp phù hợp để cảm biến có thể gửi dữ liệu tới máy tính
3.1.4 Gỡ lỗi cho CC1010:
CC1010 có hỗ trợ gỡ lỗi và dạng gỡ lỗi là dạng ROM Monitor Bộ công cụ phát triển cho C1010 bao gồm phần cứng và phần mềm Phần cứng là module CC1010EB (Evaluation Board) vừa làm nhiệm vụ điều khiển nạp chương trình vào module CC1010EM, vừa làm nhiệm vụ hỗ trợ gỡ lỗi cho chương trình Phần mềm là bộ thư viện CC1010IDE, ngoài việc cung cấp các thư viện chương trình còn cung cấp thư viện gỡ lỗi Phần Monitor được nạp vào CC1010 phục vụ quá trình gỡ lỗi có tên là BootLoader có kích thước 2322 byte BootLoader phải được nạp vào CC1010 trước khi thực hiện việc gỡ lỗi
Hình 3.11: Module CC1010EB
3.2 Chương trình nhúng cho các nút mạng
- Phần mềm nhúng viết cho CC1010 được viết bằng ngôn ngữ C, sử dụng các thư viện cho CC1010 do hãng CHIPCON cung cấp, chương trình được biên dịch bởi KeilC Vision 2.0
- Phần mềm viết cho nút mạng WSN cần thực hiện những chức năng cơ bản sau:
o Cảm nhận
o Tính toán
o Truyền thông
Trang 39Một thách thức được đặt ra là phải tích hợp tất cả các chức năng trên vào một vi điều khiển bị ràng buộc về mặt tài nguyên Điều đó đòi hỏi chương trình viết phải càng ngắn và càng tiêu tốn ít bộ nhớ càng tốt, trong khi vẫn đảm bảo việc viết chương trình nhanh, bảo trì và nâng cấp dễ dàng
Các bước thuật toán cho phần mềm nhúng trên nút mạng
Bước 1: Khởi tạo các tham số
+ Khởi tạo RF, ADC, TIMER + Khởi tạo cảm biến
Bước 2: Đọc thông tin dữ liệu từ kênh gắn cảm biến (AD1) Bước 3: Truyền dữ liệu không dây
Bước 4: Nhận dữ liệu không dây Bước 5: Truyền thông tin về máy tính
Trang 40Sơ đồ giải thuật chung
Hình 3.12: Sơ đồ giải thuật đơn giản cho phần mềm nhúng trên CC1010
Trong phần thực nghiệm viết phần mềm nhúng cho nút mạng WSN, thực hiện giao thƣ́c lập lịch tập trung cho mạng Bao gồm 3 nút cơ sở và 1 nút chủ trực tiếp kết nối PC Sau đây ta sẽ xem xét giải thuật xây dựng cho 2 nút: nút chủ và nút cảm nhận
Đọc kênh ADC (AD1) gắn cảm
biến
Truyền dữ liệu không dây
Nhận dữ liệu không dây
Truyền dữ liệu về máy tính
Khởi tạo các tham số:
- Khởi tạo: RF, ADC, TIMER
- Khởi tạo cảm biến nhiệt