TTBC20 is coming

TTBC20 is coming

[HASSIO] Hướng dẫn cài đặt Home Assistant lên Android TV Box hoàn chỉnh.
Nhựt đây
1 nămBình luận: 30
Vào thẳng vấn đề, trong bài này mình sẽ tổng hợp lại cách cài Home Assistant (là HASSIO, không phải Hassbian) lên một chiếc Android TV Box (Android box) chạy chip S905.

Ưu điểm khi sử dụng Android box là ở giá thành rẻ, chỉ với khoản 500k chúng ta đã có 1 con Android box chạy chip S905 mạnh tương đương con Raspberry Pi 3 B+, RAM 2GB, nguồn và case đầy đủ, bảo hành lên đến 2 năm. Quá đủ để chạy HASSIO cho những bạn mới bắt đầu tìm hiểu.

Trong bài này chúng ta sẽ có những nội dung như sau:
  1. Tạo thẻ nhớ chứa bộ cài đặt Armbian
  2. Cài đặt Armbian lên Android box
  3. Kết nối Wifi cho Armbian
  4. Cài đặt Docker
  5. Cài đặt Hassio lên Docker
  6. Cài đặt Dynamic DNS, tạo domain, lấy chứng thực SSL.
Những thứ chúng ta sẽ cần có để thực hiện gồm:
  1. Một con Android box chạy chip S905 (mình đang dùng con Tanix TX3 Mini chạy chip Amlogic S905W, RAM 2GB, có Wifi không Bluetooth)
  2. Một thẻ microSD Class 10 hoặc USB 3.0 dung lượng 16GB

Bắt đầu nào.


1. Tạo thẻ nhớ chưa bộ cài đặt Armbian:

Để chạy được HASSIO trên Android box, việc đầu tiên cần làm là chúng ta phải cài đặt hệ điều hành mới cho nó là Armbian. Để biết xem chip xử lý trong Android box của bạn có được Armbian hỗ trợ hay không thì bạn sẽ vào diễn đàn https://forum.armbian.com/ tìm thử nhé.
Armbian forum
forum.armbian.com


Khi xác định chip trên con Android box của bạn được hỗ trợ, bạn sẽ cần những công cụ sau:
Vào link tải Armbian có thể bạn sẽ choán ngợp vì quá nhiều phiên bản, không biết phải chọn bản nào cho đúng. Bạn cứ chọn phiên bản mới nhất mà sử dụng thôi (hiện tại lúc mình viết bài là 5.88). Các bạn lưu ý thêm là Armbian nó có 2 phiên bản DebianUbuntu. Với Debian thì nên chọn bản sretch, với Ubuntu nên chọn bản bionic. Mình thích Ubuntu hơn nên sẽ chọn tải về file image Armbian 5.88 Ubuntu bionic.

Sau khi tải xong, dùng 7zip để giải nén ra sẽ được 1 file .img, sau đó dùng balenaEtcher để flash lên thẻ nhớ hoặc USB đã chuẩn bị sẵng ở trên.

hassio_1.jpg

Khi đã flash thành công, bạn rút thẻ nhớ/USB ra, cắm trở lại vào máy tính, vào My PC sẽ thấy một ổ đĩa có tên là BOOT. Vào đó và tìm file uEnv.ini mở lên để chỉnh sửa. Ở dòng đầu tiên trong file uEnvi.ini bạn sẽ sửa lại dtb_name đúng với cái Android box mà bạn sắp cài đặt Hassio lên trên đó.

hassio_2.jpg

Danh sách dtb_name của các thiết bị bạn có thể tham khảo bảng bên dưới:


hassio_3.jpg


2. Cài đặt Armbian lên Android box


Rút thẻ nhớ/USB gắn vào Android box, cắm cáp LAN, cắm cáp HDMI, nhấn nút Reset trên Android box và cấp nguồn để bắt đầu tiến hành cài đặt Armbian.


70D56A6B-27FB-407D-9D5A-BEF4E438DECB.jpg

Khi màn hình hiện lên như thế này, bạn vào cài đặt của router wifi để xác định IP Android box (thiết bị có tên "aml")


hassio_4.jpg



Mở ứng dụng PuTTY rồi kết nối vào Android box theo ip bên trên.

hassio_5.jpg

Tài khoản mặc định để đăng nhập vào Armbian:
Code:
user: root
password: 1234
Sau khi đăng nhập, bạn tiến hành thay đổi mật khẩu mặc định, tạo user phụ như hướng dẫn hiện ra trên màn hình. Xin chúc mừng, đến đây xem như bạn đã cài đặt thành công Armbian vào chiếc Android TV Box rồi đấy. Những lần sau SSH vào Android box thì dùng tài khoản phụ vừa tạo, không cần phải dùng tài khoản root đâu.


