Trong RPL, quá trình định tuyến upward có vai trò then chốt, quyết định tính chất, hiệu năng hoạt động của mạng. Quá trình này dựa trên việc xử lý các bản tin DIO, xây dựng, xác định và duy trì các DAG, từ đó mỗi node trong DAG có thể xác định tuyến đƣờng tối ƣu để gửi dữ liệu về DAG ROOT một cách nhanh chóng và hiệu quả.
a. DAG parent và preferred parent
Trong RPL sử dụng ba khái niệm thể hiện mối quan hệ logic giữa các node trong mạng, bao gồm: neighbor, DAG parent và preferred parent. Trong đó preferred parent của một node là một trong số những DAG parent có các thông số định tuyến tốt nhất. Phƣơng thức lựa chọn preferred parent đƣợc quy định bởi
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
các hàm Object function. Preferred parent sẽ đƣợc chọn là next-hop trong quá trình truyền gói.
b. Quản lý neighbor, khám phá DAG và lựa chọn DAG parent
Trong RPL, mỗi node trong mạng tìm kiếm và quản lý các node neighbor trong phạm vi kết nối thông qua cơ chế “neighbor discovery in IPv6”. Theo đó, mỗi node trong mạng sẽ quản lý đƣợc các thông số trạng thái của những node xung quanh nhƣ khả năng kết nối, địa chỉ, tình trạng,…
Khi một node đƣợc khởi tạo với vai trò DAG ROOT, node sẽ thực hiện việc tạo những bản tin DIO với rank bằng một và quảng bá chúng đến các node xung quanh. Những node gần root nhất khi nhận đƣợc DIO từ DAG ROOT sẽ tham gia vào DAG, cập nhật thông tin trong DIO và xác định rank của bản thân trong DAG. Sau đó node định thời chuyển tiếp các bản tin DIO đến những node xung quanh, quảng bá vị trí và DAG mà nó tham gia. Quá trình này đƣợc các thành viên trong DAG lặp lại liên tục tại những thời điểm định thời. Do đó, quy mô DAG đƣợc xây dựng mở rộng tới những node ở xa DAG ROOT, những node trong DAG cập nhật đƣợc thông tin của các thành viên xung quanh trong DAG.
Khi một node ở trạng thái tự do (chƣa tham gia DAG), node sẽ định thời gửi các bản tin DIS tới các neighbor để quảng bá Instance mà nó có khả năng tham gia. Đồng thời yêu cầu những node đáp ứng đƣợc phản hồi lại những thông tin về DAG mà chúng tham gia. Khi một neighbor nhận đƣợc bản tin DIS, nếu đã tham gia một DAG phù hợp với Instance trong DIS, nó sẽ phản hồi bằng một bản tin DIO tới node gửi DIS. Sự phản hồi này sẽ diễn ra ngay sau thời điểm xử lý bản tin DIS mà không đợi tới thời điểm định thời DIO tiếp theo. Bên cạnh đó, nếu DIS chứa địa chỉ multicast, node sẽ khởi động lại bộ định thời DIO để giảm thời gian gửi DIO tiếp theo. Cơ chế này giúp sự quảng bá DAG linh động và hiệu quả hơn.
Quá trình lựa chọn DAG phải tuân theo một số quy tắc sau: DAG tham gia phải đáp ứng Instance của node.
DAG tham gia phải có độ ƣu tiên cao nhất và node có rank thấp nhất.
DAG tham gia phải thỏa mãn các object function của node.
Sau quá trình khám phá và tham gia vào DAG trong mạng, mỗi node xử lý những thông tin trong DIO mà chúng nhận đƣợc, cập nhật rank và chọn những
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
parent từ những node thành viên xung quanh của DAG. Các parent của một node phải thỏa mãn những tính chất sau:
Là một neighbor của node.
Là thành viên trong cùng DAG với node. Có rank thấp hơn rank của node.
c. Tính toán Rank và sự di chuyển của các node trong DAG
Lựa chọn rank là quá trình xác định vị trí của node so với DAG ROOT trong DAG, đồng thời có ảnh hƣởng đến mối quan hệ của node với các node khác trong mạng. Quy tắc tính toán rank đƣợc quy định trong các hàm Object function tƣơng ứng với mỗi Instance cụ thể. Tuy nhiên, Rank của node phải thỏa mãn những quy tắc sau:
Rank của node trong mạng luôn lớn hơn 1 và nhỏ hơn giới hạn lớn nhất (RANK MAX) đƣợc quy định tùy theo quy mô và mục đích triển khai. Rank của node phải luôn nhỏ hơn rank của tất cả các parent của node. Node có thể quảng bá rank thấp hơn hoặc cao hơn rank mà nó quảng bá trong các bản tin trƣớc đó. Sự thay đổi đó phụ thuộc sự thay đổi rank của các parent trong DAG.
Node có thể quảng bá rank bằng RANK MAX tại mọi thời điểm. Khi một node quảng bá rank bằng RANK MAX, tƣơng đƣơng với sự kiện node không là thành viên của bất kỳ DAG nào trong mạng.
Tại mọi thời điểm, node có thể tham gia vào một DAG mới trong cùng RPL Instance và thay đổi rank phù hợp. Trong thời gian trƣớc khi node quảng bá các bản tin DIO cho DAG mới, node vẫn tiếp tục gửi các gói đến các parent trong DAG cũ.
Quá trình di chuyển trong DAG kéo theo sự thay đổi rank của các node, khi node có khả năng kết nối tới những node gần DAG ROOT hơn hoặc khi node không thể kết nối đến các parent và buộc phải kết nối với DAG thông qua những node có rank cao hơn.
Khi một node dịch chuyển theo hƣớng upward, node phải cập nhật, thay đổi các thông số và mối quan hệ của các parent, sibling cũ, đồng thời thiết lập các mối quan hệ parent và sibling mới. Trong quá trình này, node không cần phải tách ra khỏi DAG.
Khi một node trong mạng phải di chuyển theo hƣớng downward, do mất kết nối với tất cả các node parent hiện tại, trƣớc hết node phải tách ra khỏi DAG
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
mà node đang là thành viên. Sau đó thực hiện quá trình tái tham gia DAG, cùng với những lựa chọn parent, sibling và rank mới.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
CHƢƠNG 3: XÂY DỰNG MÔ HÌNH NGÔI NHÀ THÔNG MINH 3.1. Mô tả bài toán
Trong xã hội hiện đại, việc tự động hóa các hoạt động cho các thiết bị gia đình ngày càng phát triển và trở thành một nhu cầu cần thiết của con ngƣời. Nhờ đó, các thiết bị điện, điện - điện tử đang ngày càng có xu thế có khả năng kết nối với hệ thống mạng mạng toàn cầu nhƣ mạng Internet, mạng viễn thông. Đồng thời, các thiết bị điện, điện - điện tử dân dụng còn có khả năng cảm nhận môi trƣờng xung quanh nhƣ nhiệt độ, ánh sáng, chuyển động, năng lƣợng tiêu thụ của mình để thông báo cho bất kỳ thiết bị đầu cuối (máy tính, smartphone, thiết bị cầm tay) và xử lý theo ngữ cảnh phù hợp. Đó chính mục đích hƣớng tới của ngôi nhà thông minh.
Nhƣ vậy, một ngôi nhà thông minh (smarthome) có các thành phần chính nhƣ sau:
Hệ thống chiếu sáng thông minh: hệ thống sẽ thực hiện việc kiểm soát việc bật/tắt thiết bị chiếu sáng theo ngữ cảnh phù hợp
Hệ thống kiểm soát môi trƣờng: hệ thống đo đạc thông số môi trƣờng nhƣ nhiệt độ, độ ẩm, khói, ga,... Số liệu của hệ thống này làm cơ sở quyết định cho các hệ thống chấp hành khác.
Hệ thống kiếm soát thiết bị điện: hệ thống này có chức năng bật/tắt thiết bị điện theo ngữ cảnh, hay theo yêu cầu của ngƣời dùng.
Hệ thống an ninh chống trộm: Hệ thống có camera, cảm biến phát hiện chuyển động, thẻ RFID Khi có xâm nhập bất thƣờng, hệ thống sẽ gửi thông báo nhƣ Loa, gọi điện, gửi tin nhắn,…
Hệ thống cơ sở dữ liệu: Lƣu trữ dữ liệu của toàn bộ hệ thống ngôi nhà thông minh
Hệ thống phần mềm quản trị và giao tiếp ngƣời dùng: Cung cấp giao diện giao tiếp giữa hệ thống ngôi nhà thông minh với ngƣời dùng.
Hệ thống đo lƣờng năng lƣợng tiêu thụ của thiết bị điện: Đo lƣờng năng lƣợng tiêu thụ điện của các thiết bị điện trong nhà để từ đó đƣa ra đƣợc khuyến cáo sử dụng tiết kiệm năng lƣợng điện cho từng thiết bị.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hệ thống kết nối với mạng truyền thông: cung cấp giao diện kết nối ngôi nhà thông minh với mạng truyền thông khác nhƣ mạng Internet hay mạng viễn thông.
Trong luận văn này, tác giả sẽ nghiên cứu và xây dựng mô hình hệ thống ngôi nhà thông minh với khả năng kết nối với mạng IP sử dụng CoAP, giám sát môi trƣờng, quản lý thiết bị điện, chiếu sáng, an ninh chống trộm, đo năng lƣợng tiêu thụ của thiết bị điện.
3.2. Thiết kế phần cứng mô hình hệ thống ngôi nhà thông minh 3.2.1. Sơ đồ mặt bằng mô hình ngôi nhà thông minh
Hình 3.1. Sơ đồ mặt bằng mô hình ngôi nhà thông minh
Qua hình 3.1, ta thấy rằng mô hình ngôi nhà thông minh gồm 4 phòng phòng khách, phòng bếp, phòng ngủ và WC. Với mỗi phòng, các cảm biến đƣợc
bố trí
nhƣ sau:
Phòng khách:
- Cảm biến nhiệt độ cung cấp dữ liệu về nhiệt độ để điều khiển bật/tắt quạt hoặc điều hòa qua mạng.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Cảm biến ánh sáng thu thập số liệu ánh sáng để thực hiện việc bật/tắt đèn qua mạng.
- Cảm biến chuyển động để phát hiện xâm nhập, cánh báo cho hệ thống an ninh chống trộm, bật đèn.
- Module đo năng lƣợng tiêu thụ của thiết bị điện Phòng bếp:
- Cảm biến nhiệt độ cung cấp dữ liệu về nhiệt độ để điều khiển bật/tắt quạt qua mạng
- Cảm biến ánh sáng thu thập dữ liệu ánh sáng để bật/tắt đèn qua mạng. - Cảm biến chuyển động phát hiện có ngƣời vào phòng
- Cảm biến khí, gas để phát hiện khói, khí gas để đƣa ra những cảnh báo phù hợp.
- Chuông báo cháy
- Module đo năng lƣợng tiêu thụ của thiết bị điện Phòng ngủ:
- Cảm biến nhiệt độ cung cấp nhiệt độ để điều khiển bật/tắt thiết bị điện nhƣ quạt, điều hòa.
- Module đo năng lƣợng tiêu thụ của thiết bị điện
Nhƣ vậy, với mô hình hệ thống ngôi nhà thông minh này đã bao gồm đƣợc những hệ thống chính của mô hình ngôi nhà thông minh nhƣ: hệ thống chiếu sáng, hệ thống kiểm soát môi trƣờng, hệ thống điều khiển thiết bị điện, hệ thống đo năng lƣợng tiêu thụ, hệ thống kết nối với mạng truyền thông và hệ thống cơ sở dữ liệu.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3.2.2. Sơ đồ ngữ cảnh mô hình ngôi nhà thông minh
a) Sơ đồ ngữ cảnh minh họa kết nối của thiết bị trong mô hình
b) Sơ đồ ngữ cảnh minh họa theo vùng mạng cảm biến không dây Hình 3.2. Sơ đồ ngữ cảnh mô hình ngôi nhà thông minh
a) Sơ đồ ngữ cảnh minh họa kết nối của thiết bị trong mô hình b) Sơ đồ ngữ cảnh minh họa theo vùng mạng cảm biến không dây
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Qua hình 3.2, chúng ta thấy rằng nhiều hệ thống có thể đƣợc tích hợp trên 1 nút cảm biến với nhiều tham số khác nhau. Tức là, trên 1 nút cảm biến có thể gồm cả chiếu sáng, hệ thống giám sát môi trƣờng hay điều khiển thiết bị điện. Bởi vậy, việc phân biệt giữa các hệ thống chỉ mang tính chất tƣơng đối.
Trong hệ thống này, tác giả sử dụng truyền thông không dây theo chuẩn Xbee, và Zolertia. Để truyền thông và kết nối với mạng IP, tác giả triển khai cài đặt giao thức CoAP. Với hệ thống giao thức này sẽ cho phép chúng ta có thể thu thập và điều khiển thiết bị điện qua mạng Internet thông qua máy tính hay smartphone.
3.2.3. Các module chính của mô hình ngôi nhà thông minh 3.2.3.1. Module kết nối với Internet 3.2.3.1. Module kết nối với Internet
Module kết nối Interent đóng vai trò nhƣ một máy tính có khả năng kết nối Interent, theo chuẩn IPv4. Khối kết nối Interent này có nhiệm vụ nhƣ một nút sink, tức là nó có nhiệm vụ chuyển đổi giao diện kết nối giữa mạng cảm biến với với mạng Interent. Thông qua, khối kết nối Internet này ngƣời dùng có thể thu thập số liệu, hoặc giám sát và điều khiển từng thiết bị trên nút đó đang quản lý.
Hình 3.3. Sơ đồ khối moudle kết nối Internet với mạng cảm biến của mô hình ngôi nhà thông minh
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 3.4. Module kết nối Interenet của mô hình ngôi nhà thông minh
3.2.3.2. Các module thu thập và điều điều khiển thiết bị
Các module này thực hiện việc thu thập số liệu của môi trƣờng thông qua các cảm biến ánh sáng, nhiệt độ, khói, gas, chuyển động. Đồng thời, các module này có khả năng điều khiển thiết bị điện theo yêu cầu của ngƣời dùng gửi tới qua môi trƣờng mạng. Các module này đƣợc liên kết với qua môi trƣờng không dây để truyền dữ liệu tới nút sink/module kết nối Interenet.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 3.5. Các module thu thập và điều khiển thiết bị của
mô hình ngôi nhà thông minh
3.2.3.3. Module đo năng lƣợng tiêu thụ của thiết bị
Trong luận văn này, tác giả sử dụng cảm biến dòng 5A để thực hiện việc đo dòng điện tiêu thu của thiết bị điện. Đề từ đó xác định đƣợc công suất tiêu thụ hiệu dụng của thiết bị điện đó. Moulde này có thể đƣợc ghép chung với các module điều khiển thiết bị điện để thực hiện việc đo dòng tiêu thụ của thiết bị điện đó tại từng thời điểm.
3.3. Thiết kế phần mềm mô hình hệ thống ngôi nhà thông minh 3.3.1. Đặc tả các yêu cầu của hệ thống
Tính dễ sử dụng: Giao diện phần mềm trực quan dễ hiểu, các nút điều khiển có kích thƣớc phù hợp và đƣợc sử dụng icon thể hiện chức năng thay cho text.
Độ an toàn và bảo mật của hệ thống: Hệ thống đƣợc bảo mật bằng tài khoản ngƣời dùng và có phân cấp quyền sử dụng.
Tính thuận tiện: Giao diện dễ nhìn, các nút nhấn, đƣờng dẫn, thực đơn đƣợc bố trí hợp lí, hệ thống cần cung cấp các phím nóng để ngƣời dùng nâng cao có thể tăng tốc độ làm việc.
Yêu cầu về độ tin cậy của hệ thống: Hệ thống phải đảm bảo đƣợc sự ổn định, không để xảy ra các xung đột phần cứng hay phần mềm
Yêu cầu môi trƣờng:
- Máy tính phải có kết nối đƣờng truyền truy cập Internet.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Googlechrome..
- Thiết bị di động phải có kết nối Internet và chạy hệ điều hành Android. - Thiết bị di động phải đƣợc cài đặt phần mềm quản lý.
Yêu cầu chức năng: Hệ thống quản lý đƣợc các vùng mạng cảm biến khác nhau/các phòng. Xem đƣợc thông tin về môi trƣờng, cũng nhƣ điều khiển thiết bị điện
3.3.2. Biểu đồ lớp của hệ thống
Biểu đồ lớp mức hệ thống là biểu đồ mô tả tổng quát nhất các hoạt động của hệ thống trong đó hệ thống nhận các yêu cầu từ ngƣời dùng thông qua lớp giao diện nhƣ , đăng nhập, quản lí phòng, quản lý thông tin ngƣời dùng. Hệ thống xử lí các yêu cầu này và hồi đáp lại ngƣời sử dụng.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3.4. Các thuật toán quản lý mô hình ngôi nhà thông minh 3.4.1. Thuật toán điều khiển thiết bị
Hình 3.9. Lưu đồ thuật toán gửi lệnh điều khiển thiết bị
3.4.2. Thuật toán gửi số liệu lên máy chủ
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3.4.3. Thuật toán gửi số liệu của nút cảm biến tới nút sink
Hình 3.11. Lưu đồ thuật toán gửi số liệu từ nút cảm biến tới nút sink
3.3. Một số hình ảnh của mô hình ngôi nhà thông minh