Files
orangepi-rag/markdown/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.md
T
2026-06-11 23:53:48 +07:00

14 KiB
Raw Blame History

Như ở bài trước, tôi đã hướng dẫn các bạn cài đặt Rhasspy và Home Assistant trên Orange Pi đều qua Docker, rất dễ dàng và đơn giản. Với bài này, tôi sẽ hướng dẫn phức tạp hơn 1 chút đó là cài đặt cả MQTT, Nodered và Rhassy trên Orange Pi mà không sử dụng docker .

Trên thực tế cả gói này được hướng dẫn cài đặt trên RPi được gọi là Sherlock Offline Voice Assistant. Địa chỉ tại: https://ip-team4.intia.de. Tuy nhiên, do file cài tự động của Sherlock không chạy được trên Orange Pi, do vậy tôi đã tách ra thành từng phần một và đã cài hoàn chỉnh được trên Orange Pi PC Plus. Để chuẩn bị bạn cần:

Về cách cài hệ điều hành ban đầu, sau đó cài lên emmc của PC Plus, bạn có thể tham khảo bài trước. Tôi vẫn dùng Armbian 22.08 Jammy như bài trước để bắt đầu cài đặt.

Cấu hình âm thanh

Đầu tiên, hãy cấu hình âm thanh để có thể phát loa qua cổng AV và Mic thu câu lệnh trên Orange Pi PC Plus. Ở bài trước, tôi đã quên mất phần này và mặc định nó hoạt động trên docker. Giờ bạn phải cấu hình lại bằng câu lệnh quen thuộc alsa-mixer. Nhấn F3 để lựa chọn cấu hình Playback. sử dụng dấu mũi tên di chuyển đến phần Line Out, nếu ở đó đang có 2 chữ MM, nhấn chữ M để nó chuyển thành OO như hình minh họa dưới đây, làm tương tự với DAC.

Tiếp đó nhấn F4 để chuyển sang cấu hình Capture là thu âm bằng micro built-in. Cũng di chuyển con trỏ đến Mic1 như hình, ở đó nó chưa hiển thị gì cả, nhấn phím SPACE để nó chuyển sang chữ L R như hình minh họa. Tiếp đó không cần bấm gì để lưu lại, đơn giản chỉ là bấm ESC để thoát ra

Hãy thử lại loa và mic bằng các câu lệnh sau

Thử loa ở hw:0 2 kênh Stereo, nếu 2 loa phát ra 2 tiếng Left Front và Right Front là ok`

speaker-test -twav -c2 -Dhw:0`

Thu âm bằng mic hw:0,0, nhấn lệnh sau đó thử mic bằng cách nói vào mic, nếu không báo lỗi là ok

record --device="hw:0,0" ~/test-mic.wav

Phát lại file vừa thu âm

aplay --device="hw:0,0" ~/test-mic.wav

Cài đặt phần mềm

Tiếp theo đây là các câu lệnh để cài đặt phần mềm, mỗi câu lệnh tôi sẽ chú thích bên dưới như 3 lệnh thử âm thanh trên

Cập nhật lại repo và cài các gói cần cập nhật, lệnh này luôn nên được triển khai để Orange Pi được cập nhật repo và các gói mới nhất

sudo apt update && sudo apt upgrade -y

Cài đặt MQTT

sudo apt-get install mosquitto mosquitto-clients -y

Tài về file cài đặt NodeJS và Nodered

`wget https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered

sudo chmod 755 ./update-nodejs-and-nodered

./update-nodejs-and-nodered`

Khi cài xong sẽ có kết quả như hình kèm bên trên, truy cập vào http://<ip-adress>:1880 để kiểm tra. Nếu chưa được hãy khởi động lại nodered service, sau đó cài nodered chạy mỗi khi khởi động như 1 service.

`sudo systemctl restart nodered.service

sudo systemctl enable nodered.service`

Sau đó, cài Rhasspy qua gói deb trên github. Github của Rhasspy có tại địa chỉ sau https://github.com/rhasspy/rhasspy/. Bạn tìm tới phần release để tìm bản release mới nhất, chọn phiên bản armhf để tải về. Tại thời điểm viết bài này, bản mới nhất là v2.5.11. Do đó câu lệnh sẽ là

