[openHAB] Hướng dẫn cài đặt openHAB lên Android TV Box
openHAB llà một trong những tên tuổi nổi tiếng và lâu đời nhất trong làng Home Automation. OpenHAB đã được tạo ra vào năm 2010 bởi Kai Kreuzer, được phát triển bằng Java và chủ yếu dựa trên phần khung SmartHome của Eclipse.
Đây là bài đầu tiên trong seri hướng dẫn openHAB mà mình sẽ làm sắp tới. Các bạn cố gắn theo dõi nhé.
Để cài đặt được openHAB lên Android Box TV bạn cầu sử dụng phiên bản Armbian Ubuntu phù hợp. Do chạy trên nền Java nên bạn phải cài Java trước khi cài đặt openHAB. Trong bài này mình sẽ hướng dẫn các bạn từng bước cụ thể để cài đặt được openHAB lên Android Box TV một cách đơn giản nhất.
Chú ý: do mình sử dụng Tanix TX3 mini nên các ví dụ trong bài sẽ được thực hiện với cấu hình cho TX3 mini. Bạn cần phải thay đổi lại vài chỗ trong hướng dẫn này cho phù hợp với thiết bị mà bạn đang sử dụng.
Phần 1: Chuẩn bị
Phần cứng:
Để bắt đầu, chúng ta sẽ chuẩn bị những thứ như sau:
- Một con Android box tv sử dụng chip ARM được Armbian hỗ trợ.
- Một USB hoặc thẻ nhớ microSD dung lượng 8GB trở lên.
- Một cọng cáp RJ45 để kết nối Android Box vào router wifi.
Phần mềm:
Các bạn nhấn vào tên phần mềm tương ứng bên dưới để download
- SD Memory Card Formatter dùng để format USB hoặc thẻ nhớ một cách ổn định để tránh làm hỏng thiết bị.
- balenaEtcher dùng để flash Armbian lên USB hoặc thẻ nhớ.
- Armbian Ubuntu bionic phiên bản mới nhất phù hợp với chip đang sử dụng.
- Advanced IP Scanner để scan IP các thiết bị trong mạng LAN, tim IP server openHAB.
- PuTTY để truy cập SSH vào Android box
- WinSCP để duyệt file của openHAB qua giao thức SFTP mà không cần phải cài các add-ons như FTP hay Samba share để tiết kiệm tài nguyên hệ thống.
Phần 2: Flash Armbian lên thẻ nhớ.
Sau khi đã chọn được đúng phiên bản Armbian Ubuntu bionic ở phần trên và download về thành công, các bạn giải nén file đó ra để được 1 file có đuôi .img dung lượng khoản 1.3GB.
Tiếp theo hãy format lại USB hoặc thẻ nhớ bằng phần mềm SD Memory Card Formatter để đảm bảo USB hoặc thẻ nhớ trong trình trạng tốt nhất.
Mở balenaEtcher, chọn file .img vừa giải nén ở trên để tiến hành flash lên USB hoặc thẻ nhớ.

Sau khi balenaEtcher báo hoàn thành việc Flash, rút USB hoặc thẻ nhớ ra khỏi cổng USB rồi gắn lại để máy tính nhận lại phân vùng BOOT trên USB vừa flash.

Truy cập vào phân vùng BOOT, tìm file uEnv.ini sửa lại dtb_name đúng với thiết bị bạn đang sử dụng.
Ví dụ:
Code:
dtb_name=/dtb/meson-gxl-s905w-tx3-mini.dtb

Tiếp tục, cũng trong phân vùng BOOT, tìm thư mục extlinux, tìm file extlinux.conf và sửa lại dtb trong file đó cho đúng với thiết bị bạn đang sử dụng. Nhớ bỏ dấu "#" phía trước dòng đó đi.
Ví dụ:
Code:
FDT /dtb/meson-gxl-s905w-tx3-mini.dtb

*** Lưu ý: Tên dtb_name bạn có thể tra ở bản bên dưới:

Bây giờ Eject USB hoặc thẻ nhớ khỏi máy tính và chuẩn bị gắn nó vào Android box nào.
Phần 3: Cài đặt Armbian lên Android box
Gắn cáp RJ45 của Android box vào router wifi. Gắn USB hoặc thẻ nhớ vào cổng USB trên Android box, nhấn giữ nút reset và cấp nguồn cho Android box, sau 5 giây thả nút reset để Android box boot Armbian USB hoặc thẻ nhớ chúng ta đã gắn vào.
Mở Advanced IP Scanner để tìm IP của Android box.