3. Kết nối Android box vào wifi


Nếu chip Wifi dùng trên con Android box của bạn được Armbian hỗ trợ, bạn có thể làm theo hướng dẫn bên dưới để kết nối, thích hợp đặt ở những nơi không thể kéo dây LAN đến được.

Đầu tiên, SSH vào Armbian, sau đó dùng lệnh sudo armbian-config để mở giao diện cài đặt. Chọn Network -> Wifi -> Kết nối vào Wifi


hassio_6.jpg

hassio_7.jpg
hassio_8.jpg
Khởi động lại Android box. Sau khi khởi động lại xong, vào armbian-config một lần nữa để kiểm tra xem Wifi vừa thiết lập lúc nãy đã kết nối được hay chưa. Nếu đã kết nối Wifi thành công thì bạn khởi động lại box, rút dây cáp mạng ra khỏi box. Cuối cùng, vào tìm IP Wifi của Android box để cố định lại. Từ đây, bạn có thể di chuyển Android box đến đến bất cứ vị trí nào miễn nó vẫn nằm trong vùng phủ sóng của Wifi là được.


4. Cài đặt Docker:


Home Assistant Ubuntu sẽ được chạy trên Docker, vì thế chúng ta sẽ cài Docker và các plugin cần thiết trước khi cài Hassio.


Bước này cũng đơn giản thôi, chỉ cần bạn làm theo đúng hướng dẫn của mình là được. Các dòng lệnh bạn copy từ đây và nhấp chuột phải để paste vào màn hình SSH (không phải Ctrl + V nhé).

Add Docker GPG key:
Code:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Tạo một Docker repository.
Trong trường hợp của mình, con TX3mini sử dụng kiến trúc aarch64 nên mình sẽ dùng lệnh sau: (bạn có thể kiểm tra lại kiến trúc đang sử dụng trên thiết bị của bạn bằng lệnh uname -m)


Code:
sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Bắt đầu cài đặt Docker Ce:
Code:
sudo apt-get install docker-ce docker-ce-cli containerd.io

Xác minh Docker đã được cài đặt đúng bằng "hello-world"
Code:
sudo docker run hello-world
Nếu bạn thấy hiện ra nội dung giống bên dưới thì xin chúc mừng bạn đã cài được Docker.

5. Cài HASSIO

Cài đặt các add-on cần thiết trước khi tiến hành cài đặt Hassio
Code:
sudo apt install jq avahi-daemon apparmor

Tiến hành cài đặt Hassio bằng câu lệnh sau:
Code:
curl -sL https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh | bash -s -- -m raspberrypi3
Khi màn hình báo Run Hassio là thành công nhé. Bạn đợi thêm vài phút để Hassio khởi động xong rồi tiến hành đăng nhập vào http://<ip của bạn>:8123 để hoàn thành thiết lập.

hassio-prepraring.png

6. Cài đặt Dynamic DNS, tạo domain, lấy chứng thực SSL.


Mình sẽ hướng dẫn các bạn tạo domain và lấy chứng chỉ ssl theo một cách khác, đó là dùng thiết lập DDNS có sẵng trên router wifi kết hợp với một nhà cung cấp dịch vụ Dynamic DNS để có được domain đẹp hơn so với việc dùng DuckDNS.

