Trong quá trình tìm hiểu để xây dựng đề cương cho luận văn, học viện nhận thấy việc cần xây một ứng dụng để hiển thị các dữ liệu thu thập được từ các cảm biến môi trường và điều khiển một số cơ cấu đơn giản của hệ thống giám sát cảnh báo cháy cho hộ gia đình. Ứng dụng sẽ có định dạng đơn giản, chạy trên web và hỗ trợ giao thức vận chuyển dữ liệu phổ biến như MQTT, và Node RED là một nền tảng khá phù hợp cho yêu cầu này. Đây là một công cụ lập trình dùng để kết nối các thiết bị phần cứng, API và các dịch vụ trực tuyến với nhau, có thể thấy rằng Node RED là một công cụ trực quan được thiết kế cho hệ thống IOT nói chung và nhà thông minh nói riêng.
38
Hình 2.13: Ứng dụng của Node RED trong IoT
Node RED cung cấp cho lập trình viên một trình soạn thảo dựa trên trình duyệt giúp dễ dàng kết nối các luồng với nhau bằng cách sử dụng một loạt các node trong palette. Bản thân học viên không chuyên sâu về các ngôn ngữ lập trình gần với ngôn ngữ máy, cách lập trình trên nền kéo thả của Node RED sẽ giúp giảm đáng kể thời gian xây dựng ứng dụng. Chương trình phần mềm của Node RED cũng rất dễ dàng nhúng các API, các thư viện mở của bên thứ ba như API phục vụ đẩy dữ liệu lên MongoDB hay các thư viện kết hợp với Watson IoT để nâng cao trải nghiệm điều khiển của người sử dụng. Nhờ các yếu tố kể trên mà ứng dụng của luận văn có thể được mở rộng sau này mà không gặp quá nhiều khó khăn.
Để thiết lập hoạt động của Node RED cần chuẩn bị môi trường có hệ điều hành Ubuntu để khởi chạy hệ thống. Đây là một hệ điều hành mã nguồn mở với rất nhiều tiện ích và là hệ điều hành thích hợp để phát triển các tính năng của hệ thống IoT nói chung và nhà thông minh trên nền tảng Node RED nói riêng. Ubuntu hoàn toàn miễn phí, và được chia sẻ rộng rãi trên trang chủ của Ubuntu với bản cập nhật mỗi sáu tháng một lần và luôn tăng cường bảo mật. Cách cài đặt Ubuntu vào máy tính cũng tương đối dễ dàng. Ngoài ra, người dùng cũng có thể chỉnh sửa tùy ý, sao chép hoặc cải tiến nó với giấy phép từ GNU GPL. Ubuntu hoạt động khá hiệu quả và tiêu tốn cực ít dung lượng phần cứng, đây là một điểm then chốt khi phát triển các thiết bị trong nhà thông minh bởi cần sự nhỏ gọn và tiết kiệm năng lượng. Điều này sẽ gia tăng tốc độ hoạt động của các máy tính đồng thời tăng hiệu suất hệ thống. Theo nhận định của nhiều chuyên gia về công nghệ thì cơ chế bảo mật của Ubuntu cao hơn so với Windows.
39
$ sudo apt-get install node.js –y #cai dat node.js# $ sudo apt-get install nodejs-legacy #legacy
$ sudo apt-get install git -y
$ git clone https://github.com/node-red/node-red.git $ cd node-red
$ sudo npm install n -g $ sudo n stable
$ cd ..
$ sudo npm install -g grunt-cli $ cd node-red
$ grunt build $ node red
Sau khi gói cài đặt được thiết lập, màn hình sẽ đưa ra thông báo sau:
Hình 2.14: Cài đặt thành công gói Node RED
Khi cài đặt thành công có thể truy cập vào Node RED ở đường dẫn http://127.0.0.1:1880/#, tiếp theo cần tiến hành thiết lập đăng nhập và khởi động Node RED tự động, đây là một tùy chọn khi cài trên ubuntu 16.04, người sử dụng cần tạo một service Node RED với với lệnh:
$ sudo nano /etc/systemd/system/node-red.service Tiếp theo tiến hành cấu hình các trường khi làm việc trong Node RED [Unit]
Description=Node-RED
After=syslog.target network.target [Service]
40
ExecStart=/usr/local/bin/node-red-pi--max-old-space- size=128 -v
Restart=on-failure KillSignal=SIGINT
# log output to syslog as 'node-red' SyslogIdentifier=node-red
StandardOutput=syslog # non-root user to run as WorkingDirectory=/home/sammy/ User=PhuongHN
Group=PhuongHN [Install]
WantedBy=multi-user.target
Thực hiện lệnh sau để tự động khởi chạy Node RED: $ sudo systemctl enable node-red
$ sudo systemctl start node-red #auto run# Nếu muốn dừng chạy tự động khởi động thì thực hiện lệnh:
$ sudo systemctl stop node-red #stop node red# Thiết lập tài khoản và mật khẩu đăng nhập.
$ nano ~/.node-red/settings.js Thiết lập tài khoản đăng nhập:
adminAuth: { type: "credentials", users: [{ username: "admin", password: "admin", permissions: "*" }] },
41
Hình 2.15: Màn hình làm việc chính của Node RED
Khi các thiết lập đã hoàn tất truy cập vào địa chỉ của Node RED là đã có thể tiến hành sử dụng.
2.6 Kết luận
Chương 2 của luận văn học viên đã trình bày được các đặc điểm của hệ thống IoT và xu hướng phát triển của hệ thống, đồng thời cũng giới thiệu được hai chuẩn thiết bị IoT theo IEC và ITU-T. Cũng trong chương này học viên đã trình bày được đặc điểm của mô hình hệ thống IoT các kết nối chính trong hệ thống, đặc biệt là các giao thức trao đổi dữ liệu gồm có mysensor, MQTT, domoticz cùng với một số chuẩn giao tiếp không dây nổi bật gồm bluetooth, wifi, lora. Cuối cùng là giới thiệu về Node RED, cách thức cài đặt cũng như cấu hình của trình xây dựng ứng dụng này.
42
CHƯƠNG 3: THIẾT KẾ CHẾ TẠO THỬ NGHIỆM HỆ THỐNG IOT PHỤC VỤ GIÁM SÁT CẢNH BÁO CHÁY CHO HỘ GIA
ĐÌNH
Chương 3 sẽ trình bày về thiết kế chế tạo thử nghiệm hệ thống giám sát cảnh báo cháy dựa trên công nghệ giao tiếp không dây wifi và các cảm biến thu thập dữ liệu môi trường, với ứng dụng người dùng sẽ được xây dựng trên nền tảng Node RED. Cũng trong chương này học viên sẽ tiến hành thử nghiệm và đánh giá khả năng hoạt động của hệ thống.