ĐẠI HỌC QUỐC GIA HÀ NỘI
Thiết kế, xây dựng thử nghiệm mạng cảm nhận không dây (WSN),
theo dõi và cảnh báo tự động theo thời gian thục, liên tục, dài ngày
mức nước, độ sâu và tốc độ dâng cao của mức nước.
(D esigning and manu/acturing a w ireỉess sensor neíMĩork fo r automaticaỉỉy,
continuouslv trackìng and alarming the water ’s Ievel, depth and rising speed
in real time.)
BÁO CÁO TỔNG HỢP ĐÈ TÀI NGHIÊN cứu KHOA HỌC ĐẶC BIỆT
CÁP ĐẠi HỌC QUỐC GIA HÀ NỘI
Mã số: QG.06.01
Chủ nhiệm đề tài: Vương Đạo Vy
ty Ạ I H u l QU o c o IA h a NO'
I TRUNG TẨM THÕNG TIN Ĩ HỈJ VIẺN !
ĩvr 1
HÀ NỘI - 2007
1
MỤC LỤC
Nội dung
Trang
Giải thích các chữ viết tắt
Danh sách những người tham gia thực hiện đề tài
3
Danh mục các hình vẽ
5
Tóm tắt những kết quả chính của đề tài NCKH
6
Proịect summary
7
I. Đặt vân đê
9
II. Tông quan những vân đê cân nghiên cứu
9
III. Địa điêm thời gian và phương pháp nghiên cứu
9
IV. NỘI dung và kêt quả nghiên cứu
9
IV.1 Mờ đâu 9
I
IV.2 Thiết kế, xây dựng thử nghiệm mạng cảm nhận không dây 10
IV.2.1 Chọn IC làm nút mạng WSN
10
IV.2.2 Chọn đâu đo, ghép nôi với nút mạng.
12
IV.2.3 Các nghiên cứu vê phân tuyên mạng WSN
17
IV.3 Theo dõi và cảnh báo theo thời gian thực, liên tục dài ngày
m ức nước, tốc độ dâng cao mức nước.
19
IV.3.1 Viết phần mềm nhúng cho nút mạng
19
- Phần mềm giao tiếp đầu đo và nút mạng
21
I
- Phần mềm xử lý và truyền thông
21
- Xử lý dữ liệu và cảnh báo sự cô
23
- Quảng bá trên Internet
25
IV.5 Kẻt luân
25
V. Thảo luận, kềt luân và kiến nghị
25
Tài liệu tham khảo
j 26
I Phụ lục
I
Ị
28
Phiếu đăng kỷ kết quả nghiên cứu KH-CN
DANH SÁCH NHỮNG NGƯỜI THAM GIA THỰC HIỆN ĐÈ TÀI
SÔ
TT
Họ và tên
Học hàm / Học vị
Cơ quan công tác
1
Vương Đạo Vy
PGS.TS.
Khoa Điện tử-Viẻn thông, Trường Đại học
Công nehê, ĐHQGHN
2
Chừ Văn An
ThS
Khoa Điện từ-Viền thông, Trường Đại học
Công nehệ, ĐHQGHN
3
Phạm Đình Tuân
Cừ nhân
Khoa Điện tử-Viễn thông, Trường Đại học
Côns nghệ, ĐHQGHN
A
Trân thanh Hài
Cử nhản Khoa Điện tử-Viễn thông, Trường Đại học
Cône nghệ, ĐHỌGHN
5
Nguyên Thê Sơn
Học viên Ỉ2T1
(Bảo vệ tháng
8/2006’ 9,5 điềm)
Khoa Cône nghệ thôns tin, Trường Đại học
Công nghệ, ĐH QGHN
(Thiêt kê, vặn hành và đo thừ nshiệm mạng
cảm nhận khônơ dây-W SN trên cơ sờ sừ dụng
chip vi điêu khiên có mật độ tích hợp cao làm
nút m ạng và xây dựng phản mêm nhúng nạp
trong các vi điêu khiên nàv)
6 Điêu Tiên Thọ Học viên 1 1Đ2
(Đã bào vệ, 9,4
điểm)
Khoa Điện tử-Viên thông, Trường Đại học
Công nghệ, Đ HQ GH N
(Tiết kiệm năng lưọng cho m ạng cảm nhận
khống dây dùng vi điều khiển CC1010)
7
N suyễn Quốc Đạl
Sinh viên K48Đ
(Đã bao vệ)
Khoa Điện tử-Viên thông, Trườns Đại học
Công nghệ, Đ HQGHN
(T Ổ NG Q UẦ N M ẠN G CẢ M N HA N KH ỔN G DÂY VÀ
TH U ẠT T O ÁN Đ IN H TUYẺN C H U Y Ê N TIẺP G IA TÒ I
THIÊU MCFA)
8
Trịnh Minh Thành
Sinh viên K48Đ
(Đà bào vệ)
Khoa Điện tử-Viên thông. Trường Đại học
Công nơhệ, ĐHQGHN
(P H Ả N M É M N H Ú N G C H O N Ứ T M A N G C À M N H Ậ N
iC HÒ N G D Á Y Đ Ẻ G IA M S Á T V A C À N H B Ả O s ự C Ố
T R Ê N C ơ SỜ L A M V IỆ C V Ớ I M A N G C À M N H Ậ N
K-HÒNG DÀY)
9
Nsuyẽn Hài Nam
Sinh viên K48Đ
(Đã bào vệ)
N GH IE N C Ử U GH EP N ÔI CA M BIÊN c o TIN HIỆU
RA D AN G SÔ CH O N ÚT M ANG C ẢM N HẢ N KH Ô NG
DÂ Y
10
Phạm Thị Duyên
Sinh viên K49Đ
(đà bảo vệ)
Ghép nối đâu đo áp suất cho nút mạng cảm nhận
không dây với phần m èm nhúng
11
Trân Mạnh Linh
Sinh viên K49Đ
(đã bảo vệ)
Design a high resolution te mp eratu re m esuarement
system
12
Hoàns Quang Hun2
Sinh viên K49Đ
ị (đã bao vệ)
Mạng cảm nhận không dây (W S N), đác đièm cáu hình
và thủ tuc điêu khiẻn thâm nhập mói trường (M AC )
DANH MỤC CÁC HÌNH VẼ
Hình vẽ
Tên gọi
Trang
1
Các thành phần của nút mạng WSN
10
2
Module CC1010EM
11
->
3
Các loại cảm biến áp suất kiểu m àns
12
4
Cảm biên áp trỏ'
12
5
Sơ đô đâu đo áp suât
13
6
Đâu đo trước khi lăp ráp
13
7
Module sensor áp suất loại XFPM -200KPG
14
8
Sơ đô câu trúc của đâu đo
14
1
9
Sơ đô chân của XFPM và hình dáng bên neoài của đâu đo
15
10
Đô thị điện thê ra cùa đâu đo theo độ sâu mức nước
16
1 1
1
Độ tuyên tính mức nước thực và kêt quả đo
16
12
Đô lêch khoi đườnơ thăns các điểm đo
17
13
Phân loại các phương thức phân tuyên cho mạng W SN
18
14
Sơ đò tông quát của mạnơ có 2 nút mạng
16
15
Sơ đô Rhép nôi eiữa VĐK và đâu đo
16
16
Sơ đô shép nôi đâu đo với nút m ạns
19
17
Đàu đo và các nút mạng cảm nhận
20
18
Giai thuật phân mêm nhúna trong CC1010 của nút Master
20
19
Giao diện cài đặt báo động vượt ngưỡng
21
Các bảng, biêu
1
Điện thẻ lối ra khi hạ dân mức nước
15
9
Mô hình một phản mèm nhúng
20
4
TÓM TẮT NHỮNG KẾT QUẢ CHÍNH CỦA ĐÊ TÀI NCK.H
1. Tên đề tài:
Tiêng Việt:
i;Thiêt kẽ, xây dựng thử nghiệm mạng cảm nhận không dây, theo dõi và cành báo tự
động theo thời gian thực, liên tục, dài ngày mức nước, độ sâu và tốc độ dâng cao của
mức nước”
Tiêng Anh:
"Designing and manufacturing a vvireless sensor netvvork for automatically,
continuously tracking and alarming the water’s level, depth and rising speed in real
time.”
Mã số: QG-01-06
2. Chủ trì đề tài: Vương Đạo Vy
3. Những kết quả chính:
a. Kết quá về khoa học:
• 01 báo cáo tại Hội nghị toàn quốc lần thứ 03 về Cơ điện tử (VCM 2006) tại Hà Nội
tháng 10/2006
• 01 báo cáo tại Hội nehị Vô tuyến Điện tử toàn quốc lần thứ 10 (REV) tại Hà Nội
tháng 1 1/2006.
• 0 1 báo cáo tại HOI THÀO KHOA HOC QUỒC GIA LÀN THỬ III NGHIÊN cửu c ơ BÀN VÀ ỨNG
DUNG CỔNG NGHÊ THÒNG TIN ờ Nha Trang 09-10/ 8/2007.
• 01 báo cáo tại HỘI THAO Ql'òc GIA LÀN THŨ X M< )T sỏ YA\' bÊ ĩ HON [ < M. (.1 \ ( I »\1,
[ MỘNG riNVÀllUYÉN 1 HỎNG- Đụi Lai. ỉĩnlì Phúc, 14-15 Oũ 200'
• D ãn 02 bài:
- 01 bài báo KH đăng trong tuyển tập Hội nghị toàn quốc lần thứ 3 về cơ điện từ -
VCM2006.
-01 bài báo KH đăng trong tuyền tập Hội nghị Vô tuyến Điện tử toàn quốc lần thứ
lO-REV-06
-03 bài tron*z tạp chi *Tự động hóa ngày nav”( Automation Todav ISSN I S5^-(»55 ỉ )
các số 76 ( 12'2006). sỏ 87 (j 1/2007)^0 91 (3/2008)
b. Kết quả phuc vụ thực tê: c ỏ triẻn vọns phục vụ thực tè
c. Kết quả đào tạo:
•Hướng dẫn 02 học viên làm luận văn Thạc sĩ khỏa 2006-2007
•Hướng dẫn 03 sinh viên làm khóa luận TN khóa 2006-2007 theo hướng đê tài và
•Hướng dẫn 03 sinh viẻn làm khóa luận tốt nghiệp khóa 2007-2008 theo hướng đẻ tài.
d. Kết quả nâng cao tiềm lực khoa học:
•Nàiiii cao trinh dộ K thu\êt. thực hanh \a k\ nâng cho can hộ. họu \ lòn \ .; \ '
iham eia nehièn CƯU đè tài. San phàm cua dè tai là 03 niu mạng cam nhận k!ion«j Jõ;.
IA c 1011)). dầu do ap SLiằt \à phàn mèm nhúni! uroiiLi ứne. Các sàn phâm này thuộc
bô môn Điện tử-Kỹ thuật máy tính, cũns là sản phâm dùng chung cho các nghiên cứu
về WSN trons toàn khoa Điện tứ-Viẻn thông
e. Tình hình sử dụng kinh phí: Kinh phí sử dụng dứns danh mục. mục dích va tiên
ciộ. Được càp ốO.OOO.OOOd (sáu mươi triệu dồim). Đằ chi ỎO.OOO.OOOd (sau mươi triệu
dỏn<a)
CHỦ NHIỆM ĐỀ T
Vưong Đạo Vy
XÁC NHẬN CỦA KHOA ĐT- VT
XÁC NHẬN CỬA TRƯỜNG ĐHCN
6
PROJECT SUMMARY
1. Project title: Designing and manufacturing a wireless sensor netvvork for
automatically, continuously tracking and alarming the water’s level, depth and rising
speed in real time.
Code: QG-01-06
2. Principal investigator: Vuong Dao Vy
3. Primary results:
a. Scientiíic outcome:
• 01 report in the 3rd Vietnam conference on Mechatronics - VCiVl 2006
• 01 report in the lOth Biennial Vietnam Conference on Radio and Electronics
(REV’06).
• 01 report in the 3rd National Science workshops on IT research and applications,
August, 9-10, 2007, Nha Trang.
• 01 report in the 10' National vvorkshops on the some selected proplems in
Information technoloơy and Communications, September, 14-15/2007, DaiLai.
• Some scientific \vorks are advinised:
- 01 advertise in a paper on VCM 2006.
- 01 advertise in a paper on REV-06.
- Some other adveriise in a paper 011 the ioiimal Automation Todav (ISSN I 850-
0551 ) numbers 76 -12 2006. 87-11/2007 and 91 -3/2008
b. Application-oriented results: Technical solulion ha\e been trblablibhed. includiriLỉ
protoivpe (01 pre^ure sensor. ọ? nodes oí WSN on CCỈMO)
cinbedcrd software, for the implementation the vvireless sensor netvvork for data
acquisition, dislaving and vvarning írequently.
c. Training:
• 02 graduate students and 06 underơraduate students paticipated in the project and
accomplished their thesis on the 2006-2007 and 2007-2008 courses respect.
d. Resource development: Members of the project include lectures. researchers and
some graduate and undergraduate students of the Electronics and Computer
ensineerinơ, Micro-electronic and Micro-Mechanical Systems department of the
Faculty of Electronics and Telecommunications. Collese of Technologv. By
participatins in the project, thev vvere given an opportunity to equip themselves vvith
knowledge in the domain of vvireless sensor netvvorks. The project have also the
hardvvare and software parts, vvhich currently assigned to the Electronics and
Computer Eơineerins department. could be also used for other research project in
other department of the Faculty of Electronics and Telecommunications
d. Budget:
Allocated: 60 millionsVND
7
Spend: 60 millions VND
I. Đặt vấn đề:
Đo thông sô môi trường thường xuyên, liên tục và trẽn diện rộng được tiến hành một
cách tự động có ý nghĩa thực tiên lớn, người ta muốn thực hiện từ lâu nhưng nay mới trờ
thành hiện thực nhờ sự tiên bộ của các công nghệ vi điện tử, công nghệ phần mềm và
công nghệ chẽ tạo đâu đo- còn gọi là công nghệ vi cơ điện tử (MEM). Cụ thể hơn, một hệ
tự động đo thông sô môi trường như trẽn ngày nay thực hiện được nhờ cái gọi là mạng
cảm nhận không dây — Wireless Sensore Netvvork (WSN). Mạng này mỗi nút mạng là
một vi mạch có độ tích họp cao, kẽt nôi với đầu đo dạng M EM và phần mềm nhúng trong
nút mạng. Các nút mạng trao đôi dữ liệu dưới dạng truyền sóng vô tuyến, nghĩa là kết nối
không dây (vvireless) giữa chúng. Mạng không dâv như vậy không cần đến cơ sờ hạ tầng
(inữastructure) và được gọi mạng là ad-hoc.
Tại sao đo thông số môi trưòng cần mạng WSN với các nút mạng là vi mạch tích hợp
cao. đâu đo dạng M EM và truyên dữ liệu không dây? Vì các ứng dụng đòi hỏi triển khai
các nút mạng khắp noi, trong mọi địa hình, và khônơ cần quan tâm đến vấn đề cung cấp
điện cho các nút mạng đỏ trong một thòi gian dài. Chi có các nút mạng WSN là thỏa mãn
được các yêu cầu này một cách lý tường.
Có nhiều thông số môi trường rất đánơ quan tâm, trons số đó có thông số về mức
nước ao, hô, sông suôi. Nêu đo được chính xác, thường xuyên, liên tục và tự độns thì
thônơ tin về độ sâu mức nước có ý nshĩa lớn. Thí dụ từ nhữns thông tin này suy ra được
lượng mưa, biết được tốc độ dâng cao mức sông ngòi, từ đó có thê đi đên nhữnơ kết luận
có ích như cành báo sạt lờ ven bờ sông suối, các hiện tượng xói mòn đất đá, lũ quét v.v.
vì thế có thể hạn chế thiệt hại về tài sàn, tính mạng con người.
Đe tài “Thiết kế, xây dựng thử nghiệm mạng càm nhận không dây. theo dõi và
cành báo tự động theo thời gian thực, liên tục. dài ngày mức nước, độ sâu và tốc
độ dâng cao của mức nước'* tập trung nghiên cứu 3 vân đẻ chính: Thiêt kê, xây
dựng thử nghiệm m ạns khônơ dây (gồm một sô nút mạng cảm nhận và một nút
cơ sờ); Thử nghiệm đầu đo mức nước với độ chính xác cờ ± cm nước và ghép nôi
với nút mạng không dây; Thư nghiệm và đánh giá kêt qua.
II. Tổng quan nhũng vấn đề cần nghiên cứu
Tồns quan về mạnơ cảm nhận không dày; NC lý thuyêt định tuyên cho mạng,
trong đó có mạnơ Ad hoc dạng WSN; Viết phân mẻm và thừ nghiệm thù tục định
tuyến theo giá tối thiều cho mạnơ WSN; Thừ nghiệm ghép nôi đâu đo áp suât với
nút mạng và viết phần mềm cho nút mạng để đo và truyên thông tin về nút mạng
cơ sờ; Viết phần mềm cho nút cơ sờ đê thực hiện việc cảnh báo khi vượt ngường
và phần mềm tính độ sâu và tốc độ dâng cao mức nước, quảng bá kêt quả đo trên
mạng. Mỏ hình thực nshiệm và kết quả thu được: Bình luận vấn đê
III. Địa điểm thời gian và phương pháp nghiên cứu
8
Các nghiên cứu được tiến hành tại phòng thí nghiệm bộ môn Điện tử- Kỹ thuật máv
tính, khoa Điện tử-Viễn thông, trường ĐHCN-ĐHQG HN
IV. NỘI dung và kết quả nghiên cứu
IV.1 Mở đầu
Khái niệm vê mạng được hiẽu là tập họp các máy tính (gọi là nút mạng - node)
được nôi với nhau băng đường truyền vật lý (gọi là các liên kết - links) theo một kiến trúc
nào đó (gọi là câu hình - topology) và làm việc theo nhừng quy tắc quy ước nhất định
(gọi là thủ tục - protocol). Mạng cảm nhận không dây (Wireless sensor netvvork, viết tắt
la WSN) có những điêm giông và khác định nghĩa trẽn. Nó cũng có các nút mạnơ -
nodes, nhưng không phải là máy tính mà là một mạch tích hợp (IC), thường gọi là vi điều
khiên (mỉcroctronler). Nó cũng được kết nối với nhau bằng các liên kết nhưng không
phải băng sợi cáp hữu tuyến mà bằng vô tuyến (vvireless), sóng radio. Nó có kiểu kiến
trúc bât định, ad-hoc, khi trao đôi dữ liệu có thể xem là dạng lưới (mesh), chì khác dạng
lưới có dây ờ chỗ, nhũng kết nối này không thường xuyên bền vững. Có một điềm khác
vẽ CO' bàn cùa WSN với mạng máy tính thông thường là mỗi nút mạng ờ đây có găn một
đâu đo (sensor) đẻ đo thông số môi trường tại nơi đó. Dữ liệu truyền trên mạng là nhừng
thông tin mà nút mạng thu nhận được tại nơi đặt nó gửi về nút cơ sờ (base node). Sự
phong phú của dữ liệu tùy thuộc số lượng các đau đo gắn vào nút mạng (áp suất, nhiệt độ,
độ âm, độ rung động, độ ồn, nồng độ pH, độ bụi, độ mặn, ). Thông tin có thề truyền
định kỳ, thường xuyên, theo thời gian thực về nút cơ sờ, tùy thuộc vào chương trình
nhúng trong nút mạng. Chương trình nhúng trong nút mạng quy định cách thức làm việc
của mạng, khái quát hon đó là thủ tục mạng. Thiêt kê xây dựng thử nghiệm mạng cảm
nhận không dâv bao gôm việc: - chọn IC làm nút mạng cảm nhận, chọn đâu đo
gắn vào nút mạng nàv, viết phần mềm nhúng cho nút mạng (bao gôm chương trình
- với các nội dung thu nhận dữ liệu đầu đo, thâm nhập môi trường, định tuyến), cài
đặt môi trường soạn thảogờ rối, dịch, cài đặt chương trình và công cụ đê nhúng
phần mềm soạn thảo vào IC; Theo dõi và cảnh báo theo thời eian thực, liên tục
dài ngày mức nước, tốc độ dâng cao mức nước bao gôm các việc: - Chọn nút
mạng làm nút cơ sờ, đấu nối nút cơ sờ với PC, viêt phân mêm trên PC đê thu nhận,
xử lv dừ liệu (tính mức nước và tốc độ dâng cao mức nước) và phân mềm cảnh
báo trong trường hợp vượt ngưỡng.
IV.2 Thiết kế, xây dựng thử nghiệm mạng cảm nhận không dây (WSN).
IV.2.1 Chọn IC làm nút mạng cảm nhận:
Một nút m ạns cảm nhận tiêu biêu phải chứa CPU mục đích chunơ, bộ nhớ
làm việc (RAM), bộ nhớ không đồi íìash và các chức năng vào/ra hỗ trợ các đầu
đo.
9
Hinh 1: các thành phần của nút mạna WSN
Các nút mạng cảm nhận loại nhò gồm có vi xử lý 8 bít, 10 đến 100KB bộ nhớ
RAM, 100 đên 1000KB bộ nhớ ílash; loại lớn gồm CPUs 32-bit, nhiều megabytes
bộ nhớ RAM và nhớ Flash. Các nút mạng hạt bụi -M otes, đại diện cho loại thiết bị
nhò. Thí dụ nút mạng Mica-2 motes dùng bộ xừ lý nhúng Atmegal28, làm việc ờ
nhịp clock khoáng 4MHz, bộ nhớ Flash 128KB lưu mã chương trình, RAM 4KB,
8-kênh biên đôi tương tự-số, 48 đườno vào /ra số, một UART và một giao diện nối
tiêp SPI. Lựa chọn VĐK làm nút mạng là quan trọng. Chọn VĐK hợp lý làm cho
xây dựna hệ thốns được rút ngắn, hoạt độnơ ồn định, tin cậy. Các tiêu chí chọn
VĐK như sau: Tiêu thụ nănơ lượng thấp; Tích hợp ADC đê có thề 2 hép nối với
cám biến tươna tự; Bộ nhớ chương trình cũna như bộ nhớ dữ liệu có kích thước
hợp lý; Kích thước vật lý nhò; Có công cụ phát triển siúp naười phát triển xây
dựng hệ thống dễ dàng và thuận tiện như: sử dụng nsôn ngữ cấp cao, có các thư
viện hỗ trợ cho việc cám nhận cũng như truyền nhận khôns dâv, hỗ trợ sỡ lỗi ;
Giá thành rẻ.
Có một số họ VĐK phồ biến trên thị trườna thoả mãn các tiêu chí trên, như
họ VĐK MSP430 của Texas; họ VĐK ATM EGA của Ạtmel và VĐK CC1010 cùa
hãng Chipcon. Hai họ VĐK đầu khôna tích hợp truyền nhặn không dây, nếu sừ
dụng chúns sẽ phải thêm mạch truyên nhận không dây bèn ngoài, xây dựng hệ
thống sẽ phức tạp. VĐK CC1010 được chọn vi nó có tích hợp truyền nhận không
dâv bên trona, trong côns trình này đã chọn CC1010.
Các đặc điểm chính của CC1010: Thu phát không dây 300-1000 MHz. lập
trình được: Dòn2 tiêu thụ rất thấp (9.1 mA trong chẻ độ nhận); Độ nhạy cao (-107
dBm); Có thè lập trinh cho côna suất đầu ra tới +10 dBm; Tốc độ truyền RF có thê
đạt 76.8 kbit/s; c ầ n rất ít thành phần ngoài; Đo được cường độ RF (RSSI); Tươns
thích họ VĐK 8051; 32 kB Flash. 2048 + 128 Byte SRAM; 3 kênh ADC 10 bit. 4
timers / 2PWMs, 2 UARTs. RTC. Watchd0 2 , SPI. mã hoá DES. 26 cổna 1 0 ; Có
khả năns 2Ỡ lỗi bàna cách sử dụnơ chương trinh dịch Keil ỊiVisiorứ IDE qua
10
cổng nối tiếp; Điện áp 2.7 - 3.6 V; 64-lead TQFP (Thin Quad Flat Pack). Kỹ thuật
khai thac cụ thê các đặc điêm CC1010 chi ra trona phụ lục B:
M odule CC1010EM : Đẻ dễ dàng và thuận tiện cho việc phát triển các ứng
dụng sử dụng CCIOIO, hãng Chipcọn cũng cung cấp module CC1010 EM
(E\aluation module), trên đó tích hợp hầu hết các linh kiện cần cho việc xây dựng
Hình 2: Module c c 101 OEM
một nút mạng như: VĐK CC1010; Dao động thạch anh; Antena; Một cảm biến
nhiệt độ đưa vào chân AD1; Các chân cồng. Trons đề tài này đã dùnR module
CC1010EM đê xây dựng thừ nghiệm các nút mạnơ cảm nhận. Tuy nhiên, giá
thành module này còn đất (khoảns 150USD) trons khi giá thành VĐK CC1010 rất
rè (khoảng 10USD) nên vê lâu dài việc nghiên cứu chê tạo module này ờ Việt
Nam đẻ hạ giá thành là rất cần thiết. Việc thừ nơhiệm sau này đà cho thấy ràna
module này đã đáp ứne được các chức năng cơ bản nút mạns đó là chức năng
m ạng
và chức năns cảm nhận. Đê module c c 101 OEM trờ thành nút m ạns dùne
được trong thực tế, đề tài thực hiện việc chế tạo khôi mờ rộng đè eiao tiếp các đầu
đo, các cổns và nguồn nuôi được thuận lợi. Hô sơ kv thuật thiêt kê cụ thê phần mở
rộns này trình bày trong phụ lục E.
Tóm lại ciệc chọn loại VĐK làm nút mạns WSN cân các tiêu chí: năns lượns tiêu
thụ thấp, tính mềm dẻo. tính bào mật. khả năna truyền thôna. tính toán, kích thước
nhò. Từ các tiêu chí đó đề tài chọn vi điêu khiên CC1010 của hãns Chipcon
(Nauv) làm nút mạng. Vi điều khiển này tươna thích họ 8051 thông dụng, sử dụna
ngỏn ngữ lặp trình c và chươn.2 trình dịch Keil uVision2.0. Nó được Chipcon
cuns cấp các thư viện làm việc với CC1010 nên việc viêt chương trình là dê dàng
và thuận tiện.
IV.2.2 C họn đầu đo, ghép nối với nút mạng:
Có nhiều cách đo độ cao mức nước, trona đè tài này chọn cách đo áp suất
côt nước để suy ra độ cao. Sử dụnơ một cảm biến áp suất đè chuyển áp suất thành
tin hiệu chứa thỏns tin liên quan đến giá trị cua áp suất cần đo và sự thay đổi của
nó theo thời gian. Khi đo bàn2 cảm biên áp suất, tức là sử dụng phản từ đo lực có
một thỏna số. nó thay đổi dưới tác dụng của lực F = p.s. Phản tư đó là một manơ
mónơ (diaphrasm) bàns chất bán dẫn, bị biến dạng khi có áp suât đặt lên. Mức độ
11
cổng nối tiếp; Điện áp 2.7 - 3.6 V; 64-lead TQFP (Thin Quad Flat Pack). Kỳ thuật
khai thác cụ thê các đặc điêm cc 1010 chỉ ra tron2 phụ lục B :
M odule CCIOIOEM: Đe dễ dàng và thuận tiện cho việc phát triển các ứns
dụng sừ dụng CCIOIO, hãng Chipcọn cũng cung cấp module CC1010 EM
(Evaluation module), trên đó tích hợp hầu hết các linh kiện cần cho việc xây dựna
Hình 2: Module CC1010EM
một nút mạng như: VĐK CCIOIO; Dao động thạch anh; Antena; Một cảm biến
nhiệt độ đưa vào chân AD1; Các chân cổng. Trone đề tài này đã dùng module
CC1010EM đê xây dựng thừ nghiệm các nút mạng cảm nhận. Tuy nhiên, giá
thành module này còn đất (khoảna 150USD) trons khi giá thành VĐK CC1010 rất
rè (khoảng 10USD) nên về lâu dài việc nghiên cứu chế tạo module này ờ Việt
Nam đẻ hạ giá thành là rất cần thiết. Việc thừ nahiệm sau này đã cho thấy rànR
module nàv đã đáp ứne được các chức năno cơ bản nút mạn° đó là chức năn°
mạng
và chức năng cảm nhận. Đê module cc 101 OEM trờ thành nút mạng dùn2
được trong thực tế, đề tài thực hiện việc chế tạo khối mở rộng đê eiao tiếp các đầu
đo, các cổns và nguồn nuôi được thuận lợi. Hồ sơ kỹ thuật thiết kế cụ thê phan mờ
rộna này trình bày trons phụ lục E.
Tóm lại ciệc chọn loại VĐK làm nút m ạn2 W SN cần các tiêu chí: năns lượna tiêu
thụ thấp, tính mềm deo, tính bảo mật, khả năna truyền thông, tính toán, kích thước
nhò. Từ các tiêu chí đó đề tài chọn vi điều khiên CC1010 cùa hãng Chipcon
(Nauv) làm nút mạna. Vi điều khiển này tương thích họ 8051 thông dụng, sừ dụng
ngòn ngữ lập trình c và chương trình dịch Keil |iVision2.0. Nó được Chipcon
cuns cấp các thư viện làm việc với CC1010 nên việc viêt chươns trình là dê dàn2
và thuận tiện.
IV.2.2 Chọn đầu đo, ghép nối với nút mạng:
Có nhiều cách đo độ cao mức nước, trong đè tài này chọn cách đo áp suất
cột nước để suy ra độ cao. Sừ dụns một cảm biến áp suât đẻ chuyển áp suất thành
tín hiệu chứa thòna tin liên quan đến giá trị của áp suất cân đo và sự thay đổi cua
nó theo thời gian. Khi đo băns cảm biên áp suât. tức là sừ dụng phân từ đo lực có
một thòna số, nó thay đòi dưới tác dụng của lực F = p.s. Phân tử đó là một mang
mon° (diaphragm) bàng chất bán dẫn, bị biến dạng khi có áp suảt đặt lên. Mức độ
11
biên dạng của màng phụ thuộc vào độ lớn của áp suất tác dụng vào. Cảm biến áp
suất kiểu màng có các cấu trúc như hình 3.
P1
P2
M à n g
m ò n .2
Hình 3: Các loại cảm biến áp suất kiểu màng: a) Cảm biến áp suất tuyệt đối; b)
Cảm biên áp suất tươnơ đối; c) Cảm biến áp suất vi sai.
Trong cônơ nghệ MEMS hai kiểu cảm biến được sừ dụn° rộng rãi là cảm
biên kiêu tụ điện và cảm biên kiểu áp trở. Trong công trình này sử dụns đàu đo
loại vi cảm biên kiêu áp trở. Dạng vi cảm biên áp suât kiêu màng hiệu ứng áp trở
minh họa trên hình vẽ 4.
Hình 4: Cảm biến áp trờ
Dựa trên sự thay đổi của cấu trúc màng hay cấu trúc dàm (gọi chung là các
phần tư nhạy cơ) chuyển thành tín hiệu điện tương ứng nhờ các áp trơ được cấy
trên phần tử nhạy cơ. Khi phần từ nhạy cơ bị uốn cong thì các áp điện trơ cũng
thav đỏi giá trị. Độ nhạy cũns như vùng làm việc tuyến tính của vi cảm biên phụ
thuộc rất nhiều vào kích thước cấu trúc cơ, dạng và kích thước các áp điện trờ. vị
trí cùa các áp điện trờ trên phản từ nhạv cơ. Sơ đò đàu đo có dạng như hình 5.
Hình 5: Sơ đồ đầu đo áp suất.
Đo độ sâu mức nưó’c: Đe đo độ sâu mức nước có nhiều cách khác nhau,
công trình này sử dụng đầu đo áp suất, là loại thườ n s dùng nhất trong công
nghiệp. Ư u điêm lớn nhât của đâu đo áp suât dạng vi cơ điện tử (M E M ) là
độ nhạy cao và kích thước bé. Cụ thể độ nhạy thay đổi trong khoảng từ 0.1
đên 3m V /m bar (hay 10 đến 300 m V /Pa) phụ thuộc hình dạnơ m àng và
cường độ dòng điện; tro n s dải áp suất từ vài trăm m bar đến hàng trăm bar,
độ nhạy thay đổi từ 0.3 đến 12.5m V/bar.
Tín hiệu ra của cảm biến rất nhỏ nên được khuêch đại ngay khi ra khỏi càrn
biến. Cảm biến và mạch khuếch đại được bố trí bên trong một buồng kín băng
thép không gi, mặt tiếp xúc với nước được cách ly bằng một lớp lưới thép đẻ tránh
va chạm vào bề mặt cảm biến đồng thời triệt tiêu các ảnh hường cùa tạp nhiễu lên
tín hiệu. Đầu đo loại này thường có dạn? như hình 6.
Hình 6: Đầu đo trước khi lắp ráp.
Như vậy bèn trong đầu đo vừa chứa áp trở. vừa chứa mạch khuếch đại, tín
hiệu trước khi ra ngoài đầu đo đã được xử lý sơ bộ. Loại cảm biến đo sâu dùng
siêu âm tuy độ tin cậy cao hơn, khôno nhúng nước nên bên hơn, nhưng nó dùng
chùm tia với góc mở khoảns 8 độ nên dải đo càng lớn thì không gian nơi cản đo
phải càng rộns để chùm tia siêu âm không chạm vào vật cản. Đâu đo áp suât độ tin
càv khôn2 cao bàns nhirna nhỏ 2 pn. dễ dàng đo độ sâu mức nước tại những nơi
có không gian hẹp.
Module sensor áp suất được chọn ờ đây là Modul XFPM -200KPG của hãng
Fujiura - Nhật Ban có các đặc tính sau: Điện áp nguồn làm việc: —5V: Dòng tiêu
đo được từ 0 đên 200kP; Điện thê ra trong dải 0.5V —> 4.5V; Sensor có thể kết nối
trực tiêp với bộ chuyên đôi A/D hoặc có thể kết nối trực tiếp với bộ xử lý tín hiệu
số.
1 2 3
Pressure
Hình 7: Module sensor áp suất loại XFPM -200KPG, chân 1 là GND. chân 2
là Vout, chân 3 là Vcc.
Sơ đô câu trúc bên trong cùa đâu đo như hình 8.
Hình 8: Sơ đồ cấu trúc bên trong của đâu đo.
XFHM
XFPM.XFHM f
7
14
Hình 9: Sơ đồ chân cùa XFPM và hình dáng bên ngoài của đầu đo
Từ thế lối ra của XFPM, mối liên hệ với áp suất được tính như sau:
Vout = Vs X (P X a + P) ± (sai số áp suất* sai số theo nhiệt độ X a XV S) (1)
Trong đó: V s = 5.0V; p là áp suất lối vào (kPa); các hằng số: a = 0.0045; p =
0.04; (Sai số áp suất = 5.0 (kPa) với loại XFPM -200KPG)
Từ (1) suy ra:
Vout = 5.0 X (P X 0.0045 + 0.04) ± (5.0 X sai số theo nhiệt độ X 0.0045 X 5.0)
Thí dụ ở nhiệt độ 25°c ta có:
Vout - 5 X (P X 0.0045 + 0.04) ± (5 X 1 X 0.0045 X 5) = 5 X (P X 0.0045 +
0.04) ±0.1125
Nguyên lý đo áp suất của nước tại một điểm cố định, quan hệ giữa áp suất
và độ sâu của nước tại điêm đo là tuyến tính và phụ thuộc vào khối lượng riêng
của nước. Độ sâu thực tế của nước được tính theo công thức:
ĩ? — ĨJ.
Trong đó: h là độ sâu thực tế của nước; h0: độ sâu tham chiếu ban đầu; p: áp suất
của nước tương ứne độ cao h; p0: áp suất tham chiếu tương ứne với độ cao tham
chiêu h0; p: khôi lượng riêng của nước; g: aia tốc trọng trường. Như vậy, khi đo
điện thê lôi ra có thể tính được được độ sâu của nước tại thời điểm đo. Sau đây
trình bày một số thử nshiệm khảo sát đặc trưna độ nhạy và độ tuyến tính của đầu
đo. Thí nơhiệm bao gồm: M odule sensor áp suất như đã giới thiệu ở trên; ó n s
nhựa chứa nước hình trụ: đường kính lOcm, cao 150cm, một đầu bịt kín, một đầu
đê hờ, thành ông có gan thans chia độ để dễ theo dõi mực nước; Nguồn nuôi 3.5V;
Đông hô đo điện thế một chiều. Thoạt đầu đô đầy nước vào ốne hình trụ, thả đầu
đo vừa chạm đáy ống và cố định đầu đo ở vị trí đó. M ở van xả nước ở đáy ốns để
aiảm từng cm mỗi làn và đo thế trên lối ra đầu đo, kết quà chỉ ra trong banơ 1 và
đô thị tương ứng chi ra trên hình 10 .
Mức nước (cm)
0 20 40
60
80 100
120 140 150
Điện thế ra (mV) 141
175 215 257 298 340 382
425
448
Bảng 1: Điện thế lối ra
chi hạ dàn mức nước.
Từ đô thị cho thấy điện thê ra của đâu đo ti lệ tuvến tính với sự thay đòi độ
cao cột nước. Độ nhạy 8 của đầu đo suy được từ hệ sô eóc cua đồ thị như sau:
£ =
K - K
K - h,
15
Trong đó v 2 là điện thế ra tương ứng với mức nước là h2; Vị là điện thế ra tương
ứng với mức nước là h t. Từ thực nghiệm trên tính được độ nhạy của đầu đo là: 8
= 2.074 ± 0.314 (mV/cm)
Như vậy, độ nhạy của đầu đo cỡ 2mV/cm. Độ phân giải cùa ADC được tính
băng:
V - V
in inax //nmn
10
Với Vin max, v in min là các điện thế lối vào cực đại, cực tiều trên lối vào ADC
10 bậc lượng tử. Nếu lối vào A D C là o v đến 1.25V thì độ phân giải là:
1250-0 1 00 í XA
- ^ — «1.22 (mV)
Nghĩa là đủ khả năne đê phát hiện sự thay đổi cỡ 1,0 cm nước
sao
ũ
,
0 23 i ũ 6 0 3 0 1CD 1 3 ] 1 1 0 16 0
Mức nước (cm)
Hình 10: Đồ thị điện thế ra của đầu đo theo độ sâu mức nước.
Gia In thưc (cm)
Gia in đo đưac (cm)
Đó lẽcn ca giá tri đo so VOI gia tri thưc
Hình 1 1: Độ tuvến tính siá trị giá trị mức nước thực và kêt quà đo.
16
Quan sát trên đồ thị thấy độ lệch kết quả đo khỏi đường thẳng nhiềư nhất ờ các điểm I, II,
III, IV. Mở rộng hình ảnh các điểm lệch này (Hình 12) cho thấy các điểm đo đều có 1
phần dính lên đường thẳng, mỗi điểm đo có kích thước (2x2) cm. Xem đường thẳng là
giá trị trung binh của n điểm đo (ở đây n = 45), ta có thể tính được độ lệch chuẩn ơ = sqrt
[ I (X . - X ) ] / [n - 1 ], [trong đó Xi là độ lệch quan sát được, Xm là trung bình cùa tất
cà các điềm đo (đường thẳng), n là số các lần đo (45)] hoặc độ lệch cực đại tại những
điểm đánh dấu. Tính toán cho thấy độ lệch cực đại nhò thua 1 cm.
b/
Hình 12: Độ lệch khòi đường thẳng các điểm đo
IV.2.3 Các nc về phân tuyến mạng WSN.
Sau khi xây dựng xong nut mạng, ghép nối đầu đo, cần phải nhung phần mềm
để nút mạng thực hiện đồng thời hai chức năng: thu thập dữ liệu và chức năng
mạng. Để thực hiện chức năng mạng cần một tập hợp tôi thiêu các nút mạng
(chúng tôi sử dụng 5 nút mạng) trên cơ sở đó xem xét khả năng thâm nhâp môi
17
ĐAI H Ọ C Q U Ố C G IA HA NÓI
TRUNG TẨM THÔ N G TIN THI ỉ VIÊN
2 x ỉ ° Ỉ 4 V
trường chung, khả năng tự cấu hình mạng, khả năng định tuyến, tránh tắc
nghẽn,
Công trình này bước đầu nghiên cứu chức năng định tuyến của mạng
WSN. Kết quả các nghiên cứu này được báo cáo ờ Hội thảo KH toàn quốc và
đăng trong 2 kỷ yếu của Hội thảo đó [6,7]
Phân tuyến theo giá tối thiểu - MCFA [phụ lục A], được nghiên cứu đê
truyền dừ liệu qua nhiều nút mạng về nút cơ sở. Việc phân tuyến cho mạng W SN
được phân loại như trên hình 17.
Thủ tục phân tuyển trong W SN
Cầu trúc mạng
Thao tác thù tục
1
___
______1
___
____
I
____
r 2
___
____
J
___
r 1
Hiercỉchicaì loccrion
ỉ*eri ĩ ?ỉ&tweỉks
Rcữtug no*Jtno
Roưinq
Hình 13: Phân loại các phương thức phân tuyên cho mạng WSN
Hầu hết việc phân tuyến đều theo hoặc cấu trúc phane;, hoặc thứ bậc hoặc vị trí.
Trong mạng phẳne các nút mạng đóng vai trò như nhau, trong khi các thủ tục thứ
bậc có các nút cluster thực hiện một số thỏa thuận và kết hợp dữ liệu đê tiết kiệm
năna lượna. Thủ tục trên cơ sở vị trí cung cấp thông tin vị trí để luân chuyển dữ
liệu đến vùng dự tính chứ khônơ phải cho toàn mạng. Loại phân tuyên cuôi cùns
dựa trên thao tác thủ tục và khác nhau theo phương pháp được dùng trong thủ tục.
Sau đây là một số kỹ thuật phân tuyến được phát triển gần đây nhằm cung cấp
hiểu biết về các thủ tục phân tuyến hiện nay trong WSN.
Giải thuật chuyển tiếp giá tối thiểu MCFA (Minimum Cost Forwardine
Algorithm) cho ràng hướng phân tuyến đã biết, là hướng đến trạm cơ sở cố định
bên ngoài . Nút mạng không cân có ID, không cân bảng phân tuyên. Thay vào đó
là một giá trị giá tối thiểu từ nó đến trạm cơ sờ. Môi thông báo được nút mạng
quảne bá cho các láng giêng của nó. Khi một nút nhận thông báo , nó phải kiêm
tra xem có còn ở trên đường giá tôi thiêu giữa nút nguôn và trạm cơ sờ hay không.
Nêu còn nó sẽ quảng bá lại thône báo cho láng giêng. Quá trình đó sẽ lặp lại cho
đến khi đạt đến trạm cơ sở. N hư vậy với M CFA mỗi nút mạng đều biết cách tự
đánh aiá đường siá tối thiểu đến trạm cơ sở. Quá trinh này thực hiện như sau: trạm
cơ sơ quảng bá một thông báo với giá bằne zero, trong khi các nút mạng thoạt đâu
nhận giá tối thiểu đến nút cơ sở là vô cùng (co). Môi nút căn cư vào thông báo
quảns bá gốc nhận được để kiểm tra xem giá trong thông báo cộng với liên kêt mà
theo đó nó nhận được ít hon giá hiện thời hay không. Nêu ít hơn giá hiện thời thi
đánh giá hiện thời và đánh giá trone thông báo quảng bá được cập nhật. Nêu thông
báo quảng bá được cập nhật thì sau đó nó được gửi tiếp, nếu Ivhông nó sẽ bị loại
bò. Tuv nhiên, thủ tục này có thể làm cho một số nút mạng phải cập nhật nhiêu lân
18
và nút ờ xa trạm cơ sở cập nhật nhiều lần hơn nút ở gần. Để tránh điều đó, MCFA
đã được sửa đổi để chạy thuật giải phản hồi ở giai đoạn cài đặt. Thuật giải phản
hồi cho rằng nút m ạng sẽ không gửi thông báo cập nhật chừng nào chưa hết
khoảng thời gian a X lc kể từ lúc thông báo được cập nhật, trong đó a là hàng số
còn lc là giá của lên kết nhận thông báo. Chi tiết hơn về giải thuật này xem ở phụ
lục A hoặc [9].
IV.3 Theo dõi và cảnh báo theo thời gian thực, liên tục dài ngày mức nưóc,
tốc độ dâng cao mức nước.
Sơ đồ ghép nối, truyền và nhận dữ liệu như hình 11.
Hình 14: Sơ đồ tổng quát của mạng có 2 nút mạng
Sơ đồ ehép đầu đo với CC1010 cho trên hình 12.
____________VDD VDD
■
Đầu đo áp
ADCi
CC1010
suât - mức
nước
GN D GND
Hình 15: Sơ đồ ghép nối giữa VĐK và đầu đo.
IV.3.1 Viết phần mềm nhúng cho nút mạng.
Phần mềm nhúna được phát triển theo cách: Liên kêt từ dưới lên trên, từ
các lớp trừu tượng đến các chức năns hệ thống; Liên kết phần mềm nhúng với các
nền lập trình được - các nền hỗ trợ việc đánh giá những ràng buộc đưa ra có thoả
mãn hay khôns. Do phải thoã mãn nhiều yếu tô: phản cứng, môi trường, giá thành,
hiệu năng nên tồn tại nhiều thách thức trong việc phát triển phần mềm nhúng như:
Tăng cuờns việc tái sử dụng; Đông thiết kê phân cứng, phân mèm; Xây dựng mô
hình các thuộc tính phi chức năng; Chuyển đôi các phân mêm thành các dịch vụ
thôn2 qua các thành phần phần mềm; Kiến trúc hệ thống và kiến trúc phân mềm;
Đánh giá và kiêm định mức hệ thống; Tươns thích phân cứng và phàn mẻm nhờ
các cấu trúc có thể định cấu hình lại và các thành phần Plug hay Play; Xây dựne
các hệ thông có kha năng; tô hợp được nhờ các thành phân phân mêm có thê tái sừ
dụng.
19
Các bước xây dựng: có thể sử dụng các ngôn ngữ như C/C++ hoặc
Asembler, tuỳ từng hệ thống mà có lựa chọn thích họp và từ đó chọn chương
trình dịch. Ngày nay, do nhu cầu phát triển hệ thống nhanh, bảo trì dễ dàng
nên ngôn ngữ được lựa chọn là ngôn ngữ bậc cao như C/C++. Quy trình xây
dựng một phần mềm thường qua các bước sau: Tìm hiểu bài toán; Phân
tích; Thiết kế; Viết chương trình; Kiểm thử. Việc xây dựng phần mềm
nhúns cũng tuân theo các bước như trên.
Phần mềm nhúng cho CC1010 được viết bằng ngôn ngữ c, sử dụng các thu
viện cho CC1010 do hãng Chipcon cung cấp, dùns chương trình biên dịch Keil
uVisiorứ, do hãng Keil Elektronik GmbH xây dựng là một môi trường phát triên
tích hợp IDE (Integrated Development Environment) cho các họ vi điều khiên
tương thích 8051 của Intel. Đâv là bộ chương trình dịch cho phép người viết
chương trinh có thể soạn thảo chương trình, dịch chương trình và gỡ lỗi trên cùne
một môi trường. Chương trình dịch này hỗ trợ cho cả ngôn ngữ c và Asembler.
Hãng Chipcon cũng cung cấp một bộ thư viện tiện ích giúp cho việc xây dựng
phần mềm cho vi điều khiển CC1010 được dễ dàng và nhanh chóng.
Trình soạn thảo là công cụ chù yếu để soạn thảo các file nguồn và file hợp
ngữ. Nó cũng cung cấp các chức năng trợ giúp khác như giao diện đo hoạ, mô
phỏng, gỡ lỗi Thêm vào đó, IDE cũng cung cấp các giao diện với thư viện liên
kết động DLL (Dynamic Linking Librarv) dùng đe mô phỏng và gỡ lỗi trên mạch.
Điểm đặc biệt của chương trình dịch là có thể chuyển dịch các file nguồn được
viết băns ngôn ngừ c sane dạno hợp ngữ đê sau đó có thê tôi ưu hoá mã lệnh,
dạng hợp ngữ sau đó được chuyên thành các íĩle đôi tượng (mã máy hoặc dữ liệu
nhị phân). Cuối cùng, bộ liên kết đưa ra dạnơ file thực thi dạng HEX và có thể nạp
vào bộ nhớ Flash của vi điều khiên.
Mô hình của một phần mềm nhúns viết cho CC1010 chỉ ra ở bảng 2.
Chương trình úng dunơ
o o ĩ o
Thư viện c
chuẩn.
thư viện tiện ích Chipcon
(Chipcon Utility Library - CUL)
thư viện phân cún2 (hardware
abstractiom library - HAL)
Các file định nghĩa phân cứng
(hardware definition file - HDF)
Bảng 2: Mô hình một phần mềm nhúng
Các fíle định nehĩa phần cứng HDF: định nehĩa địa chỉ các thanh ghi, ánh xạ
vector nsăt và các hăne số khác. Chúng cũng thườne dùng các macro cho
CC1010EB. và các định nghĩa hồ trợ hợp ngữ và ngôn nsữ c. Thư viện phần cứnơ
20
HAL là thư viện macro và các hàm truy cập phần cứng CC1010 nhằm hỗ trợ việc
phát triên chương trình nhanh chóng và dễ dàng. Những thư viện nằm trong HAL
thi hành một giao tiếp phần cứng trừu tượng đối với chương trình người dùng.
Nhờ đó chương trình người dùng có thể truy cập ngoại vi của vi điều khiển, thông
qua các lời gọi hàm/macro, mà không cần hiểu chi tiết về phần cứng. Thư viện
HAL hồ trợ các chức năng sau: Truyền/nhận không dây; Đo cường độ RSSI;
Truyền nhận RS232; Làm việc với ADC; Xừ lý thời gian thực; Mã hoá DES; Thiết
lập các bộ định thời; Làm việc với các cổng.
Thư viện tiện ích Chipcon CUL: cung cấp thư viện cho truyền thông RJF. Thư
viện này thường dùng cho những ứng dụng RF điển hình và cung cấp một giao
thức RF đầy đủ. Các chức năng hỗ trợ của CUL: Truyền/nhận không dây; Tính
toán mã dư vòng (CRC); Xừ lý thời gian thực. Cả hai thư viện HAL và CUL đều
hỗ trợ truyền/nhận không dây và xử lý thời gian thực. Đối với những ứne dụng đòi
hòi sự phức tạp thì thường dùng thư viện HAL.
Phần m ềm giao tiếp đầu đo và nút m ạng thực hiện theo các bước được
phân tích chi tiết như sau: ADCi là các lối vào ADO, AD1 và AD2. Các lối vào
ADCi của CC1010 có điện áp tham chiếu chọn là 1.25V hoặc VDD, sử dụng
chung một ADC trên cơ sở hợp kênh lối vào. Ờ đây chọn tham chiếu cho ADC là
VDD, tức là bàng 3.5V.
Thí dụ, trong hệ thốns chỉ ra ở hình 2.8, lối ra của đầu đo sau khi được
khuếch đại đưa tới ADO và chươna trình khởi tạo quá trình chuvển đổi tương tự -
số qua ADC phải tiến hành bằng lệnh:
rriov ADCỌN,#0Ch
Tức là chọn kênh ADO, điện áp tham chiếu 3.5V, bộ biến đổi ADC ờ chế độ
hoạt độne. Lệnh bắt đầu chuyển đồi ADC:
setb ADCRƯN
Khi ADC thực hiện xong việc chuyền đổi tương tự - số, bit ADCRUN tự
độna xoá. Thời gian đợi chuyển đổi được thể hiện qua việc quét bit ADCRUN:
jb ADCRƯN,$
Giá trị chuyển đổi đọc ờ hai thanh ghi ADDATL(7:0) và ADDẠTH(9:8). Giá
trị đọc được từ 0 đến 1023 tương ứng với điện áp lối vào ADC từ 0 đến 3.5V.
Chương trình đọc giá trị ADC được thực hiện theo các bước sau:
Bước khởi tạo ADC: Đặt bộ biên đổi ADC về chê độ single; Đặt điện áp
tham chiếu là 3.5V
Bước đọc giá trị ADC: Chọn kẽnh ADC; Ra lệnh đọc ADC: Chò' cho ADC biến đổi
xong; Đọc siá trị chuyển đôi.
Phần m ềm xử lv và truyền thông đòi hỏi nút mạng CC1010 cần thực hiện
các chức năng: Cảm nhận; Tính toán; Truyền thông. Vì vi điều khiên bị hạn chế vê
tài nguyên, đòi hoi chương trình cànơ ngắn, càng tốn ít bộ nhớ càng tỏt, trong khi
vẫn đam bảo hoạt động, bảo trì và nânơ cấp de dàno.
Đề viết chương trình truyền thôno cần sứ dụns các hàm tronơ bộ thư viện
HAL. Các bước thực hiện truyền thône; cho CC1010 £ồm khởi tạo RF: thiết lập
tần số R f, tốc độ truyên, cách điều chế tín hiệu, công suất phát. T rons chương
trình cụ thê, các thông số trên lần lượt có giá trị là: 868MHz. 2.4kbps. mã hoá
21
Manchester, 4dBm. Các khai báo này được đặt trong một cấu trúc RF_SETTINGS
được khai báo như trong phụ lục c.
Sau khi khởi tạo Rp, chương trình nhận dữ liệu RF được thực hiện thông
qua ngắt. Mỗi khi nhận được một byte, vi điều khiển sinh ra một ngất. Chương
trình xử lý ngắt có nhiệm vụ đưa byte này vào một bộ đệm. Khi toàn bộ gói tin đã
nhận xong, ngắt này bị cấm để chờ xử lý trong bộ đệm. Quá trình nhận một byte từ
bộ đệm RFBUF vào bộ đệm chương trình như sau:
//nhận một byte từ bộ đệm RFBUF vào bộ đệm rf_rx_buf tại vị trí rf_rx_index:
Rf_rx_buf[rf_rxjndex] = RF_RECEĨVE_BYTE(); ’
rf_rx_index ++;
Byte đầu tiên của bộ đệm chương trình rf_rx_buf[0] lưu độ dài gói tin. Việc nhận
dữ liệu kết thúc khi rf_tx_index bằng giá trị độ dài gói tin, nghĩa là:
rf_rx_index = rf_rx_buf[0];
Sau khi toàn bộ gói tin đã được nhận, chương trình sẽ phân tích gói tin, lọc ra các
dữ liệu cần thiết. Nếu là nút Master, nó sẽ truyền dữ liệu nhận được về máy tính
qua cổng RS232. Neu là Slave, nó sẽ thực hiện việc cảm nhận, tính toán rồi truyền
dữ liệu về Master. Chương trình truyền dữ liệu Rp được thực hiện bời các
hàm/macro trong thư viện HAL của Chipcon cho trono phụ lục D.
Module sensor áp suất được ghép với nút mạng sừ dụng vi điều khiển với
CC1010 và với phần mềm nhúng thích hợp sẽ tạo thành một điểm đo độc lập, tự
động đo áp suất, xử lý dữ liệu thu được và truyền không dây định kỳ số liệu đo
này về một nút m ạng CC1010 khác nối với máy tính xách tay hoặc máy tính để
bàn. Sơ đồ khảo sát thực nghiệm như hình 13 và các thiết bị cụ thể ở hình 14.
KHUẾCH ĐAI r— CC1010EM / n X CC1010EM
I
CC1010EB
ỐNG NƯỚC
RS232
MÁY TỈNH
ĐẦU ĐO
Hình 22: Sơ đồ ehép nối đầu đo với nút mạng.
cao mức nước và hiển thi kết quả lên màn hình. Tính tốc độ dâng
ìeo công thức V (m/giậy) = (h2 - hl)/(t2- tl), trong đó hl, h2, tl.
: nước ờ lần đo thứ nhất, lần đo thứ hai, thời điểm lần đo thứ nhất.
0 thứ 2 tương ứng. Đe tiến hành báo động phải so sánh giá trị dừ
á trị ngưỡng cho săn. N êu vượt ngưỡng thì báo động (thí dụ khi độ
vượt một giá trị cho trước). Hình thức báo động là chi thị lên màn
hoặc khởi động một tệp âm thanh đã ahi sẵn để nahe qua loa. Trons
/ thực hiện việc báo động theo phương thức khởi động tệp âm thanh
0 diện chương trình thu nhận, xử lý và cảnh báo vượt giá trị ngưỡng
* 16.
Hinh 16 : Giao diện cài đặt báo động vượt ngưỡns
ơna trình thừ nshiệm truyền dữ liệu về máy tính qua một nút trung gian thực
1 qua các bước: Dịch chương trình nguôn nhận máy tính sau đó nạp nút m ạns
nhất; Dịch chương trình nguồn nút trung gian sau đó nạp nút mạng thứ hai:
:h chươns trình nguồn nút truyền sau đó nạp cho nút mạng thứ ba. Bố trí ba nút
ing trona vùng liên kết của từng cặp một và tiên hành đo mức nước và truyên dữ
ịu về nút cơ sờ. Trên máy tính các bước thao tác cụ thê như sau: vào thư mục
roadcast —> wsn5 —> click WSN visual basic project (2K)—> click start (F5) —>
nav đồi —* đặt giá trị ngưỡng báo động —* click kết nổi. Từ đây máy tự chạy, khi
/ượt eiá trị nsưỡng nó sẽ tự độne sọi chương trình báo động, (chương trinh báo
động là một tệp .avr được ghi âm trước có đường dân năm trona tệp 2ÔC 'thuc hien
canh bao nguons = CDbl(Label8.Caption)
datnơuons = CDbl(txtdatnguong.Text)
If nsuona > datnguons Then
frmbaodong.Show
frmbaodon2 .W indowsM ediaPlaverl .Controls, play
Hình 17: Đâu đo và các nút mạng cảm nhận.
Kình 15: giải thuât ph ân m êm nhúng trong C CìO lO cùa nút M aster
Khởi tạo RP: M ã hoá dừ liệu bàns mã Manchester; Tốc độ truyền dữ liệu
2.4kbps; Khởi tạo ADC: Điện áp tham chiếu 3.5V intemal; 10 bit single; Khởi tạo
timer: Sử dụng Timer2 ờ chế độ điều chế độ rộng xung, tân số 29kHz, dạne xung
vuông đối xứna, xung này dùns làm Master Clock (MCLK) cho cảm biến áp suất;
Khởi tạo sensor cảm biến: Đưa các chân lối vào và chân đônơ bộ quá trình đọc shi
cho cảm biến về trạng thái 0; Đọc các hệ số lưu tronơ cảm biên áp suất; Đọc ba
kênh ADC: Chọn kênh cần đọc; Phát lệnh chuyển đồi ADC; Chờ cho đến khi
chuvển đồi ADC kết thúc; Đọc giá trị ADC từ hai thanh shi ADCDATH và
ADCDATL: Đọc dữ liệu cảm biến áp suất: Reset cảm biến; Gừi lệnh cho cam biến
để chọn tham số cần đọc: nhiệt độ hay áp suất; Đọc dữ liệu trả lời từ cảm biến;
Chờ nhận lệnh từ máy tính: Neu có lệnh yêu cầu sừi dừ liệu vê trune tâm. Slave sẽ
đọc các tham sô áp suât rôi truvền về truns tâm.
Xử lý dử liệu và cảnh báo sự cố: Sau khi chuvên dừ liệu vê nút cơ sở, nó
được truyền vào PC qua côns RS-232. Phần mềm có nhiệm vụ tách phản dừ liệu
trong gói tin đê xử lý. Công việc xử lý bao gồm: hiển thị kết quà đo lèn màn hình.