2.2.1. Sơ lƣợc chung về ZLL.[4]
Zigbee Light Link đƣợc phát triển bởi hiệp hội cho Zigbee Pro để thực hiện những giải pháp về chiếu sáng. ZLL ứng dụng chuẩn ID là 0xC05E và chuẩn này đƣợc định nghĩa trọng đặc điểm kỹ thuật của chuẩn ZLL. ZLL là một chuẩn của Zigbee chỉ dành riêng cho hệ thống điều khiển chiếu sáng. Trong chuẩn ZLL, đã định nghĩa chức năng của từng nhóm thiết bị chiếu sáng và đặt địa chỉ ID cho từng
42
nhóm thiết bị đó (nhóm thiết bị bật/tắt đèn chiếu sáng, nhóm điều chỉnh độ sáng của đèn, nhóm thiết bị điều khiển…). Khi thiết kế hệ thống, ngƣời sử dụng chỉ việc đặt ID cho thiết bị chiếu sáng thì các chức năng sẽ đƣợc cài đặt (Ví dụ nhƣ: ID của thiết bị bật/tắt là 0x0000, ID của thiết bị điều chỉnh độ sáng đèn là 0x0100…). Bên cạnh đó, ZLL có thƣ viện hỗ trợ, khi thiết kế hệ thống ngƣời sử dụng chỉ việc gọi các hàm đã đƣợc xây dựng trong thƣ viện (Ví dụ nhƣ: hàm khởi tạo mạng: network start request inter-PAN, hàm cho phép Router gia nhập mạng: network join router request inter-PAN … ). Chính vì vậy, ZLL giúp ngƣời thiết kế hệ thống đƣợc thuận tiện và đơn giản hóa hơn.
2.2.1.1. Mục tiêu của ZLL.
ZLL mang đến giải pháp công nghệ chiếu sáng không dây cho tòa nhà, nó mở ra một thế giới chiếu sáng mới cho khách hàng sự thân thiện và tiện dụng.
Mục tiêu của ZLL có thể kể ra sau:
- Cung cấp một cách dễ dàng và trực quan kinh nghiệm cài đặt.
- Cung cấp cho khách những tính năng mới và phong phú, bao gồm điều khiển từ xa, điều khiển theo thời gian và theo nhạc điệu.
- Tiết kiệm năng lƣợng thông qua cảm biến phát hiện vật và giám sát năng lƣợng. - Cung cấp một khung làm việc cho sự tƣơng tác giữa các sản phẩm của các nhà sản xuất khác nhau.
2.2.1.2. Chức năng của ZLL.
Mạng ZLL là một mạng không dây với hai nút chính, chúng đƣợc dùng để truyền lệnh điều khiển, nhận và thực hiện lệnh điều khiển.
Nút điều khiển:
+ bật/tắt đèn.
+ Cảm biến phát hiện vật. + Khối điều khiển từ xa. + Điện thoại thông minh.
43
Nút chấp hành:
+ Đèn đơn sắc. + Đèn màu.
Một hoặc nhiều đèn đƣợc điều khiển (bật, tắt, điều chỉnh độ sáng, điều chỉnh màu) từ một nút điều khiển trong mạng. Ví dụ nhƣ: ngƣời sử dụng có thể chọn điều chỉnh độ sáng của một đèn bàn cạnh ti vi từ một cái điều khiển từ xa trong khi vẫn đang ngồi trên ghế sofa.
- Chức năng của mạng ZLL là điều khiển từ xa bật, tắt và điều chỉnh độ sáng của đèn:
+ Đèn màu: Những tiến bộ trong công nghệ LED, dẫn đến sự gia tăng của đèn LED trong chiếu sáng, bao gồm cả đèn màu. ZLL có thể cũng đƣợc sử dụng để điều khiển thiết lập màu đèn.
+ Chiếu sáng theo nhạc điệu: ZLL cho phép hệ thống chiếu sáng có thể đƣợc điều chỉnh theo nhạc điệu hoặc theo quang cảnh không gian.
- Có thể lập trình theo thời gian: Hệ thống có thể lập trình để tự động điều chỉnh độ sáng vào một thời gian nhất định.
- ZLL cho phép hệ thống chiếu sáng trong nhà đƣợc kết nối và điều khiển qua mạng internet. Có thể kết nối với hệ thống từ điện thoại thông minh, máy tính bảng, máy vi tính bên trong hoặc bên ngoài nhà qua một IP Router.
44
Hình 2.8. Hệ thống ZLL.
2.2.1.3. Cấu trúc mạng.
ZLL là một chuẩn ứng dụng mở đƣợc phát triển bởi hiệp hội Zigbee để hỗ trợ các giải pháp về chiếu sáng dựa trên giao thức mạng không dây Zigbee PRO. Tuy nhiên, không giống nhƣ một mạng Zigbee PRO thông thƣờng, một mạng ZLL không có nút Zigbee Coordinator (nút chủ hay nút điều phối). Thay vào đó, sự hình thành mạng và sự tham gia vào mạng đƣợc thực hiện bằng việc sử dụng một ứng dụng vận hành đặc biệt, nó đƣợc sử dụng trên một số nút nào đó (thƣờng là khối điều khiển từ xa).
Cấu trúc mạng lƣới (mắt cá) đƣợc sử dụng. Bởi vậy tối đa hóa trong việc định tuyến, tất cả các nút của mạng ZLL đều có thể trở thành nút định tuyến Zigbee. Ứng dụng của nhà sản xuất chạy trên một nút ZLL cung cấp giao diện giữa chuẩn phần mềm và phần cứng ZLL của một nút.
45
2.2.1.4. Tiết kiệm năng lƣợng.
Hệ thống ZLL có tính tiết kiệm năng lƣợng và kết hợp với chi phí thấp cho hộ gia đình. Và đƣợc thể hiện ở những khía cạnh:
+ Quang cảnh và thời gian: Năng lƣợng điện đƣợc tiết kiệm qua cấu hình chặt chẽ về quang cảnh và thời gian.
+ Cảm biến phát hiện vật: Cảm biến hồng ngoại hoặc cảm biến chuyển động đƣợc sử dụng để bật đèn khi phát hiện ngƣời (và tắt đèn sau một thời gian không phát hiện thấy ngƣời). Đây là phƣơng pháp hữu dụng để điều khiển ánh sáng trong hành lang, gara, bên ngoài trời.
+ Giám sát năng lƣợng: khi sử dụng kết hợp với chuẩn Zigbee cho tự động hóa tòa nhà thì sự tiêu thụ năng lƣợng của mạng ZLL sẽ đƣợc giám sát.
2.2.1.5. Cấu trúc phần mềm.
ZLL hoạt động kết hợp với giao thức mạng không dây Zigbee PRO. Ngăn xếp phần mềm chạy trên mỗi nút ZLL đƣợc minh họa ở hình dƣới:
Hình 2.9. Ngăn xếp phần mềm ZLL.
Những tính năng chính của ngăn xếp trên nhƣ sau:
- Các nhà sản xuất sử dụng chuẩn ZLL để ghép nối ngăn xếp lớp Zigbee Pro phía dƣới với phần điều khiển phần cứng chiếu sáng của nút. Nó bao gồm:
+ ZLL Commissioning. + Bảo mật ZLL.
46 + Tài nguyên ZLL.
2.2.1.6. Địa chỉ mạng.
Mạng ZLL sử dụng 16 bit địa chỉ mạng để xác định nút. Cách xác định địa chỉ mạng cho nút trong mạng ZLL không đƣợc thực hiện giống nhƣ mạng Zigbee PRO thông thƣờng, mà đƣợc xác định một cách không ngẫu nhiên. Chỉ duy nhất một thiết bị mạng ZLL có thể xác định địa chỉ mạng, từ một dải địa chỉ xác định. Nếu một thiết bị điều khiển khác đƣợc đƣa vào mạng, nó sẽ đƣợc nhận một phần của dải địa chỉ để xác định vị trí của nó. Phần địa chỉ đó sẽ đƣợc chỉ rõ trong yêu cầu gia nhập mạng cho nút mới.
2.2.1.7. Bảo mật.
ZLL không sử dụng chế độ bảo mật Zigbee trong chuẩn của nó, bởi trong hệ thống ZLL không có Nút chủ hay nhóm trung tâm. ZLL sử dụng một mạng với mức bảo mật mà giống nhƣ một mạng khóa, nó đƣợc sử dụng trong tất cả các nút của mạng để mã hóa/giải mã truyền thông giữa chúng.
Khóa mạng đƣợc tạo ra ngẫu nhiên bởi một nút khởi tạo khi mạng đƣợc hình thành và là duy nhất trong mạng. Sự phân bố của khóa mạng để các nút gia nhập mạng đƣợc bảo mật bằng cách sử dụng khóa chính ZLL đã đƣợc cài đặt sẵn trong tất cả các nút trong quá trình xây dựng hệ thống.
Sự bảo mật đƣợc cài đặt quy trình trong quá trình vận hành của nút (sau khi nút đƣợc phát hiện và đƣợc mạng chấp nhận) nhƣ sau:
1. Nếu nút đích là nút đầu tiên của mạng (sự hình thành mạng), các nút khởi tạo tạo ra một khóa mạng ngẫu nhiên và mã hóa nó sử dụng khóa chủ ZLL (và lƣu trữ khóa mạng đã mã hóa)
2. Nút khởi tạo gửi khóa mạng đã đƣợc mã hóa đến nút đích nhƣ một phần yêu cầu để tạo hoặc tham gia nhóm.
3. Nút đích giải mã khóa mạng nhận đƣợc bằng cách sử dụng khóa chủ (chính) ZLL.
4. Tất cả các giao tiếp trong của các nút trong tƣơng lai sẽ đƣợc mã hóa với khóa mạng.
47
2.2.1.8. Kết nối Internet.
ZLL cung cấp khả năng điều khiển chiếu sáng trong một hệ thống ZLL qua internet. Vì vậy, việc điều khiển này có thể thực hiện ở bất kỳ nơi đâu có internet và thiết bị kết nối internet (máy tính cá nhân, máy tính bảng, điện thoại thông minh).
Để kết nối đƣợc với internet hệ thống ZLL phải bao gồm một IP Router hoặc một Gateway hoạt động nhƣ là một nút của hệ thống.
Ngoài khả năng điều khiển theo thời gian thực trên internet, hệ thống còn có thể đƣợc cấu hình qua một thiết bị kết nối internet.
2.2.2. Những bƣớc phát triển hệ thống ZLL.
Những bƣớc chính khi phát triển hệ thống cho một ứng dụng ZLL cũng giống nhƣ một ứng dụng Zigbee Pro nào đó, bao gồm các bƣớc sau:
1. Cấu hình mạng: cấu hình những thông số của mạng Zigbee cho những nút trong mạng sử dụng ZPS Configuration Editer.
2. Cấu hình hệ điều hành: sử dụng JenOS Configuration Editer.
3. Phát triển mã ứng dụng(lập trình cho các nút trong mạng): phát triển mã ứng dụng cho các nút của bạn sử dụng Zigbee Pro APIs, JenOS APIs, ZLL API và ZCL.
4. Xây dựng úng dụng (chuyển trƣơng chình lập trình sang mã máy): chuyển các chƣơng trình lập trình sang mã nhị phân cho các nút trong mạng sử dụng trình biên dịch JN51xx.
5. Chƣơng trình lập trình nút: tải các chƣơng trình nhị phân vào trong bộ nhớ của các nút sử dụng JN516x Flash programmer.
2.2.3. Khởi tạo mạng, gia nhập và rời mạng.[8] 2.2.3.1. Khởi tạo một mạng mới. 2.2.3.1. Khởi tạo một mạng mới.
Thiết bị khởi tạo:
Trong quá trình tìm kiếm thiết bị, thiết bị khởi tạo sẽ tìm đƣợc thiết bị đích phù hợp. Để tạo một mạng mới, thiết bị khởi tạo sẽ tạo ra một mạng và bắt đầu gửi đi một yêu cầu với khung lệnh inter-PAN nhƣ sau:
48
Thiết bị khởi tạo sẽ thiết lập các chỉ số quan trọng và mã hóa những trƣờng chỉ số phù hợp của khung lệnh yêu cầu khởi tạo mạng inter- PAN.
Thiết bị khởi tạo sẽ thiết lập trƣờng địa chỉ mạng của khung lênh network start request inter- PAN để lựa chọn địa chỉ mạng với các thiết bị đích sẽ hoạt động trên mạng đó. Nếu giá trị của thuộc tính aplFreeNwkAddrRangeBegin là 0x0000, thiết bị khởi tạo sẽ ngẫu nhiên tạo ra địa chỉ theo cơ chế Zigbee truyền thống. Nếu giá trị của thuộc tính aplFreeNwkAddrRangeBegin không phải là 0x0000, thiết bị khởi tạo sẽ gửi đến thiết bị đích địa chỉ bắt đầu aplFreeNwkAddrRange Begin và tăng giá trị. Thiết bị đích sẽ không thay đổi giá trị mạng trừ khi nó rời mạng và gia nhập mạng khác hoặc có xung đột địa chỉ.
Nếu các thiết bị đích chỉ ra rằng nó đã đƣợc xác định địa chỉ trong khung lệnh đáp ứng quét inter- PAN và giá trị của thuộc tính aplFreeNwkAddrRangeBegin
không phải là 0x0000, thiết bị khởi tạo sẽ tạo ra một dải địa chỉ mạng và nhóm để cho các thiết bị đích sử dụng.
Cuối cùng, thiết bị khởi tạo sẽ thiết lập địa chỉ khởi tạo IEEE và khởi tạo trƣờng địa chi mạng của khung lệnh yêu cầu khởi tạo mạng inter-PAN để địa chỉ IEEE và địa chỉ mạng đƣợc sử dụng trong mạng mới.
Thiết bị đích:
Khi nhận đƣợc một khung lệnh yêu cầu khởi tạo mạng inter-PAN với một giá trị danh định phù hợp, thiết bi đích sẽ quyết định bởi một ứng dụng cụ thể để có nên tham gia vào mạng mới hay không. Nếu thiết bị đích quyết định không tham gia mạng mới, nó sẽ tạo ra một khung lệnh đáp ứng inter- PAN với một trạng thái chỉ thị là lỗi và gửi lại cho thiết bị khởi tạo.
Nếu thiết bị đích quyết định tham gia mạng, nó sẽ kiểm tra PAN danh định và PAN danh định mở rộng và các trƣờng kênh hợp lý. Đối với từng trƣờng, nếu giá trị của trƣờng là không, thiết bị đích sẽ xác định một giá trị phù hợp. Sau đó, thiết bị đích sẽ tạo ra một khung lênh network start response inter-PAN với trạng thái chỉ thị thành công và gửi lại cho thiết bị khởi tạo.
49
Nếu thiết bị đích không còn nguyên gốc, nó phải thực hiện yêu cầu rời khỏi mạng cũ. Thiết bị đích phải đảm bảo rằng các tham số mạng cũ của nó đã đƣợc thiết lập về giá trị mặc định. Sau đó thiết bị đích nhận những tham số của mạng mới và bắt đầu hoạt động trong mạng mới.
Trình tự khởi tạo một mạng mới:
Hình 2.10. Quá trình khởi tạo mạng mới.
2.2.3.2. Khởi tạo thiết bị. End Device:
Khi khởi tạo, một nút End Device nguyên gốc sẽ không đƣợc kích hoạt gia nhập vào mạng Zigbee bằng cách tìm một mạng mới. Thay vào đó, nó sẽ chọn một kênh ZLL gốc và đợi một ứng dụng đƣa ra yêu cầu để bắt đầu thiết lập. Chú ý rằng, ứng dụng sẽ quyết định cách tốt nhất để kích hoạt thiết lập.
Nếu nút End Device không còn nguyên gốc, nó sẽ khôi phục lại những tính năng của mạng Zigbee dựa vào những thông tin đƣợc lƣu trữ trong NVRAM bằng cách thực hiện các bƣớc gia nhập lại mạng Zigbee. Sau khi End Device gia nhập lại thành công nó sẽ gửi một khung lệnh Device_annce, khung lệnh này sẽ đƣợc gửi đến tất cả các thiết bị trong mạng để thiết lập macRxOnWhenIdle là True.
50
Router:
Nếu Router còn nguyên gốc, đầu tiên nó phải chắc chắn rằng
macRxOnWhenIdle đã đƣợc thiết lập là True và nó sẽ lựa chọn ngẫu nhiên một kênh ZLL gốc, điều chỉnh nó và nó đƣợc chấp nhận, chờ một lệnh thiết lập.
Nếu Router không còn nguyên gốc, nó sẽ phục hồi lại những tính năng của mạng Zigbee dựa vào những thông tin đƣợc lƣu trữ trong NVRAM bằng cách mạng Zigbee thực hiện định tuyến. Nó thực hiện việc này bằng cách gửi đi một yêu cầu gốc NLME-START- ROUTER tới lớp NWK. Sau khi Router khởi tạo thành công, nó sẽ gửi một khung lệnh Device_annce, khung lệnh này sẽ đƣợc gửi đến tất các thiết bị trong mạng để thiết lập macRxOnWhenIdle là True.
2.2.3.3. Router tham gia mạng. Thiết bị khởi tạo:
Trong hoạt động tìm kiếm thiết bị, thiết bị khởi tạo sẽ tím thấy Router đích. Để đƣa thiết bị đích và mạng, thiết bị khơi tạo sẽ tạo ra một khung lệnh network join router request inter-PAN nhƣ sau.
Thiết bị khởi tạo sẽ thiết lập trƣờng địa chỉ mạng của khung lệnh network join router request inter-PAN để lựa chọn địa chỉ mạng cho thiết bị đích hoạt động trong mạng.
Nếu thiết bị đích xác nhận địa chỉ đƣợc chỉ định trong khung lệnh scan response inter-PAN và giá trị của thuộc tính aplFreeNwkAddrRangeBegin không là 0x0000, thì thiết bị khởi tạo chỉ ra một dải địa chỉ mạng và nhóm danh định cho thiết bị đích sử dụng.
Thiết bị đích:
Khi nhận đƣợc một khung lệnh network join router request inter-PAN với một giá trị phù hợp, thiết bị đích sẽ quyết định bởi một ứng dụng cụ thể xem có tham gia lại mạng hay tham gia mạng khác. Nếu thiết bị đích không tham gia mạng, nó sẽ tạo ra một khung lệnh networkjoin router response inter-PAN với trạng thái chỉ thị lỗi và gửi lại cho thiết bị khởi tạo. Nếu thiết bị đích quyệt định tham gia
51
mạng, nó sẽ tạo ra một khung lệnh network join router response inter-PAN với trạng thái chỉ thị thành công và gửi lại cho thiết bị khởi tạo.
Trình tự Router tham gia mạng:
Hình 2.11. Quá trình Router tham gia mạng.
2.2.3.4. End Device tham gia mạng. Thiết bị khởi tạo:
Trong hoạt động tìm kiếm thiết bị, thiết bị khởi tạo sẽ tìm thấy End Device đích. Để đƣa thiết bị đích vào mạng, thiết bị khơi tạo sẽ tạo ra một khung lệnh
network join End Device request inter-PAN nhƣ sau.
Thiết bị khởi tạo sẽ thiết lập trƣờng địa chỉ mạng của khung lệnh network join End Device request inter-PAN để lựa chọn địa chỉ mạng cho thiết bị đích hoạt động trong mạng.
Nếu thiết bị đích xác nhận địa chỉ đƣợc chỉ định trong khung lệnh scan response inter-PAN và giá trị của thuộc tính aplFreeNwkAddrRangeBegin không là 0x0000, thì thiết bị khởi tạo chỉ ra một dải địa chỉ mạng và nhóm danh định cho thiết bị đích sử dụng.
52
Thiết bị đích:
Khi nhận đƣợc một khung lệnh network join End Device request inter-PAN với một giá trị phù hợp, thiết bị đích sẽ quyết định bởi một ứng dụng cụ thể xem có tham gia lại mạng hay tham gia mạng khác. Nếu thiết bị đích không tham gia mạng, nó sẽ tạo ra một khung lệnh networkjoin End Device response inter-PAN với trạng thái chỉ thị lỗi và gửi lại cho thiết bị khởi tạo. Nếu thiết bị đích quyệt định tham gia