Để làm được bước này các bạn phải có quyền truy cập vào router (ở địa chỉ http://192.168.1.1), và mạng của các bạn không bị nhà cung cấp khóa port 443, 80. Bạn liên hệ số hotline của nhà mạng để được hỗ trợ kiểm tra port nhé.

Bắt đầu từ việc đăng nhập vào router, tìm thiết lập DDNS (Dynamic DNS) của router xem nó hỗ trợ những tịch vụ từ nhà cung cấp nào như trong ảnh bên dưới. Trong ví dụ mình dùng mạng FPT, còn thực tế các bạn sử dụng mạng khác thì thiết lập Dynamic DNS này nó sẽ nằm ở vị trí khác nhé.

hassio_9.jpg

Mình sẽ chọn dịch vụ Dynamic DNS của ChangeIP.com. Vào trang đấy để tạo tài khoản và đăng ký 1 domain miễn phí nào. Trong thực tế, router của các bạn không có hỗ trợ ChangeIP.com thì bạn phải chọn dịch vụ khác nhé, cách làm cũng tương tự thôi.

hassio_10.jpg

Sau khi đăng ký được một tài khoản và một domain miễn phí, mình sẽ quay lại trang thiết lập router để khai báo tài khoản vừa tạo cho router biết nơi sẽ update ip của nó lên. Khai báo đầy đủ và nhấn Apply, chờ một tí IP của bạn sẽ được cập nhật ngay thôi.

hassio_11.jpg

Tiếp theo chúng ta sẽ tiến hành mở port cho router. Nguyên tắt mở port là sẽ mở port WAN 80 -> LAN 80, WAN 443 -> LAN 443, WAN 22 -> LAN 22 (cổng 22 dành cho các bạn có nhu cầu SSH từ xa).


hassio_12.jpg
hassio_13.jpg

Mở port xong nhớ reset lại router để thiết lập có hiệu lực nhé. Từ lúc này trở đi bạn đã có thể truy cập vào HASSIO của mình bằng domain vừa đăng ký (vẫn chưa có https nhé). Thử nào.

Sau khi đăng nhập được vào Hassio, chúng ta tiếp tục tìm và cài đặt add-on Let's Encrypt. Đây là một dịch vụ cung cấp chứng chỉ ssl miễn phí nổi tiếng. Mỗi chứng chỉ được cấp sẽ có thời hạn sử dụng lên đến 30 ngày.

hassio_14.jpg

Các bạn nhớ khai báo đúng cổng 80 (cổng chúng ta đã mở ở trên) thì mới có thể nhận được chứng chỉ ssl. Nhấn SAVE và sao đó nhấn START nào... Sau khi nhấn start các bạn check log nếu có thông báo như bên dưới là đã nhận chứng chỉ ssl cho domain thành công rồi nhé.

hassio_15.jpg

Tiếp theo bạn dùng ứng dụng WinSCP (Download tại đây) để SSH vào server cấp quyền cho 2 file fullchain.pem và privkey.pem mà Let's Encrypt vừa lấy được. Vị trí 2 file nằm trong thư mục /usr/share/hasio/ssl, nhấp phải vào từng file, chọn Properties cấp quyền 0775 cho cả 2 file.

hassio_16.jpg

Tiếp tục cũng trong WinSCP, đến thư mục /usr/share/hasio/homassistant tìm file configuration.yaml mở và chỉnh sửa như nội dung bên dưới.

Code:
http:
  base_url: https://< domain của bạn >:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
hassio_17.jpg

Save file configuration.yaml lại, trở lại bảng điều khiển hassio Configuration -> General -> CHECK CONFIG -> Nếu không báo lỗi gì thì tiến hành RESTART lại Hassio. Từ đây bạn đã có thể truy cập vào bảng điều khiển Hassio của mình bằng https rồi.

hassio_18.jpg

Như đã nói ở trên, mỗi chứng chỉ ssl do Let's Encrypt chỉ có giá trị trong 30 ngày, vì thế chúng ta cần tạo 1 Automation để kiểm tra và tự gia hạn vào lúc 00:00:00 mỗi ngày. Thêm đoạn code sao vào file automations.yaml để thực hiện việc đó.

Code:
- id: letsencrypt-renewal
  alias: "Let's Encrypt Renewal"
  trigger:
  - platform: time
   at: '00:00:00'
  action:
  - service: hassio.addon_restart
   data:
     addon: core_letsencrypt
hassio_19.jpg

Tận hưởng thành quả thôi nào.
tronguyen
ĐẠI BÀNG
1 năm
"Để biết xem chip xử lý trong Android box của bạn có được Armbian hỗ trợ hay không thì bạn sẽ vào diễn đàn https://forum.armbian.com/ tìm thử nhé."
Armbian forum
forum.armbian.com

Nhờ các bạn chỉ rõ hơn cái này giúp, đọc mấy bài rồi mà bài nào cũng chung chung như thế này. Mình có 1 con Himedia Q30 mà không biết có được không??
@tronguyen Con Android box của bạn dùng chip Huawei Hisilicon Hi3798M V200 không được hỗ trợ, bạn có thể tìm cách khác để cài Ubuntu vào. Các dòng chip hỗ trợ ở ảnh bên dưới:
B47A4FC4-EA9B-4C2C-82CC-A929CE7A60EA.png
sodacom
ĐẠI BÀNG
1 năm
Mecool M8S Pro L
con này cài được không bác?
@sodacom Được nha bạn, chạy ngon lành luôn. Nhưng vụ bluetooth và wifi mình không chắc.
B3F435E4-A9D9-4A3C-B12B-8DD6440F48F1.jpeg
caohuong_ls
ĐẠI BÀNG
1 năm
@Nhựt đây B hướng dẫn luôn cách cấu hình ssl để có thể gửi thông báo ( messenge ) tới con google home nhé
@caohuong_ls Rảnh mình hướng dẫn cấu hình ssl, còn lại các plugin hay component bạn cài giống như bao bài hướng dẫn đã có của những người khác viết thôi.
caohuong_ls
ĐẠI BÀNG
1 năm
@Nhựt đây Vì mình cũng đã thử cài duckdns sau đó gửi message tới GH nhưng bị lỗi SSL. Không rõ do mình thiết lập port sai hay do config sai. B làm hd r có j thắc mắc mình sẽ trao đổi thêm
Nếu các bạn quan tâm thì khi nào rành mình sẽ hướng dẫn cài Hassio lên eMMC, khỏi cần chạy trên thẻ nhớ tốc độ chậm nữa. Hướng dẫn độ tản nhiệt cho nó luôn.
hoatien2i
ĐẠI BÀNG
1 năm
@Nhựt đây cảm ơn bạn rất nhiều, phân tích rất chi tiết.
@Nhựt đây Mấy con tx3-mini có bluetooth h cài đc lên emmc chưa bác, bây h toàn thấy bán loại này, cám ơn.
@supperchym Hình như vẫn chưa, lâu rồi mình ko dùng con này nữa nên ko có tìm hiểu. Với lại mình sài con đời cũ nên cũng ko có nhu cầu tìm hiểu luôn. Bạn tự lên forum Armbian mà xem thôi.
@Nhựt đây sao mình gõ /root/install.sh trong putty mà nó kg đc bạn ?
John Martin
ĐẠI BÀNG
1 năm
Cái phần sữa dtb_name có tác dụng gì vậy ad?
@John Martin Nó giống như khai báo cấu hình cho Linux biết để nạp driver và boot ấy mà.
KienHungRC
ĐẠI BÀNG
1 năm
Con Mibox S 2019 cài đc ko bác!?
E969BA2C-EF1E-4664-9152-B85A0DBC8692.jpeg
@KienHungRC Con này thấy có người cài được nhưng phải mod nhiều lắm.
Hic! Mình cài thử lên con mxq s805 . Tới phần cài docker thì bó tay. Thử mọi cách đều bị lỗi ...
Con đó chạy armv71 . Ko biết có cách nào cài được không bác nhỉ
tinhz121
ĐẠI BÀNG
1 năm
mình cài trên tx3-mini đến bước 3 cài wifi cho nó thì lỗi, không hiện wifi để connect, mình đã dùng command để cài thủ công cũng ko được, đổi sang bản desktop cài từ giao diện cũng không được. bạn nào cài wifi cho tx3-mini rồi support mình với.
Hi b, không biết b có thể cho mình link mua tx3 như b được không? mình mới cài armbian lên con x96 nhưng không kết nối được wifi và jack 3.5mm audio không nhận.
XuĐi91
ĐẠI BÀNG
1 năm
@Nhựt đây Bác cho em hỏi sao, mình giữ reset và cắm nguồn vào mà nó không boot vào Armbian, mà cứ boot vào android vậy?
@XuĐi91 Hay đấy, cái của em vừa bị mât
em làm như hướng dẫn mà vẫn k boot đc a hướng dẫn e được k ạ
Khi cài hass.io e bị lỗi command line 404 thì làm thế nào ạ.
Phần hass.io false thì làm thế nào ạ
1B9EDDF6-53D7-4370-A694-A1950822B0D1.png
thank chủ thớt cho bài hướng dẫn đầy đủ, tâm huyết.
Cho mình hỏi chút, trong hầu hết các guide khác mình tìm đc thì k có bước sửa dtb boot. Vậy bước này có thực sự quan trọng ko nhỉ?
Update: tx3 mini caid armbian bản build 20200205 không chạy đc wifi 😔 bác chủ biết làm thế nào k giúp e với!
File image Armbian của bạn jo ko còn, thay đổi cách boot rồi mà ko cài đc , bạn còn File image Armbian cũ khong up mình xin link down với. thanks
Cá nhân
Bạn
Hi bạn!
Điểm Reward Store: 
Tuổi Tinh tế: 
Cấp độ thành viên Tinh Tế


Tải app Tinh tế

Tải app Tinhte - Theo dõi thông tin mà bạn yêu thích

Tải app TinhteTải app Tinhte
Tải app Tinh tế cho Android trên Google PlayTải app Tinh tế cho iPhone, iPad trên App Store



Cộng đồng nổi bật




  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2020 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019