Dùng PuTTY để SSH vào Armbian bằng IP vừa scan được ở trên với port 22

Trong lần đầu tiên đăng nhập, bạn sẽ sử dụng tài khoản mặt định
Code:
user: root password: 1234

Đến bước này xem như bạn đã hoàn thành việc cài đặt và chạy Armbian trên Android box rồi đó, Armbian sẽ được chạy mặc định từ thẻ nhớ khi khởi động.
Hoàn thành đến đây bạn có thể chuyển thẳng qua bước cài đặt Java và openHAB. Còn không, bạn có thể làm thêm phần dưới để cho Armbian boot từ eMMC, tận dụng ổ NAND 16GB có sẵng trong Android box cho tốc độ nhanh hơn, mát hơn, ổn định hơn, không tốn thẻ nhớ/usb
Phần 4: Chuyển Armbian từ thẻ nhớ lên eMMC của Android box
Khi thực hiện phần này có thể xảy ra rủi ro, phát sinh lỗi không thể sửa chữa. Do đó bạn phải suy nghĩ thật kỹ trước khi thực hiện. Nếu xảy ra lỗi bạn phải có đủ kinh nghiệm để khắc phục, mình không thể hỗ trợ bạn nếu xảy ra sự cố nhé.
Cho an toàn, chúng ta sẽ backup toàn bộ eMMC đang có để khi có sự cố thì còn cái mà quay lại. Các bạn dùng lệnh "ddbr" và làm theo hướng dẫn trên màn hình để backup.
Code:
ddbr

Sau khi backup hoàn thành, bạn dùng WinSCP để SFTP copy file vừa backup về máy tính và lưu lại để dành sau này có việc cần thì dùng.

Dùng lệnh "/root/install.sh" chạy script phân vùng, copy OS từ thẻ nhớ vào NAND. Đợi đến khi báo Complete là xong.
Code:
/root/install.sh

Phần 5: Cài đặt Java Flatform
Do openHAB chạy trên nền Java 8 (openHAB không chạy được trên Java 9 và 10, không chạy được trên phiên bản 64bit), do đó bạn sẽ cần cài đặt Java trước khi cài đặt openHAB.

Theo khuyến cáo rằng OpenJDK hoạt động không ổn định trên các thiết bị chạy chip ARM do đó chúng ta chỉ còn 2 lựa chọn là Oracle Java và Zulu. Zulu là một opensource có chứng nhận đầy đủ Java SE, được tối ưu hóa cho các thiết bị chạy chip ARM. Trong trường hợp này Zulu sẽ là lựa chọn phù hợp và đơn giản nhất.
Để cài đặt Zulu Embeded 8, bạn SSH vào Armbian bằng PuTTY và copy các dòng lệnh bên dưới, mỗi lần copy 1 dòng. (Cách paste trong PuTTY là nhấp chuột phải để Paste)
Code:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main' sudo apt-get update sudo apt-get install zulu-embedded-8
Code:
java -version
Phần 6: Cài đặt openHAB
Các bước cài đặt openHAB vô cùng đơn giản, bạn có thể làm theo hướng dẫn tại trang https://www.openhab.org/download/. Mình cài đặt phiên bản Milestone mới nhất nên sẽ dùng các dòng lệnh bên dưới.

Download openHAB
a vendor and technology agnostic open source automation software for your home
openhab.org
Code:
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - sudo apt-get install apt-transport-https echo 'deb https://dl.bintray.com/openhab/apt-repo2 testing main' | sudo tee /etc/apt/sources.list.d/openhab2.list sudo apt-get update && sudo apt-get install openhab2

Xong, bây giờ bắt đầu khởi động openHAB thôi
Code:
sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable openhab2.service sudo /bin/systemctl start openhab2.service

Chọn Standard và chờ openHAB chạy thêm một vài thiết lập cần thiết để sử dụng. Và đây là giao diện của openHAB sau khi cài đặt xong.

Chúc các bạn thành công. Hẹn gặp lại các bạn ở bài sau, Hướng dẫn sử dụng openHAB cơ bản cho người mới bắt đầu.