Cài đặt Rhasspy trên Orange Pi, kết nối với Home Assistant điều khiển nhà thông minh bằng giọng nói

Hôm nay mới phát hiện ra một phần mềm mã nguồn mở hay quá, đó chính là Rhasspy (ɹˈæspi) (đọc là raspi y như viết tắt của raspberry pi) nhưng không phải chỉ dành cho Raspberry Pi. Rhasspy là phần mềm hỗ trợ giọng nói offline dựa trên dữ liệu được training, bằng bất cứ ngôn ngữ nào, và có thể kết nối trực tiếp với Home Assistant, Node-RED, Jeedom và OpenHAB.

Để giải thích thế này cho dễ hiểu, nếu như trước kia tôi có hướng dẫn các bạn cài đặt Google Assistant trên Orange Pi Zero (xem lại tại đây: https://orangepi.vn/bien-orange-pi-zero-thanh-google-assistant.html) thì nó vẫn là sử dụng thư viện mở của Google hiện tại đang miễn phí cho các developper sử dụng. Nếu một ngày đẹp trời, Google đóng thư viện này lại thì lúc đó Google Assistant trên Orange Pi zero của bạn sẽ trở thành cục gạch ngay. Tuy nhiên, với Rhasspy thì ngược lại, Rhasspy là hệ thống hỗ trợ giọng nói được cài trực tiếp lên Orange PI của bạn, sau đó sẽ tự nhận dạng giọng nói của bạn qua một cơ chế gọi là Natural Language Understanding (đương nhiên cũng cần phải qua đào tạo) và chuyển nó thành câu lệnh phù hợp mà máy tính hiểu được. KHÔNG một câu lệnh hay giọng nói hoặc mã nguồn nào của bạn được chuyển lên máy chủ trên internet, tất cả được lưu trữ trên thiết bị của bạn và vì thế kể cả khi Orange Pi không kết nối với internet thì nó vẫn chạy được bình thường.

Đến đây, có lẽ bạn đã hiểu được sự hay ho của Rhasspy thế nào. Bạn có thể tạo ra 1 thiết bị hỗ trợ giọng nói của riêng mình, chạy ở nhà mượt ngay cả khi không có mạng, và đương nhiên sau khi thư viện của bạn đã được training đầy đủ, không ai cấm bạn chia sẻ thư viện đó cho các người dùng khác. Người dùng khác cũng sẽ cài Rhasspy  trên Orange Pi của họ, copy thư viện vào và cứ thế chạy. Sự khác biệt của thư viện dùng chung (như Google) và thư viện chia sẻ (như cách Rhasspy đang làm) là người dùng phải biết cách thao tác cài Rhasspy  và copy thư viện mà thôi.

Mặc dù cài Rhasspy bằng native khá phức tạp vì nó là tổng thể của khá nhiều phần mềm khác nhau, tuy nhiên với sự ra đời của Docker (phải nói rằng Docker chính là phát minh tiên tiến và đắc lực nhất của người dùng Linux bây giờ) thì việc cài đặt nó qua Docker lại trở nên hoàn toàn đơn giản. Ban đầu, tôi cũng định cài đặt Rhasspy  trên Orange Pi Zero, tuy nhiên sau khi cài xong Docker thì RAM 512MB của Zero quá yếu để có thể làm thêm gì. Do đó tôi chuyển qua Orange Pi PC Plus, RAM 1GB và eMMC 8GB sẽ tốt hơn rất nhiều, mà chi phí không cao hơn là mấy

Docker full RAM trên Orange Pi Zero
Docker full RAM trên Orange Pi Zero

 

Docker trên PC Plus RAM vẫn còn nhiều
Docker trên PC Plus RAM vẫn còn nhiều

Sau đây là quá trình cài đặt:

Dùng Etcher hoặc Win32DiskImager flash vào thẻ nhớ Hệ điều hành, ở đây tôi dùng Armbian 22.08 Jammy. Các bạn tải về tại : https://www.armbian.com/orange-pi-pc-plus/

Nếu bạn vẫn muốn chạy hệ diều hành trên thẻ nhớ, thì hãy tiếp tục bên dưới. Còn nếu bạn muốn cài HDH này vào eMMC để chạy ổn định không phụ thuộc vào chất lượng thẻ nhớ. Hãy đánh lệnh armbian-config rồi sau đó làm theo hướng dẫn cài HDH vào emmc.

Đầu tiên là vào System, tiếp theo là Install (Install to/update boot loader), tiếp tục OK cho đến khi hiện ra bảng cảnh báo bên dưới, tiếp tục chọn Yes và chọn format ext4. Hệ thống sẽ xóa toàn bộ eMMC và cài HDH đang chạy vào đó. Sau đó sẽ yêu cầu Shutdown. Bạn cắm điện lại để khởi động lại (sau khi đã rút thẻ nhớ ra)

OK giờ hãy cài docker bằng các câu lệnh sau (câu lệnh này áp dụng cho ubuntu, nếu bạn dùng debian cần thay repo khác)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
apt-get update --fix-missing
apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common gnupg2
apt-get install docker-ce docker-compose -y

Sau khi cài xong, nếu bạn đánh lệnh docker -v mà không báo lỗi là được.

Sau đó cài Rhasspy bằng docker container như sau

  1. Pull trước container Rhasspy về để kiểm thử xem có lỗi không. docker pull hasspy/rhasspy. Bản image này hiện tại trên docker có hỗ trợ bản arm/v7 và arm/v6 cũng như arm64. Do đó chip H3 trên Orange Pi PC vẫn có thể pull được về. Bản arm64 chắc chắn là sẽ được hỗ trợ nhiều nhất, do đó nếu bạn sử dụng Orange Pi Zero H5, hoặc các chip đời mới hơn như Orange Pi 3 H6, Orange Pi 4 RK3399 thì sẽ pull được bản arm64 về.
  2. Chạy docker bằng image đã pulled
    docker run -d -p 12101:12101 \
    --name rhasspy \
    --restart unless-stopped \
    -v "$HOME/.config/rhasspy/profiles:/profiles" \
    -v "/etc/localtime:/etc/localtime:ro" \
    --device /dev/snd:/dev/snd \
    rhasspy/rhasspy \
    --user-profiles /profiles \
    --profile en

    Nếu bạn quen với docker sẽ hiểu câu lệnh này, nó chạy 1 container bằng image rhasspy/rhasspy đã tải về, truy cập bằng cổng 12101 và nếu fail sẽ khởi động lại cho đến khi tắt

Nếu sau khi chạy câu lệnh trên mà docker trả về 1 mã container, thì bạn đã thành công. Hãy truy cập vào http://IP_CỦA_ORANGEPI:12101 để bắt đầu dùng Rhasspy .

Sau khi cài xong, tôi thấy bộ nhớ eMMC vẫn còn khá nhiều, Orange Pi PC Plus hoàn toàn có thể cài thêm Home Assistant vào nữa. Vừa hay Home Assistant cũng có bản docker, và câu lệnh của nó như sau

docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=MY_TIME_ZONE \
-v $HOME/homeassistant:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable

Home Assistant sử dụng cổng 8123, Hãy truy cập vào http://IP_CỦA_ORANGEPI:8123 để bắt đầu dùng Home Assistant.

Nếu hướng dẫn trên vẫn quá phức tạp với bạn, Orange Pi Việt Nam sẽ bán sẵn 1 combo Orange Pi PC Plus kèm vỏ nhựa xanh và nguồn, đã cài sẵn Rhasspy và Home Assistant trên eMMC cho các bạn về tự nghịch

Link mua hàng: (đang cập nhật)

Video hướng dẫn cài bằng câu lệnh

Chúc các bạn thành công!

1 những suy nghĩ trên “Cài đặt Rhasspy trên Orange Pi, kết nối với Home Assistant điều khiển nhà thông minh bằng giọng nói

  1. Pingback: Cài đặt MQTT, Nodered và Rhasspy trên Orange Pi không sử dụng docker - Orange Pi Viet Nam

Trả lời

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 *