Mạng dạng vòng: các dây cáp đƣợc kết nối thành một vịng khép kín, thơng tin sẽ đƣợc truyền đến từng node mạng một và chỉ theo một chiều. Do đó dễ dàng
mở rộng tiết kiệm dây cáp hơn so với kiểu dạng hình sao tuy nhiên tốc độ của mạng vẫn bị chậm và khi có sự cố xảy ra là tồn bộ mạng sẽ bị ngừng lại và rất khó để kiểm tra phát hiện lỗi.
Hình 2.2. Mạng dạng vịng.
Mạng dạng trục tuyến: là cách bố trí sao cho tất cả các node đều đƣợc nối
với nhau trên một trục dây cáp. Loại hình mạng này dễ dàng lắp đặt, tiết kiệm dây cáp nhƣng sẽ gây nghẽn đƣờng truyền khi truyền một lƣợng thông tin lớn, một node mạng bị hỏng sẽ ảnh hƣởng đến cả hệ thống.
Hình 2.3. Mạng dạng trục tuyến.
2.1.1. Cấu trúc phẳng
Cấu trúc phẳng: là một mạng gồm các node vai trị tƣơng đƣơng chúng có
chức năng tƣơng đồng, ngang hàng với nhau. Các node có thể giao tiếp với bộ thu nhận dữ liệu trung gian bằng cách trực tiếp qua kiến trúc đa đƣờng, chúng sử dụng chính các node hàng ngang làm bộ tiếp sóng, với giả thiết là tất cả các node dùng cùng tần số truyền dữ liệu, khi đó các node gần bộ thu nhận dữ liệu trung gian hơn
có thể đóng vai trị bộ tiếp sóng cho các node xa hơn, giúp chia sẻ thời gian truyền nhận dữ liệu từ các node đến bộ thu nhận dữ liệu trung gian[1].
Hình 2.4. Cấu trúc phẳng.
2.1.2. Cấu trúc phân tầng
Trong cấu trúc tầng: Mạng cảm biến gồm có nhiều cụm, mỗi cụm gồm các
node, các node này chuyển tín hiệu theo dạng gửi trực tiếp hoặc đa hƣớng tùy thuộc và kích cỡ của cụm và dữ liệu cần truyền đến một node định sẵn thƣờng gọi là node chủ, node chủ này sẽ nhận tín hiệu, tính tốn và truyền đến trạm bậc cao hơn, đồng thời node chủ cũng nhận lệnh từ các trạm cao hơn để truyền đến các node trong cụm thuộc phạm vi quản lý, nghĩa là các node tạo thành một hệ thống cấp bậc mà mỗi node chỉ ở một mức xác định và thực hiện các nhiệm vụ đã đƣợc định sẵn. Theo đó chức năng cảm nhận, tính tốn và phân phối dữ liệu khơng đồng đều giữa các node mà phân theo cấp, cấp thấp nhất thực hiện nhiệm vụ cảm nhận đại lƣợng đƣợc lập trình sẵn sau đó gửi tới cấp giữa, cấp gữa thực hiện nhiệm vụ tính tốn, cấp cao nhất thực hiện phân phối dữ liệu.
Hình 2.5. Cấu trúc tầng.
Nhận xét chung về hai kiểu cấu trúc
- Đối với cấu trúc phẳng: Có kiến trúc đơn giản hơn, việc bị hỏng một vài
node có khi cũng khơng ảnh hƣởng tới hoạt động của mạng vì các node có khả năng truyền trực tiếp đến bộ thu nhận dữ liệu trung gian, tuy nhiên nếu tất cả hoặc một số lƣợng lớn các node cùng gửi dữ liệu thì sẽ dẫn đến quá tải, do vậy thƣờng đƣợc thực hiện để giám sát các đại lƣợng đơn lẻ ít có sự biến đổi nhƣ thời gian, tần số và với số lƣợng node không quá nhiều, và vì các node gần bộ thụ nhận dữ liệu trung gian lại đóng vai trị trung gian truyền tín hiệu nên các node phải cố định. Cấu trúc này phù hợp với giám sát các thơng số có tính ổn định biến đổi chậm trong nông nghiệp nhƣ nhiệt độ, độ ẩm và do không hoạt động liên tục nên cần ít năng lƣợng.
- Đối với cấu trúc tầng: Khi quy mơ mạng cảm biến tăng lên nhiều thì thơng lƣợng bị chia sẻ, có thể có những node thơng lƣợng giảm nhanh về 0, nếu dùng kiến trúc phẳng thì hệ thống có thể bị quá tải, với cấu trúc tầng sẽ mang lại giải pháp khắc phục vấn đề này, khi đó các node ở cấp thấp tạo thành một cụm xung quanh trạm gốc, mỗi trạm gốc sẽ làm cầu nối với cấp cao hơn đảm bảo việc giao tiếp trong cụm, trong mạng.
Trong một mạng gồm nhiều yếu tố, cần thu thập và xử lý thơng tin nhiều thì mạng cấu trúc tầng sẽ hiệu quả hơn vì có cấp đóng vai trị là chun xử lý và tính
tốn, có cấp đóng vai trị cảm biến chun thu thập thông tin. Tuy nhiên với mạng không quá nhiều node và chỉ thu nhận thông tin biến đổi chậm nhƣ độ ẩm, nhiệt độ, ánh sáng trong sản xuất nơng nghiệp thì mạng cấu trúc phẳng vẫn đáp ứng đƣợc yêu cầu mà lại đơn giản hơn trong thiết kế, lắp đặt và vận hành.
Cấu trúc tầng thƣờng đƣớc sử dụng đối với mạng cảm biến mà các đối tƣợng cần giám sát có sự biến đổi nhanh, gồm nhiều thơng số và có thể di chuyển, chẳng hạn nhƣ dùng giám sát đối tƣợng trong quân sự, giám sát giao thông.
2.2. Kiến trúc phần cứng
Các ứng dụng tự động hóa khơng dây phải đối mặt với các vấn đề liên quan đến truyền thông không dây, xử lý dữ liệu, vấn đề nguồn năng lƣợng của các node và tƣơng thích của các kiến trúc định sẵn đối với các kịch bản mạng thực tế. Nhìn chung phần cứng của một node cảm biến bao gồm một bộ xử lý cơ bản và bộ nhớ dung lƣợng thấp, và một bộ thu phát không dây băng thông thấp tầm ngắn. Kiến trúc này cho phép node hoạt động đƣợc trong một khoảng thời gian dài với nguồn năng lƣợng hạn chế. Tuy nhiên, do tính đa dạng trong ứng dụng mà các node có những yêu cầu về thu thập, xử lý số liệu, điều khiển các thuật toán, hoặc thực hiện các tác vụ liên quan đến truyền thơng, do đó ngay cả đối với một kịch bản triển khai mạng đơn lẻ của một ứng dụng tự động hóa khơng dây có thể cần các nền tảng phần cứng khác nhau, làm tăng chi phí. Việc cập nhật phần cứng thƣờng là phần tốn kém nhất của quá trình phát triển WSN, để không làm cản trở triển vọng phát triển và ứng dụng của WSN trong thực tế thì cần phải có những giải pháp giúp cho ngƣời dùng thuận tiện trong việc đƣa WSN vào đời sống. Thơng thƣờng, cần có một nền tảng phần cứng linh hoạt để có thể ứng dụng cho các kịch bản mạng khác nhau, các tài nguyên xử lý có thể đƣợc thích nghi bằng phần mềm hoặc dễ dàng kết nối bằng cách xếp các phần cứng có độ phức tạp khơng cao.
Trong phần này, tác giả giới thiệu một nền tảng cảm biến không dây đáp ứng đƣợc yêu cầu về sử dụng năng lƣợng thấp, linh hoạt trong thiết kế mạng đó là node
UWASA và kiến trúc SurfNet. UWASA và SurfNet đƣợc phát triển bởi nhóm các nhà khoa học thuộc Đại học Vaasa, Phần Lan.
2.2.1. Node UWASA
Node UWASA [18,19] đƣợc Yusein Ali phát triển tại Đại học Vaasa là một mô-đun với kiến trúc ngăn xếp cho phép thích ứng nhanh với các ứng dụng khác nhau. Nó đƣợc thiết kế để cung cấp mức năng lƣợng và bộ nhớ xử lý hợp lý cho các thuật toán mức vừa phải và các phƣơng tiện cần thiết để kiểm soát và theo dõi điện năng tiêu thụ. Node UWASA đƣợc thiết kế để hỗ trợ các ứng dụng địi hỏi bộ cảm biến khơng dây công suất bộ vi xử lý thấp, đến các ứng dụng với yêu cầu mà nhiều bộ vi xử lý xếp chồng lên nhau, cung cấp các giao diện thích ứng và mở rộng cho cả phần mềm và phần cứng để cho phép tái sử dụng cùng một nền tảng trong các triển khai khác nhau.
Kiến trúc phần cứng của Node UWASA đƣợc thể hiện trong hình 2.6
Hình 2.6. Kiến trúc phần cứng của node UWASA [18].
Kiến trúc này cho phép dễ dàng điều chỉnh phần cứng cho các ứng dụng khác nhau bằng các mô-đun slave, đồng thời cung cấp mức điện và bộ nhớ tính tốn trung bình, và phần cứng giao tiếp khơng dây bên trong bản chính. Việc phân phối và quản lý năng lƣợng trong node đƣợc duy trì bằng các mơ-đun nguồn.
Node đƣợc thiết kế để có ít nhất mơ-đun nguồn cung cấp năng lƣợng và mơ- đun chính, hai mơ-đun này chứa tất cả các thuộc tính bên trong nhƣ phần cứng giao
tiếp khơng dây, hỗ trợ nhiều giao diện ngoại vi, xử lý cơ bản và bộ nhớ, quản lý năng lƣợng và các giao diện phân phối. Phần cứng chứa có một số mơ-đun slave đơn giản. Bất kể các loại và số lƣợng các mô-đun trong ngăn xếp phần cứng, tín hiệu và các nguồn cung cấp điện đƣợc chuyển giữa các mô-đun bằng bộ kết nối ngăn xếp phần cứng.
- Mơ-đun chính: chứa hai bộ xử lý để cho phép truyền thông không dây trong khi
cung cấp các phƣơng tiện cần thiết cho kiến trúc phần cứng có thể xếp chồng lên nhau, mơ-đun chính chịu trách nhiệm truyền thơng không dây, quản lý trao đổi dữ liệu trong node, xử lý dữ liệu và ra quyết định, trong khi giám sát các giao diện nguồn và quản lý chế độ nguồn trong node. Các tính năng chính có thể đƣợc tóm tắt nhƣ sau:
+ Bộ điều khiển RF và Bộ điều khiển chính đều là những vi điều khiển có thể lập trình. Bộ điều khiển RF có bộ xử lý 8-bit chạy ở tần số 16 MHz hoặc 32 MHz, trong khi bộ điều khiển chính có bộ xử lý 32-bit có thể hoạt động ở tốc độ 72 MHz.
+ Bộ điều khiển RF đã tích hợp chuẩn khơng dây IEEE 802.15.4, tích hợp cơng cụ định vị. Trong khi bộ điều khiển chính đã tích hợp Ethernet MAC, và thiết bị USB2.0 luôn sẵn sàng hoạt động, cũng nhƣ nhiều giao diện nối tiếp tiêu chuẩn. + Bộ điều khiển RF có thể tắt nguồn của bộ điều khiển chính khi khơng cần đến quá trình xử lý, trong khi đó bộ điều khiển chính có thể điều khiển các trạng thái và cấp điện áp của các nguồn điện thông qua các giao diện đƣợc cung cấp bởi mơ-đun nguồn.
+ Có thể tắt các thiết bị ngoại vi riêng lẻ của bộ điều khiển chính và đầu cuối RF của bộ điều khiển RF.
+ Điều chỉnh tần số hoạt động của bộ điều khiển RF và bộ điều khiển chính.
+ Đồng bộ hóa thời gian đƣợc giải quyết bằng các phƣơng tiện tín hiệu do bộ điều khiển RF hoặc bộ điều khiển chính cung cấp. Đồng bộ hóa thời gian mạng đƣợc đảm bảo bởi bộ điều khiển RF.
- Mơđun nguồn: Mơ-đun có trách nhiệm cung cấp năng lƣợng cho tất cả các mô-đun
trong node. Các tính năng chính của mơ-đun nguồn có thể đƣợc tóm tắt nhƣ sau: + Node hỗ trợ kết nối pin. Mô-đun nguồn đƣợc thiết kế để vận hành trong giới hạn an toàn của pin.
+ Bộ nguồn có bộ sạc pin cho phép sạc trực tuyến pin khi nguồn khác đƣợc nối với nguồn cung cấp.
+ Hai lựa chọn cung cấp độc lập đƣợc cung cấp thơng qua mơ-đun nguồn, tồn bộ node hỗ trợ quản lý đƣờng dẫn linh hoạt khi node đƣợc cung cấp thông qua pin và các nguồn khác.
+ Có thể theo dõi tình trạng pin tại mỗi thời điểm.
+ Mức điện áp trên đƣờng dây chính của node có thể đƣợc giám sát.
- Mô-đun slave: Là loại mô-đun không thể chủ động kết nối bằng vi điều khiển mà
cần các thiết bị ngoại vi khác để kết nối, có ba loại mơ-đun slave đƣợc xác định tùy thuộc vào mục đích là:
+ Slave hoạt động: Loại mơ-đun này có đơn vị xử lý riêng, nó xử lý dữ liệu và các vấn đề liên quan đến trình điều khiển.
+ Slave thụ động: Loại mô-đun này không chứa bộ xử lý riêng của nó, nhƣng có phần cứng liên quan đến phần mềm điều hành của cảm biến, van tự động, đƣợc kết nối với một trong các giao diện của mơ-đun chính trên bộ kết nối phần cứng.
+ Slave mở rộng: Loại mô-đun này là phần mở rộng cho mơ-đun chính. Các mơ- đun slave đƣợc dự định là sự triển khai phần cứng của các ứng dụng.
Hình 2.7. Cấu trúc ngăn xếp của node UWASA [18].
Kiến trúc phần cứng có thể xếp chồng lên nhau yêu cầu mức độ phần cứng cao hơn trong phần mềm để tiếp cận phần mềm tái sử dụng trong các triển khai khác nhau. Với mục đích này, phần mềm node UWASA đƣợc thiết kế để có nhiều cấp để đạt đƣợc các mức độ phần cứng theo yêu cầu. Phần mềm node UWASA dựa trên các mơ-đun đƣợc mơ tả trong hình 2.8.
Hình 2.8. Cấu trúc phần mềm của node UWASA [18]
Mức độ yêu cầu đạt đƣợc trong ba lớp. Lớp đầu tiên là phần mềm thấp cấp kết hợp với mục tiêu phần cứng cơ bản. Nó bao gồm các trình điều khiển thiết bị ngoại
vi và hệ điều hành thời gian thực mà cả hai đều chứa các thành phần liên quan đến phần cứng. Lớp thứ hai bao gồm daemon (chƣơng trình chạy nền, có thể tắt mở tự động mà không ảnh hƣởng đến giao diện ngƣời dùng) và middleware (phần mềm tƣơng hỗ kết nối các phần mềm, các ứng dụng với nhau) tự động để đạt đƣợc sự nhạy cảm từ cả hệ điều hành thời gian thực (RTOS- Real-time Operating System) và các thiết bị ngoại vi. Lớp cuối cùng là lớp ứng dụng chỉ chứa phần mềm ứng dụng.
Hình 2.9 là ví dụ 1 node UWASA đƣợc tích hợp các mơ-đun khác với mơ-đun chính thơng qua các cổng kết nối nhƣ mơ-đun wifi, do đó node UWASA có cấu trúc cơ bản và dễ dàng hỗ trợ các ứng dụng tự động hóa khơng dây, triển khai trong nhiều lĩnh vực khác nhau.
Hình 2.9. Một node cảm biến theo kiến trúc node UWASA [19].
2.2.2. SurfNet
SurfNet [18,19] là một kiến trúc mạng cảm biến bao gồm hai nền tảng phần cứng khác nhau, giao thức mạng và một mơi trƣờng lập trình cho các node cảm biến khơng dây công suất thấp, đƣợc phát triển bởi Đại học Khoa học Ứng dụng Seinäjoki, và tiếp tục đƣợc cải thiện trong dự án GENSEN (Generic Sensor Network Architecture for Wireless Automation- dự án về kiến trúc mạng cảm biến chung cho tự động hóa khơng dây).
Hình 2.10. Node cảm biến sử dụng kiến trúc SurfNet (Palomäki 2010a) [19]
SurfNet bao gồm các nền tảng phần cứng - node SurfNet, giao thức mạng và môi trƣờng phát triển ứng dụng tƣơng ứng. Node SurfNet có kích thƣớc nhỏ và đƣợc trang bị một vi điều khiển nRF24LE1D là một chip đƣợc phát triển bởi hãng Nordic Semiconductors, có thể đồng thời gắn kết một số bộ phận nhƣ bộ cảm biến nhiệt độ, cảm biến độ ẩm và bộ cảm biến gia tốc ba chiều (3D). Node đƣợc cung cấp năng lƣợng bởi pin thƣờng là khoảng 3V. Node SurfNet cũng khá đơn giản và dễ triển khai trong nhiều mơi trƣờng. Vì vậy, tác giả lựa chọn node SurfNet cho nghiên cứu của luận văn.
Nhƣ đã đề cập trƣớc đó, nRF24LE1D đƣợc sử dụng làm bộ điều khiển chính của node SurfNet, nó là một dịng sản phẩm của bộ thu tín hiệu RF 2.4 GHz thơng minh với bộ vi xử lý siêu nhỏ thơng minh. Cụ thể, nó chủ yếu chứa một bộ điều khiển là bộ vi xử lý 8.051 tăng cƣờng và bộ thu phát RF nRF24L01 2.4GHz. Hai phần này giao tiếp với nhau qua giao tiếp ngoại vi nối tiếp (SPI), bên cạnh bộ xử lý và bộ nhớ, các tính năng chính của nRF24LE1D đƣợc trình bày trong bảng 2.1.
Bảng 2.1. Các tính năng chính của bộ điều khiển nRF24L1D. [19]
Thành phần Tính năng
Bộ vi xử lý
Nhanh 8-bit;
Tập lệnh tƣơng thích Intel MCS 51; Đơn vị phân chia 32 bit
Bộ nhớ
Bộ nhớ Flash 16 KB với các tính năng bảo mật; 1 KB bộ nhớ RAM trên chip;
1 KB bộ nhớ dữ liệu khơng dễ xóa
Giao diện và Thiết bị ngoại vi
GPIO; SPI chủ; SPI slave; 2-Dây chủ / slave; Ngắt ngoài; Bộ dao động tinh thể 32.768 kHz; Giao diện gỡ lỗi;
Bộ thu tín hiệu 2.4 GHz RF; Bộ chuyển đổi A / D;
Bộ so sánh Analog; Bộ mã hóa / giải mã; Máy phát số ngẫu nhiên;
Quản lý năng lƣợng
Nguồn cung cấp 3,0 V đơn (1,9 V đến 3,6 V); Thiết lập lại hệ thống và giám sát nguồn điện; Thiết kế công suất thấp hỗ trợ dừng hoàn toàn /