LeVanLoi'log, ⌚ 2017-11-08
***
IOCV Simulation 2017: Smart Home (Ngôi nhà thông minh)
Tác giả: Lê Văn Lợi
Đề bài của nhóm Simulation gửi cho cộng đồng IOCV (IoT Open Community for Vietnam).
Ngày đăng: 8-11-2017.
Smart Home (Ngôi nhà thông minh)
Đặt vấn đề:
Đề bài của Smart Home là thiết kế và vận hành một bộ điều khiển/đọc thông tin các thiết bị trong một tòa nhà cho phép chủ nhà bật/tắt đèn, bật/tắt-tăng/giảm điều hòa nhiệt độ, quan sát camera an ninh,... Việc điều khiển hoặc đọc thông tin được thực hiện từ máy PC, máy tính bảng hoặc Smartphone thông qua mạng Internet. Đặc tả yêu cầu (Requirement Specification) cho bộ điều khiển chỉ dừng ở mức đơn giản. Thiết bị là một hộp hình khối mỏng dẹt (cỡ của một chiếc máy tính bảng). Bên ngoài phía mặt trước có một đèn led chỉ thị có nguồn hay không và một nút dùng tắt/bật nguồn. Thiết bị được cài đặt thông qua một máy tính kết nối với thiết bị bằng USB. Về phần mềm, hệ thống được yêu cầu là thiết kế có bảo mật thông tin và có kiểm soát tránh đụng độ (tránh đụng độ: 2 người không được phép điều khiển đồng thời một thiết bị). Về kết nối với các thiết bị: ưu tiên kết nối không dây. Chúng ta đặt tên thiết bị này là Domics. Mối liên kết được thể hiện như trong hình vẽ sau:
Diễn giải:
- Người dùng sử dụng 1 app (hoặc giao tiếp web) trên PC/Tablet/Smartphone có kết nối Internet để xem hoặc điều khiển các thiết bị ở nhà mình;
- Tín hiệu sẽ được truyền/nhận qua mạng Internet kết nối với Domics, sử dụng bộ giao thức TCP/IP. Việc truyền tin được thực hiện qua modem. Modem kết nối với Domics bằng wi-fi;
- Mỗi Domics có một địa chỉ IP (IPv6, 128 bit). Domics kết nối với các thiết bị trong tòa nhà bằng các giao thức khác, tùy thuộc vào thiết bị tuân thủ giao thức nào. Kết nối có thể hữu tuyến, qua dây cấp nguồn điện hoặc vô tuyến (không dây). Ưu tiên sử dụng Zigbee (chuẩn IEEE 802.15.4: https://en.wikipedia.org/wiki/ZigBee) và Z-Wave (https://en.wikipedia.org/wiki/Z-Wave);
- Domics là một hệ thống nhúng (embedded system), hoạt động độc lập. Hệ thống nhúng thường có phần cứng là bản mạch đơn (Single-Board Microcontroller), bộ nhớ trong SRAM và bộ nhớ ngoài Flash/EEPROM. Trong bước đầu chúng ta nên dựa vào giải pháp Arduino (https://en.wikipedia.org/wiki/Arduino), giải pháp này là giải pháp phần cứng mở và phần mềm nguồn mở. Một tùy chọn khác là chúng ta có thể dựa vào Raspberry Pi (https://en.wikipedia.org/wiki/Raspberry_Pi). Hai tiếp cận này có nhiều điểm tương đồng.
Khuyến cáo nghiên cứu:
Phần cứng: Nhìn vào toàn bộ hệ thống của Smart Home thì chỉ có một vấn đề tương đối mới đối với cộng đồng là phần cứng của Domics. Cụ thể ở đây là hệ thống nhúng phần cứng - hệ thống đơn mạch. Tuy là hệ thống đơn mạch nhưng Domics là một hệ vi xử lý đầy đủ gồm: Bộ xử lý (Processor) – 8 bit, 16 bit, 32 bit, Bộ nhớ trong (RAM), Bus, Bộ nhớ ngoài (Flash, EEPROM), các cổng (serial port, USB port, …), ngoại vi.
Ngoài ra, để điều khiển các thiết bị chấp hành hoặc đọc được thông tin từ các cảm biến (sensor), cộng đồng phải hiểu nguyên lý của các thiết bị mà Domics sẽ phải điều khiển hoặc đọc thông tin.
Khuyến cáo: Nghiên cứu Arduino và Raspberry Pi, mua một bộ Arduino và/hoặc Raspberry Pi.
Phần mềm: Phần mềm của Smart Home chủ yếu gồm:
a) Phần mềm điều khiển phần cài đặt Domics. Phần mềm này chạy trên PC/Tablet. Chúng ta đặt tên là Domics_Set;
b) App được viết để chạy được trên iOs, Android. Chúng ta đặt tên là Domics_App;
c) Giao tiếp Web chạy được trên tất cả các bộ duyệt (Browser). Chúng ta đặt tên là Domics_Web;
d) Hệ điều hành nhúng (Embedded Operating System). Chúng ta đặt tên là Domics_OS.
Các phần mềm trên PC/Tablet/Smartphone, trên Web đều là các vấn đề mà cộng đồng đã quen thuộc. Chỉ duy nhất một vấn đề còn tương đối mới đối với cộng đồng là hệ điều hành nhúng.
Khuyến cáo:
- Đối với các phần mềm chạy trên PC/Tablet/Smartphone và trên Web: cộng đồng sử dụng các công cụ mà mình quen dùng;
- Đối với hệ điều hành nhúng: chúng tôi khuyến cáo nên sử dụng bộ Adruino IDE (Adruino Integrated Development Environment).
Giao thức/Chuẩn: Domics cần phải liên lạc với 2 loại đối tượng.
Loại đối tượng thứ nhất là các phần mềm chạy trên PC/Tablet/Smartphone. Đối với loại đối tượng này Domics cần sử dụng bộ giao thức TCP/IP. Bộ giao thức này đã quen thuộc đối với cộng đồng.
Loại đối tượng thứ hai là các thiết bị trong tòa nhà. Loại đối tượng này rất đa dạng. Hơn nữa, cùng một loại thiết bị, các hãng sản xuất khác nhau có thể tuân theo các giao thức/chuẩn khác nhau.
Vấn đề mà cộng đồng cần tập trung nghiên cứu và nắm bắt là các giao thức/chuẩn kết nối không dây như Zigbee, Z-Wave. Vì sao giao thức/chuẩn kết nối không dây? Vì khi chúng ta tích hợp thiết bị vào tòa nhà thì phần lớn các trường hợp là ngôi nhà đã được xây xong. Chính vì thế nên nếu chúng ta sử dụng giải pháp hữu tuyến chúng ta sẽ phải đi thêm dây vào tòa nhà. Việc này sẽ làm cho tòa nhà xấu đi và phát sinh thêm chi phí. Còn nếu chúng ta sử dụng giải pháp vô tuyến thì chúng ta không cần phải phát sinh thêm các công việc khác.
Khuyến cáo: Tập trung nghiên cứu các giao thức/chuẩn không dây, ưu tiên Zigbee, Z-Wave.