Add-on Home Assistant để quản lý khung ảnh số
(immich-frame.junlim.org)Đã gần 3 năm tôi quản lý ngôi nhà thông minh ở nhà thông qua Home Assistant. Nếu bạn đã chán vibe coding thì tôi khuyên nên thử smart home. Không phải ai cũng cần làm app hay web service, và vì nó thực sự chạy trong chính ngôi nhà của mình nên rất thú vị..:)
Cho đến nay tôi vẫn đang sử dụng rất hài lòng, và khi dùng miễn phí một nền tảng tốt như thế này, tôi cũng tự nhiên cảm thấy biết ơn cộng đồng mã nguồn mở.
Smart home cũng có vô vàn thể loại và lĩnh vực khác nhau, và gần đây vì thấy bất tiện khi quản lý khung ảnh số nên tôi đã tạo ra một add-on.
Có một khung ảnh số rất tuyệt tên là Lenovo Smart Frame do Lenovo phát hành, nhưng vì đã gần 10 năm kể từ khi ra mắt nên Lenovo đã chấm dứt hỗ trợ chính thức. Tuy vậy, vì độ tiện dụng với vai trò khung ảnh số quá xuất sắc(?) nên hàng cũ gần như cháy hàng.
May mắn là tôi đang có khoảng 4 chiếc, hiện vận hành 2 chiếc ở nhà, 1 chiếc ở nhà mẹ vợ và 1 chiếc ở nhà bố mẹ đẻ.
Trước đây khi vận hành khung ảnh số, cách cơ bản là chỉ cần liên kết Google Photos rồi gửi qua API là xong nên rất đơn giản. Nhưng phía Google đã chặn dịch vụ đó. Người dùng hiện vẫn đang dùng cách lách thông qua các ứng dụng Android như Fotoo, nhưng thật ra cũng không biết cách này sẽ bị ngừng lúc nào.
Vì vậy, một trong những cách cấu hình thay thế là:
Immich - dịch vụ thư viện quản lý ảnh tương tự Google Photos
Immich Kiosk - trình render lấy nguồn từ thư viện đó và biến thành slideshow web đẹp mắt
Tôi cài hai mã nguồn mở này lên home server trong nhà, rồi sử dụng bằng cách mở địa chỉ của immich kiosk trên trình duyệt web của máy tính bảng Android hoặc trình duyệt. Thật ra chỉ cần cài hai thứ này thôi thì đa số đã rất hài lòng. Nhưng dù immich kiosk có hỗ trợ cách thay đổi các giá trị điều kiện bằng query string để lọc bố cục khung ảnh, loại album, người xuất hiện v.v., lại thiếu một bộ điều khiển để quản lý việc đó.
Nếu có thể biến các yếu tố điều khiển này thành entity trong Home Assistant thì sẽ mở ra nhiều kiểu tự động hóa khác nhau. Ví dụ hôm nay bố mẹ sẽ đến chơi, vậy có thể chuyển khung ảnh số sang các bức ảnh có bố mẹ xuất hiện; hoặc khi em bé đi nhà trẻ thì có thể đổi ảnh trên khung sang một album khác. Nhờ vậy có thể tự động hóa khung ảnh số, vốn trước đây chỉ hiện cùng một kiểu ảnh, cho nhiều mục đích đa dạng hơn.
Ngoài ra, việc chỉ điều khiển kiosk theo kiểu trình duyệt trước đây cũng có nhược điểm là không điều khiển được thiết bị, nên khó kiểm soát ở cấp độ thiết bị như tắt màn hình vào giờ nhất định. Chẳng hạn nếu camera bắt được ai đó, ta cũng có thể phát hiện bằng cảm biến chuyển động rồi hiển thị những bức ảnh khác.
Để làm được điều này thì cần điều khiển thiết bị Android, và vì vậy cần một ứng dụng client riêng. Trước đây nếu muốn điều khiển bằng REST API, MQTT v.v. thì phải dùng ứng dụng thương mại như Fully Kiosk, nhưng đã có người tạo ra một ứng dụng mã nguồn mở tuyệt vời là Free Kiosk.
Vì thế, giờ chỉ cần cài Free Kiosk lên thiết bị định dùng làm khung ảnh số, rồi tích hợp thông qua add-on tôi tạo, thì với một URL duy nhất bạn vừa có thể điều khiển thiết bị, vừa có thể điều khiển nội dung hiển thị trên khung ảnh số. Từ đó có thể xây dựng nhiều kiểu tự động hóa khác nhau.
Phần giải thích chi tiết hơn tôi đã làm một hướng dẫn ngắn riêng, mong mọi người tham khảo. Vì đây là dự án tôi làm chủ yếu để tự dùng nên có thể vẫn còn nhiều chỗ thiếu sót; nếu gặp vấn đề thì hãy mở issue hoặc fork về rồi tự do chỉnh sửa để sử dụng.
2 bình luận
Mình đã thử tìm trên eBay nhưng có vẻ không có món đồ cũ nào. Có sản phẩm nào khác có thể dùng làm phương án thay thế không?
Nếu kích thước cỡ một chiếc tablet vừa phải là ổn thì tận dụng tablet Android đời cũ làm khung ảnh số cũng có vẻ là một cách hay, hoặc bạn cũng có thể gắn một thiết bị như Raspberry Pi vào màn hình để thực hiện thông qua chính Raspberry Pi đó. Với một dự án tương tự được triển khai bằng Raspberry Pi, hãy tham khảo mã nguồn mở sau đây~!
https://github.com/MateEke/picture-frame