Files
orangepi-rag/markdown/phan-mem-nha-thong-minh-gladys-tren-orange-pi.md
2026-06-11 23:53:48 +07:00

12 KiB

Tiếp tục series bài viết về cài Phần mềm Nhà thông minh trên Orange Pi, theo thứ tự 6 công cụ phần mềm nhà thông minh miễn phí mã nguồn mở tốt nhất 2018,  lẽ ra phần mềm thứ 3 này phải là Calaos. Tuy nhiên, vì Calaos hiện tại chỉ hỗ trợ cho Raspberry và rất ít bản dịch tiếng Pháp nên tôi chuyển qua 1 phần mềm khác cũng xuất xứ từ các nhà phát triển Pháp, đó là Gladys.

Dự án Gladys ( https://gladysproject.com/en/) cũng là một dự án ban đầu phát triển để quản lý các thiết bị thông minh trong nhà dựa trên Raspberry Pi từ năm 2013, đến nay được 5 năm. Người khởi xướng dự án là Pierre-Gilles Leymarie, một lập trình viên người Pháp. Hiện tại đã có hơn 280.000 lượt tải Gladys cho các mục đích sử dụng tại nhà, thương mại hoặc phi thương mại. Gladys được chia sẻ theo bản quyền mã nguồn mở MIT

Bộ sản phẩm Orange Pi One + nguồn thường + thẻ microSD 16 Bộ sản phẩm Orange Pi One + nguồn thường + thẻ microSD 16

Thật tuyệt vời là tôi cũng đã cài được thành công Gladys trên Orange Pi, thiết bị thử nghiệm ngày hôm nay vẫn thế, bạn cần:

Hiện tại trên OrangePi.me đã có combo 3 thiết bị này với giá chỉ có 629k, bạn có thể mua về thử nghiệm bất cứ lúc nào.

Đầu tiên, hãy cài cho nó hệ điều hành, cài Armbian là phổ thông và dễ dàng nhất. Tải bản Armbian phù hợp tại (armbian.com) sau đó flash vào thẻ nhớ. Cài đặt các bước ban đầu cho Armbian, tương tự như đối với cài trên Orange Pi Zero, bạn tham khảo tại đây

Gladys chạy trên nền nodejs do đó bạn phải cài npm và nodejs cho Orange Pi, thông thường cài NPM và NodeJS trên trang chủ của Gladys sẽ yêu cầu cài bản NodeJS tối thiểu là v8.x.x Tuy nhiên, tôi sẽ cài NVM để quản lý node và npm sau đó cài bản npm phù hợp, bản nào không tương thích có thể đổi sang bản khác ngay dễ dàng. Cài NVM như sau

`

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

source .bashrc

nvm ls-remote --lts # Liệt kê các bản LTS để cài

nvm install v8.12.0 # cài bản LTS 8.12.0

`

Gladys dùng MySQL quản lý dữ liệu, do đó bạn cần cài MySQL server vào

`sudo apt-get install mysql-server python build-essential # cài MySQL và các thành phần cần thiết

mysql --version # kiểm tra lại MySQl đã cài chưa

sudo mysql_secure_installation # chạy cài password root cho MySQL

sudo mysql -u root -p # đăng nhập thử vào MySQL bằng password bạn đã đặt bước trên

`

Nếu hiện ra dòng lệnh như sau là thành công

`mysql>

`

Tạo cơ sở dữ liệu cho Gladys

`mysql> CREATE DATABASE gladys CHARACTER SET utf8 COLLATE utf8_general_ci;

`

Sau khi lệnh MySQL thành công, đánh lệnh quit để thoát MySQL, tại command line, tiếp tục cài các thành phần của NPM như grunt-clie, node-gype và pm2 để chạy khi khởi động

`npm install -g grunt-cli node-gyp bcrypt-nodejs pm2

`

OK xong. Giờ clone mã nguồn

`git clone https://github.com/GladysProject/gladys gladys

cd gladys

npm install`

Sau khi cài xong, tạo 1 file .env để lưu biến CSDL

nano .env

Paste nội dung này và thay mật khẩu bằng mật khẩu root của bạn

MYSQL_HOST=localhost

MYSQL_PORT=3306

MYSQL_USER=root

MYSQL_PASSWORD=123456aA@

MYSQL_DATABASE=gladys

Cltr + X để thoát và lưu, sau đó build bản Prod bằng câu lệnh grunt

grunt buildProd

`# Khởi động script của Gladys

node init.js

`

Nếu như bạn gặp lỗi MySQL thì có 2 khả năng xảy ra,

1 là do cài MySQL user root vẫn đang truy cập bằng phuwong thức auth_socket, quay trở lại mysql và chạy câu lệnh sau

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456aA@';

Chú ý mật khẩu cần phải đủ chữ hoa chữ thường kí hiệu đặc biệt để tuân thủ policy của mysql_native_password

2 là do các biến biến MYSQL_USER và MYSQL_PASSWORD chưa được cập nhật, chạy câu lệnh sau ở command line

`export MYSQL_USER=root

export MYSQL_PASSWORD=123456aA@`

Chạy lại Khởi động Gladys

`# Khởi động script của Gladys

node init.js

`

Nếu mọi thứ ngon, sẽ không còn lỗi nào nữa

Tiếp tục start Gladys

`#Start Gladys

node app.js`

Gladys chạy ở trạng thái Production, bạn sẽ có thể truy cập Gladys ở địa chỉ IP:8080, như ảnh dưới đây

Để Gladys chạy mỗi khi khởi động, sử dụng PM như sau

`pm2 startup

pm2 start /root/gladys/app.js --name gladys

pm2 save`

Chèn lại biến MYSQL_USER và MYSQL_PASSWORD mỗi khi khởi động lại

nano /etc/profile.d/gladys.sh

Paste nội dung này

#!/bin/bash

MYSQL_USER=root

MYSQL_PASSWORD=123456a@

export MYSQL_USER

export MYSQL_PASSWORD

Chúc các bạn thành công 🙂 Sẽ sớm có video hướng dẫn đầy đủ trên kênh Youtube chính thức của Orange Pi

https://www.youtube.com/channel/UCl0lVmXFHAhZybuOIzu2CaA/

Chia sẻ trên WhatsAppChia sẻ trên FacebookChia sẻ trên TwitterGửi email cho bạn bèGhim trên PinterestChia sẻ trên LinkedIn

superadmin

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai.Các trường bắt buộc được đánh dấu *

Bình luận *

Tên *

Email *

Trang web

Δ

Bạn cần trợ giúp?

MessengerMessenger Zalo Official AccountZalo Official Account TelegramTelegram WhatsappWhatsapp

Orange Pi Việt Nam

Orange Pi Việt NamNhà phân phối chính thức

Xin chào! 👋🏼👋🏼👋🏼 Tôi có thể giúp gì được bạn?

Đăng nhập

Sign In - Google Accounts

Continue with GoogleContinue with Google. Opens in new tab

Tên tài khoản hoặc địa chỉ email *Bắt buộc

Mật khẩu *Bắt buộc

Ghi nhớ mật khẩuĐăng nhập

Quên mật khẩu?