`wget https://github.com/rhasspy/rhasspy/releases/download/v2.5.11/rhasspy_armhf.deb

sudo apt --fix-broken install ./rhasspy_armhf.deb -y`

Sau khi đã cài xong mà không phát sinh lỗi gì, hay khởi động Rhasspy qua câu lệnh

rhasspy --profile en

Ở đây profile en chính là profile tiếng anh sẵn có, nếu bạn định làm tiếng Việt hoặc sử dụng tiếng khác sẵn có của Rhasspy, hãy tham khảo tài liệu của Rhasspy để sử dụng

Rhasspy cũng sẽ được truy cập dễ dàng tại http://<ip-adress>:12101, như hình minh họa bên dưới

Hãy tạo 1 file rhasspy.service để rhasspy chạy tự động mỗi khi khởi động như 1 service, nội dung như sau

`[Unit] Description=Rhasspy

After=syslog.target network.target sound.target`

`[Service] Type=simple

WorkingDirectory=/home/admin/.config/rhasspy

ExecStart=/bin/bash -lc 'rhasspy --profile en 2>&1 | cat'

RestartSec=1

Restart=on-failure

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier=rhasspy`

[Install] WantedBy=multi-user.target

Chạy 3 lệnh sau để cài service khi khởi động

`sudo systemctl daemon-reload

sudo systemctl start rhasspy.service

sudo systemctl enable rhasspy.service`

Cài đặt tiếp Zigbee2MQTT

Trong Sherlock, còn 1 gói nữa là Zigbee2mqtt, gói này sẽ cho phép bạn cài Orange Pi thành 1 Zigbee hub, sau đó sử dụng Rhasspy như Voice Assistant offline ra lệnh bằng giọng nói chuyển câu lệnh qua MQTT và điều khiển zigbee hub. Sẵn tiện tôi hướng dẫn bạn cài luôn:

Đầu tiên là cài python-pip và python-venv, ở đây tôi thấy rằng bản Armbian đã cài python3.8 làm mặc định, nhưng nếu bạn sử dụng bản HDH khác, nên kiểm tra lại version python của bạn

sudo apt install python3.8-venv python3.8-pip

Sau đó hãy đánh các lệnh sau:

`git clone https://github.com/Koenkk/zigbee2mqtt.git

cd zigbee2mqtt

python3 -m venv .

source ~/zigbee2mqtt/bin/activate

pip install --upgrade pip wheel setuptools

pip install nodeenv

nodeenv -p -n 18.18.0`

Ở phần nodeenv, các bạn chú ý là tôi chọn node version 16.17.1 để khớp với bản nodejs đã cài bên trên cho nodered, tùy trường hợp nodered bạn cài nodejs nào thì chạy môi trường python cài nodeenv bạn sử dụng bản đó. Chỉ là để cho chắc chắn không có lỗi phát sinh nào khác, còn bản khác ko ảnh hưởng gì. Sau đó hãy cài và khởi động Zigbee2MQTT qua

npm ci && npm start

Hãy tạo 1 file zigbee2mqtt.service để zigbee2mqtt chạy tự động mỗi khi khởi động như 1 service, nội dung như sau

`[Unit] Description=zigbee2mqtt

After=network.target`

`[Service] ExecStart=/bin/bash -c 'source /opt/zigbee2mqtt/bin/activate; /opt/zigbee2mqtt/bin/npm start'

WorkingDirectory=/opt/zigbee2mqtt

StandardOutput=inherit

StandardError=inherit

Restart=always`

[Install] WantedBy=multi-user.target

Cũng tương tự như trên, chạy 3 lệnh sau để cài service khi khởi động

`sudo systemctl daemon-reload

sudo systemctl start zigbee2mqtt.service

sudo systemctl enable zigbee2mqtt.service`

Zigbee2mqtt tương thích với các usb zigbee E18-2G4U04B, nên chỉ cần cắm usb zigbee vào Orange Pi PC là Zibgee hub sẵn sàng.

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

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?