Như đã giới thiệu trước đây, Orange Pi Việt Nam có thực hiện một dự án theo yêu cầu của Khách hàng, đơn giản chỉ là một bo mạch nối với màn hình, luôn khởi động hiển thị một địa chỉ trang web định sẵn trên nền chrome browser, và hệ thống sẽ điều khiển qua Chrome Browser đó. Đây là kết quả chúng tôi đã demo với khách hàng:
Trên màn hình 7inch:
Trên màn hình 32inch:
Sau đây là quá trình thực hiện
Đề xuất phần cứng
Trong quá trình nghiên cứu, chúng tôi đã đề xuất với KH sử dụng Orange Pi PC Plus với các ưu điểm sau:
- Có bộ nhớ eMMC sẵn trên bo mạch, không phụ thuộc vào thẻ nhớ rất dễ hỏng hóc, tốn chi phí đi thay sửa sau này
- Có hỗ trợ cả Wifi và LAN, có thể cắm mạng LAN hoặc bắt Wifi để kết nối mọi lúc mọi nơi
- Chip H3 và RAM 1GB hoàn toàn có thể đảm nhiệm tác vụ đơn giản nêu trên
- Bo mạch có giá hợp lý
Cài dặt phần mềm
Sau khi xong phần cứng đến phần mềm, vì để đơn giản hóa mọi thứ và tối ưu dung lượng trên 8GB eMMC, chúng tôi cần hệ điều hành linux dạng câu lệnh (bản server) tự đăng nhập, sau đó tự khởi động Chromium Browser và truy cập đến địa chỉ đó. Một bản Armbian ổn định rất phù hợp với điều này. Chính vì thế chúng tôi đã dùng bản Armbian_22.05.4_Orangepipcplus_jammy_current_5.15.48. Phiên bản này tạm thời ổn định khá tốt với dung lượng sau khi cài đặt chỉ khoảng 3GB.
Việc cần thực hiện đầu tiên là yêu cầu linux tự động đăng nhập khi khởi động, để tự động đăng nhập, chúng tôi chính sửa agetty để tự đăng nhập ở dạng câu lệnh.
Tiếp sau đó là giao diện đồ họa desktop đơn giản nhất để không tốn thêm dung lượng, chúng tôi sử dụng openbox và xserver.
Gần cuối là bản cài đặt chromium-browser qua snap. Tổng dung lượng cài tất cả những phần mềm này chỉ hết khoảng 5-6GB, còn gần 30% dung lượng cho chromium-browser lưu cache và các thứ khác nếu cần.
Việc cuối cùng chỉ là yêu cầu openbox khởi động chromium khi bắt đầu. Tuy nhiên đến đây lại phát sinh 1 vấn đề, đó là khi đưa bo mạch và màn hình đến nơi không có mạng LAN, không thể nào cắm dây mạng vào config kết nối wifi.
Và để giải quyết việc này, chúng tôi đã cài thêm 1 ứng dụng cli có tên là lxterminal để cũng yêu cầu nó chạy khi khởi động cùng chromium-browser. Kết quả là bạn sẽ thấy khi khởi động, sẽ có 2 cửa sổ, nhưng chromium khởi động sau và vào chế độ fullscreen nên sẽ che đi cửa sổ lxterminal. Nhưng nếu khi cần config gì đó qua câu lệnh, chỉ cần cắm bàn phím vào bo mạch nhấn Alt + Tab là sẽ ra cửa sổ màn hình để kết nối wifi, cập nhật HDH hay làm bất cứ gì khác.
Kết quả khi chúng tôi demo trên cả màn hình 7inch và 32inch đều hoạt động tốt và mượt mà. Như đã có nói ở bài viết trước, sau khi dự án hoàn thành, với tinh thần chia sẻ, chúng tôi chia sẻ file cài đặt của hệ thống này.
Đây là file img của Hệ điều hành Armbian nêu trên đã cài sẵn tất cả các phần mềm nêu trên, có config lại để bạn có thể tự cài đặt lại user, password và địa chỉ URL ban đầu khi chrome khởi động chạy
Phiên bản trên EMMC: https://mega.nz/file/fSBWQIAa#cgIKPSehj2BdoMWNDsByO693bJJkoNvb2UB1ETsUDvs
Phiên bản chạy trên SD: https://mega.nz/file/PLpS3QCA#hfDcirbM2LHlONFTwp6ORCwl1ABoZl-IBXv3iSad8iQ
Đối với phiên bản trên SD, đơn giản bạn chỉ cần flash vào thẻ nhớ, cắm và chạy. Còn đối với phiên bản chạy trên eMMC bạn cần flash file này vào thẻ nhớ, khởi động OPi lên, sau đó tại đăng nhập như Armbian là root/1234. Sau đó chạy lệnh sau để cài vào emmc
touch .not_logged_in_yet
nand-sata-install
Cài đặt HDH vào eMMC sau đó khi đã shutdown xong thì rút thẻ và khởi động lại OPi.
Đối với file cho phiên bản SD, có thể sẽ chạy với các Orange Pi khác không có eMMC, các bạn có thể thử, miễn sao là dùng chip H3, như Orange Pi Lite hoặc Orange Pi One chẳng hạn.
Chúc các bạn thành công!