261 lines
14 KiB
Markdown
261 lines
14 KiB
Markdown
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](https://orangepi.vn/cai-dat-rhasspy-tren-orange-pi-ket-noi-voi-home-assistant-dieu-khien-nha-thong-minh-bang-giong-noi.html) đề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](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:
|
||
|
||
- [Orange Pi PC Plus](https://orangepi.vn/shop/may-tinh-nhung-orange-pi-pc-plus-arm-h3-quad-core-cortex-a7-1gb-ddram3),
|
||
- [nguồn chính hãng 5v3a](https://orangepi.vn/shop/nguon-orange-pi-5v3a-chinh-hang),
|
||
- thêm [bộ vỏ nhựa cho Orange Pi PC](https://orangepi.vn/shop/vo-nhua-cho-orange-pi-pc), tản nhiệt và quat nữa cho đẹp
|
||
- thẻ nhớ microSD để cài hệ điều hành ban đầu, sau đó sẽ cài lên emmc của PC Plus
|
||
|
||
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.
|
||
|
||
[](https://orangepivn.b-cdn.net/wp-content/uploads/2022/10/lineout-orangepipc.png)
|
||
|
||
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
|
||
|
||
[](https://orangepivn.b-cdn.net/wp-content/uploads/2022/10/micin-orangepipc.png)
|
||
|
||
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`
|
||
|
||
[](https://orangepivn.b-cdn.net/wp-content/uploads/2022/10/install-nodered.png)
|
||
|
||
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`
|
||
|
||
[](https://orangepivn.b-cdn.net/wp-content/uploads/2022/10/done-install-nodered.png)
|
||
|
||
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/](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
|
||
|
||
[](https://orangepivn.b-cdn.net/wp-content/uploads/2022/10/rhasspy-ok.png)
|
||
|
||
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 WhatsApp](whatsapp://send?text=C%C3%A0i%20%C4%91%E1%BA%B7t%20MQTT%2C%20Nodered%20v%C3%A0%20Rhasspy%20tr%C3%AAn%20Orange%20Pi%20kh%C3%B4ng%20s%E1%BB%AD%20d%E1%BB%A5ng%20docker%20-%20https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html "Chia sẻ trên WhatsApp")[Chia sẻ trên Facebook](https://www.facebook.com/sharer.php?u=https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html "Chia sẻ trên Facebook")[Chia sẻ trên Twitter](https://twitter.com/share?url=https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html "Chia sẻ trên Twitter")[Gửi email cho bạn bè](mailto:?subject=C%C3%A0i%20%C4%91%E1%BA%B7t%20MQTT%2C%20Nodered%20v%C3%A0%20Rhasspy%20tr%C3%AAn%20Orange%20Pi%20kh%C3%B4ng%20s%E1%BB%AD%20d%E1%BB%A5ng%20docker&body=Xem%20n%C3%A0y%3A%20https%3A%2F%2Forangepi.vn%2Fcai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html "Gửi email cho bạn bè")[Ghim trên Pinterest](https://pinterest.com/pin/create/button?url=https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html&media=https://orangepi.vn/wp-content/uploads/2022/10/done-install-nodered-1052x800.png&description=C%C3%A0i%20%C4%91%E1%BA%B7t%20MQTT%2C%20Nodered%20v%C3%A0%20Rhasspy%20tr%C3%AAn%20Orange%20Pi%20kh%C3%B4ng%20s%E1%BB%AD%20d%E1%BB%A5ng%20docker "Ghim trên Pinterest")[Chia sẻ trên LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html&title=C%C3%A0i%20%C4%91%E1%BA%B7t%20MQTT%2C%20Nodered%20v%C3%A0%20Rhasspy%20tr%C3%AAn%20Orange%20Pi%20kh%C3%B4ng%20s%E1%BB%AD%20d%E1%BB%A5ng%20docker "Chia sẻ trên LinkedIn")
|
||
|
||

|
||
|
||
##### superadmin
|
||
|
||
### Để lại một bình luận [Hủy](https://orangepi.vn/cai-dat-mqtt-nodered-va-rhasspy-tren-orange-pi-khong-su-dung-docker.html\#respond)
|
||
|
||
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
|
||
|
||
Δ
|
||
|
||
- Tìm kiếm:
|
||
|
||
- [Orange Pi Việt Nam](https://orangepi.vn/)
|
||
- [Giới thiệu về máy tính nhúng](https://orangepi.vn/gioi-thieu-ve-may-tinh-nhung)
|
||
- [Hướng dẫn đặt hàng](https://orangepi.vn/dat-hang-tai-orange-pi-viet-nam)
|
||
- [Chính sách Bảo hành](https://orangepi.vn/chinh-sach-ban-hang-va-bao-hanh)
|
||
- [Thư ủy quyền phân phối tại Việt Nam](https://orangepi.vn/thu-uy-quyen-phan-phoi-tai-viet-nam)
|
||
- [Chính sách bảo mật](https://orangepi.vn/chinh-sach-bao-mat)
|
||
- [Liên hệ](https://orangepi.vn/lien-he)
|
||
- [Shop](https://orangepi.vn/shop)
|
||
- [Bo Mạch Orange Pi](https://orangepi.vn/danh-muc-san-pham/bo-mach-orange-pi)
|
||
- [Chip H3](https://orangepi.vn/tu-khoa-san-pham/chip-h3)
|
||
- [Chip H6](https://orangepi.vn/tu-khoa-san-pham/chip-h6)
|
||
- [RK3399](https://orangepi.vn/tu-khoa-san-pham/chip-rk3399)
|
||
- [RK3588, RK3566](https://orangepi.vn/tu-khoa-san-pham/rk3588)
|
||
- [Chip H616, H618](https://orangepi.vn/tu-khoa-san-pham/chip-h616)
|
||
- [Allwinner A733](https://orangepi.vn/tu-khoa-san-pham/allwinner-a733)
|
||
- [RAM 1GB](https://orangepi.vn/tu-khoa-san-pham/ram-1gb)
|
||
- [RAM 2GB](https://orangepi.vn/tu-khoa-san-pham/ram-2gb)
|
||
- [RAM 4GB](https://orangepi.vn/tu-khoa-san-pham/ram-4gb)
|
||
- [RAM 6GB](https://orangepi.vn/tu-khoa-san-pham/ram-6gb)
|
||
- [RAM 8GB](https://orangepi.vn/tu-khoa-san-pham/ram8gb)
|
||
- [Phụ kiện Orange Pi](https://orangepi.vn/danh-muc-san-pham/phu-kien-orange-pi)
|
||
- [Màn hình](https://orangepi.vn/tu-khoa-san-pham/man-hinh)
|
||
- [Vỏ Mica lắp ghép](https://orangepi.vn/tu-khoa-san-pham/vo-mica)
|
||
- [Vỏ thép kiêm tản nhiệt](https://orangepi.vn/tu-khoa-san-pham/vo-thep)
|
||
- [Vỏ nhôm nhẹ tản nhiệt tốt](https://orangepi.vn/tu-khoa-san-pham/vo-nhom)
|
||
- [Nguồn Orange Pi](https://orangepi.vn/tu-khoa-san-pham/nguon-orange-pi)
|
||
- [Thẻ nhớ microSD](https://orangepi.vn/tu-khoa-san-pham/the-nho-microsd)
|
||
- [Compute Module](https://orangepi.vn/tu-khoa-san-pham/compute-module)
|
||
- [Blog](https://orangepi.vn/blog)
|
||
- [Giới thiệu](https://orangepi.vn/category/gioi-thieu)
|
||
- [Hướng dẫn](https://orangepi.vn/category/huong-dan)
|
||
- [Trình diễn](https://orangepi.vn/category/trinh-dien)
|
||
- [Đăng nhập](https://orangepi.vn/my-account "Đăng nhập")
|
||
- [**Hotline: 0923449899**](tel:0923449899)
|
||
|
||
Bạn cần trợ giúp?
|
||
|
||
[Messenger](https://m.me/orangepivietnam "Messenger") [Zalo Official Account](https://oa.zalo.me/1687181280533723118 "Zalo Official Account") [Telegram](https://t.me/maytinhnhung "Telegram") [Whatsapp](https://api.whatsapp.com/send?phone=84923449899 "Whatsapp")
|
||
|
||

|
||
|
||
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?
|
||
|
||
- [Hotline](tel:0923449899 "Hotline")
|
||
- [Facebook](https://www.facebook.com/orangepivietnam "Facebook")
|
||
- [Zalo](https://oa.zalo.me/1687181280533723118 "Zalo")
|
||
|
||
## Đă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?](https://orangepi.vn/my-account/lost-password) |