[HASSIO] Hướng dẫn cài đặt Home Assistant lên Android TV Box hoàn chỉnh.

Nhựt đây
15/6/2019 11:7Phản hồi: 38
[HASSIO] Hướng dẫn cài đặt Home Assistant lên Android TV Box hoàn chỉnh.
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é.

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

Quảng cáo



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.

Quảng cáo



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.
38 bình luận
Chia sẻ

Xu hướng

tronguyen
ĐẠI BÀNG
5 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é."
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
5 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
5 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
5 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
5 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.
anhutsg
CAO CẤP
4 năm
@Nhựt đây sao mình gõ /root/install.sh trong putty mà nó kg đc bạn ?
John Martin
ĐẠI BÀNG
5 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
5 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
5 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
4 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
hy89
ĐẠI BÀNG
4 năm
@hoangan123 https://www.fshare.vn/file/VNEQ9SVS2OW9
Armbian_5.88_Aml-s905_Ubuntu_bionic_default_5.1.0_desktop_20190611
yaiba1989
ĐẠI BÀNG
3 năm
Mình hỏi ngoài lề tí, Có thể nào cài emuelec lên thẻ EMMC trong máy luôn được không bác?
Phần 4, cài đặt docker, mình k thấy dòng lệnh, bạn xem lại giúp mình
Bản armbian đang bị remove hết rồi mình có sưu tầm lại tại đây nha https://www.fshare.vn/folder/UJWL39SZ9YWA
MantiCore1
TÍCH CỰC
3 năm
up lên anh em
Chào các bạn xin lỗi các vạn vì mình đã đào mộ top, nhưng do mình thấy top này khá hay, rất thiết thực khi mà nhiều bạn vẫn chưa có máy tính riêng, hoặc chỉ muốn tận dụng một thiết bị bỏ không để biến nó thành một máy tính ubuntu để tìm hiểu và học tập.



Mình đã cài đặt thành công armbian lên tx3mini 2021 của mình, nhưng nó bị lỗi wifi và mình vẫn chưa khắc phục được T_T.

Kinh nghiệm của mình đó là chỉ có thể cài armbian theo cách này lên android box chạy kernet đầu 3.xx (ở các bản android 7) lên android 8,android 9 thì không thể nào boot được ^^,. Có thể cài nhanh gọn mà không cần máy tính windows, chỉ cần tivi box android 7 kernet đầu 3.xx,,, cần điện thoại android có chức năng otg để ghi hệ điều hành lên thẻ nhớ hoặc usb hoặc hdd (hdd thì mình chưa thử chứ ghi vô thẻ nhớ tốc độ cao mới ok còn ghi vô usb 2.0 thì chậm lòi mắt) cuối cùng là set các thông số trên ổ cứng đã ghi hệ điều hành như hướng dẫn của bạn chủ thớt và cắm vào tivi box vậy là ok thôi.


Về phần cài armbian lên cái tivibox để làm cái gì được ?
Ngoài cài mấy cái mà bạn chủ thớt hướng dẫn ở trên (mình vừa muốn cài armbian để vọc vừa muốn dùng tivi nên mình không cài cái đó ) thì có một số điều có thể làm được trên armbian:
1. Tạo thẻ nhớ có khả năng boot hệ điều hành cho tivi box
a.Trên windows thì có burn card make gì đấy có thể cài hệ điều hành vào thẻ nhớ sau đó boot vào tivibox rất là tiện, nhưng nếu bạn như mình không có máy tính windows thì sao? Các bạn có thể dùng cái tivibox đã cài armbian để tạo 1 thẻ nhớ có khả năng boot một bản android khác cho chính cái tivibox của bạn, mình đã cài được bản android 9 từ android 7 lên chính chiếc tx3mini của mình qua thẻ nhớ ,dùng công cụ trên armbian ( đó là sai lầm lớn của mình vì android 9 không hỗ trợ cài qua thẻ gì cả,đó là lý do mình bảo android 9 hoặc android 8 đừng mong cài được armbian bây giờ mình phải thực sự cần một máy tính windows hoặc ubuntu khác để cài lại bản rom android 7). MÁY CHỈ CÓ 1gb RAM CÓ THỂ KHÔNG LÀM ĐƯỢC CÁCH NÀY VÌ THIẾU RAM HOẠT ĐỘNG, NẾU TĂNG THÊM RAM ẢO THÌ RẤT CÓ THỂ ĐƯỢC.
2.up rom điện thoại trực tiếp từ android box chạy armbian tương tự trên máy tính.
3. Quảng lý dữ liệu chống phân vùng ổ cứng ( bạn có thể vẫn dùng tivibox bình thường mà nó lại có tính năng chia sẻ đa phương tiện ( tất cả các loại tệp có trên tivibox lên một máy đa phương tiện khác như điện thoại,mình cắm cái hdd vào thì tha hồ chuy cập các file phim, nhạc ,ảnh , nói chung là sử dụng triệt để cái tivibox.
Máy mình đang bị đơ ở android 9 không thể vào armbian nên không thể chia sẻ ảnh hoạt động cho các bạn được khi nào up xong mình sẽ có ảnh sau nhé.
@Quốc Thắng 1990 có cách bạn nhé. chập chân data của chip emmc (5-6, or 15-16) box sẽ ko boot đc vào android--> nó sẽ boot vào thẻ nhớ . và done cài armban thôi nào.
Có nên xài tv box làm rasberry pi không các bác.
Nó chạy có ổn định không ạ.
@yeuquai979 Bạn không nên nhé vì:

* Chúng được làm bằng các bộ phận phế liệu, thường bị hỏng sau khi sử dụng rất ngắn
* Không có loại bảo hành

* nguồn điện là không đảm bảo, được làm bằng các thành phần rẻ tiền và rất tệ hại.

* cáp HDMI có chất lượng tào lao, thường không có khả năng truyền CEC hoặc thu thập bất kỳ loại nhiễu nào ở 1080p / 4K

* vỏ máy là một chút nhựa đểu, với ít hoặc không có tản nhiệt - mình có một số tv box ở đây đạt 80-90 ° C trong khi chỉ cần cài đặt một gói với apt ...

* sử dụng linh kiện đểu sao cho nó càng rẻ càng tốt: không có chế độ UHS thẻ SD, cổng USB có nguồn điện yếu: hãy chuẩn bị để đau đầu nếu bạn cố gắng gắn thêm thứ gì đó như chỉ cần thêm một chút năng lượng như ổ cứng ngoài sẽ khiến nó sập nguồn.

* Wifi chập trờn: bạn có thể tìm thấy các linh kiện và chip WiFi đã ngừng sản xuất nhiều năm trước!

Hầu hết tất cả nhà sản xuất vô danh của Trung Quốc hoàn toàn không hỗ trợ phần mềm; Nếu bạn có thể chạy Armbian trên TV box của mình, đó là bởi vì một số nhà phát triển trong Armbian đã dành thời gian rảnh của họ để làm nó.

Các nhà sản xuất TV box không quan tâm chút nào, họ chỉ cần bán thứ rác rẻ tiền của mình để kiếm lợi nhuận. Một số (không phải tất cả) các nhà sản xuất Single-board computer ít nhất có đội ngũ và cộng đồng hỗ trợ.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019