1 điểm bởi GN⁺ 2025-06-19 | 1 bình luận | Chia sẻ qua WhatsApp
  • Chia sẻ trải nghiệm cải hoán một iPhone 8 cũ thành máy chủ Vision OCR cá nhân chạy bằng năng lượng mặt trời
  • Tận dụng framework Apple Vision để chạy cục bộ việc trích xuất văn bản từ ảnh với 83.418 lượt mỗi năm và xử lý 48GB hình ảnh
  • Toàn bộ hệ thống gồm EcoFlow River 2 Pro, mini PC, mạng Tailscale và nhiều thành phần khác
  • Điểm nổi bật là hiện thực hóa hoàn toàn off-grid bằng điện mặt trời và chứng minh hiệu quả tiết kiệm $84~120 CAD tiền điện mỗi năm
  • Nhấn mạnh ý nghĩa của điện toán cục bộ từ nhiều góc độ như bảo vệ quyền riêng tư, chi phí, độc lập năng lượng, giảm rác thải điện tử

Tổng quan dự án

  • Đây là trường hợp xử lý 83.418 yêu cầu OCR48GB hình ảnh trong khoảng 1 năm bằng máy chủ iPhone 8 chạy bằng năng lượng mặt trời
  • Đa số mọi người giữ lại iPhone đời cũ, nhưng tác giả chuyển nó thành một máy chủ off-grid nhằm tiết kiệm chi phí và thân thiện hơn với môi trường
  • Máy chủ OCR là một dự án phụ, vận hành tách biệt với blog

Tóm tắt kỹ thuật (TL;DR)

  • Cấu hình hệ thống
    • Chạy ứng dụng SwiftUI trên iPhone 8 và thực hiện OCR bằng Apple Vision
    • Sử dụng kết hợp EcoFlow River 2 Pro (768Wh) và tấm pin mặt trời 220W
    • Mini PC phụ trách dịch vụ web và định tuyến API
    • Duy trì kết nối an toàn giữa các thiết bị bằng mạng Tailscale
  • Kết quả chính sau 1 năm
    • Tổng cộng 83.418 lượt OCR và xử lý 48GB hình ảnh
    • Ngày bận rộn xử lý hơn 1.000 lượt
    • Sau 1 năm sử dụng liên tục, tình trạng pin iPhone còn ở mức 76%
    • Tiết kiệm được $84~120 CAD tiền điện mỗi năm
  • Những điểm rút ra chính
    • Framework Apple Vision có độ chính xác đủ sức so sánh với các dịch vụ đám mây
    • Thiết bị cũ vẫn cho thấy độ tin cậy cao với workload máy chủ
    • Năng lượng mặt trời đủ để vận hành điện toán nếu chú ý quản lý pin
    • Cách xử lý cục bộ đặc biệt vượt trội về quyền riêng tưtiết kiệm chi phí

Bối cảnh dự án: Vì sao lại làm việc này?

Động lực hợp lý

  • Tác giả đang thực hiện một dự án tự động phân loại hàng trăm bức ảnh
  • Lựa chọn hợp lý là xử lý OCR bằng Apple Vision trên máy Mac

Áp dụng “cách làm của riêng mình”

  • Tác giả suy nghĩ cách tận dụng chiếc iPhone 8 cũ còn dư và EcoFlow River 2 Pro
  • Thay vì giữ nguyên máy chủ OCR hiện có, tác giả cải tạo nó sang nền tảng năng lượng mặt trời để theo đuổi sự thỏa mãn cá nhân

Những lợi ích ngoài dự tính

  • Có thể dựng dashboard thời gian thực để vừa ngắm chim bên cửa sổ vừa theo dõi trạng thái hệ thống
  • Đạt được độc lập năng lượng cho dự án cá nhân
  • Chứng minh hiệu quả tiết kiệm hằng năm bằng mức tiêu thụ điện tích lũy thực tế (37,4~45,8 kWh/tháng)
  • Thiết bị trở thành một chủ đề trò chuyện thú vị với khách ghé thăm

Cấu hình hệ thống

  • Mini PC: chạy nhiều dịch vụ như web server, xử lý ảnh, Plex server

  • iPhone 8: đảm nhiệm OCR và dashboard thông qua ứng dụng SwiftUI

  • Trạm điện EcoFlow: vận hành off-grid cho cả hai thiết bị

  • Tailscale: hỗ trợ kết nối mạng an toàn

  • Luồng xử lý

    • Dịch vụ xử lý ảnh gửi hình đến iPhone → chạy OCR bằng Apple Vision → trả kết quả và hiển thị thống kê trên dashboard
    • Toàn bộ quy trình vận hành chỉ bằng năng lượng mặt trời, không phụ thuộc điện lưới bên ngoài

Phần cứng và năng lượng mặt trời

Lựa chọn trạm điện

  • EcoFlow River 2 Pro ban đầu được mua để đi cắm trại, nhưng lại rất phù hợp cho dự án này
  • Tác giả khuyên so sánh giá mua thực tế của trạm điện tại những nơi như GearScouts.com
  • Máy chủ iPhone 8 tiêu thụ điện rất hiệu quả: 0,5~1W (khi chờ), 2~5W (khi xử lý)
  • Mini PC tiêu thụ 15~30W, tổng điện năng dùng mỗi ngày khoảng 1,2kWh

Hiệu năng điện mặt trời theo mùa

  • Mùa hè: đầu vào tối đa 150~220W, có thể vận hành và sạc không giới hạn
  • Mùa thu/xuân: trung bình 20~60W, dùng kết hợp với pin
  • Mùa đông: 5~20W, chủ yếu dựa vào pin (vận hành 15~20 giờ)
  • Nhờ dung lượng lớn và quản lý sạc/xả của River 2 Pro, hệ thống duy trì ổn định lâu dài

Phát triển ứng dụng máy chủ OCR trên iOS

Điểm mạnh của framework Apple Vision

  • Apple Vision cung cấp OCR rất nhanh và chính xác ngay trên thiết bị
  • Có thể xử lý hoàn toàn nội bộ, không cần API ngoài hay dịch vụ đám mây
  • Có cung cấp ví dụ mã sử dụng (xử lý UIImage → trích xuất văn bản)
  • Tạo được môi trường không phải lo rò rỉ dữ liệu cá nhân hay phí đám mây

Dashboard SwiftUI và phân tích

  • Dashboard hiển thị thống kê thời gian thực (yêu cầu hôm nay, tổng số lượt, thời gian xử lý trung bình, tỷ lệ thành công)
  • Tích hợp Google Analytics 4 để xem dữ liệu người dùng/nghiên cứu phiên/người dùng thời gian thực
  • Có thể ngắm dashboard trên máy chủ đặt bên cửa sổ như một trung tâm dữ liệu thu nhỏ

Thách thức thực tế khi vận hành bằng năng lượng mặt trời

  • Do đặc điểm Canada, mùa hè nhiều nắng ngắn còn mùa đông nhiều mây kéo dài, nên cần chiến lược vận hành theo mùa

  • Mùa hè: có thể vừa sạc vừa chạy chỉ bằng điện mặt trời

  • Mùa xuân/thu: mô hình lai điện mặt trời + pin

  • Mùa đông: chủ yếu chạy bằng pin, điện mặt trời chỉ hỗ trợ gián đoạn

  • Sau 1 năm vận hành liên tục, tình trạng pin iPhone vẫn giữ ở mức 76%

  • Trong môi trường nhiệt độ thấp, tốc độ OCR giảm; khi ấm hơn thì chạy nhanh hơn

Phân tích chi phí

Chi phí đầu tư và vận hành

  • Đầu tư ban đầu
    • EcoFlow River 2 Pro: $599 CAD (đã có sẵn để đi cắm trại)
    • Tấm pin mặt trời 220W: $180 CAD
    • Phụ kiện: khoảng $50 CAD
    • Tổng vốn đầu tư thêm cho điện mặt trời: khoảng $230 CAD
  • Dựa trên mức tiêu thụ thực tế trung bình mỗi tháng, tiết kiệm $84~120 CAD mỗi năm → dự kiến hoàn vốn trong 2~3 năm

So sánh với dịch vụ OCR đám mây

  • OCR đám mây tính phí khoảng $1,00~1,50 cho mỗi 1.000 lượt, nên với cùng số yêu cầu sẽ tốn $83~125 CAD
  • Khi xử lý cục bộ bằng điện mặt trời, chi phí mỗi yêu cầu là 0 và vẫn đảm bảo quyền riêng tư tuyệt đối

Trải nghiệm vận hành trong 1 năm

Độ tin cậy và điểm cải tiến

  • Xác nhận độ ổn định bền bỉ của phần cứng cũ, vận hành bình thường không gián đoạn hơn 1 năm
  • Có thể tổ chức hiệu quả cả phần xử lý nền trên iOS (tận dụng yêu cầu định kỳ, làm mới ứng dụng)
  • Framework Vision tiếp tục cải thiện tỷ lệ nhận diện qua các bản cập nhật, mạnh hơn với chữ viết tay và font không chuẩn

Vấn đề phát sinh và cách xử lý

  • Với bài toán năng lượng mặt trời không liên tục, tác giả ưu tiên tắt mini PC trước để chỉ còn iPhone xử lý yêu cầu
  • Vấn đề quá nhiệt được xử lý đồng thời bằng che nắng, lưu thông không khí và điều chỉnh khối lượng xử lý theo nhiệt độ
  • Các hạn chế chạy nền của iOS được lách qua bằng cách dùng tối thiểu thông tin vị trí, phản hồi HTTP định kỳ, v.v.

Ý nghĩa và hàm ý

  • Ưu tiên quyền riêng tư: hình ảnh không bị gửi ra ngoài mà được xử lý hoàn toàn nội bộ

  • Tự chủ năng lượng: dù ở quy mô nhỏ, hệ thống chứng minh khả năng chạy workload điện toán bằng năng lượng tái tạo

  • Giảm rác thải điện tử: chuyển thiết bị cũ tưởng như hết giá trị thành hạ tầng có giá trị cao

  • Điện toán thiên về cục bộ: trình diễn khả năng thoát phụ thuộc tuyệt đối vào đám mây và xử lý dữ liệu tại chỗ hiệu quả

  • Hệ thống này có giá trị ứng dụng cao như một bản demo về năng lượng tái tạo, điện toán cục bộ và IoT

  • Khung cảnh bên cửa sổ nơi vừa ngắm chim vừa kiểm tra trạng thái máy chủ đem lại sự hài lòng cá nhân lớn cho tác giả

Tài liệu và tham khảo thêm

Phần cứng

  • TP-Link Kasa Smart Plug: dùng để theo dõi mức tiêu thụ điện thực tế

  • EcoFlow App: kiểm tra trạng thái River 2 Pro

  • GearScouts.com: so sánh giá trạm điện/thiết bị outdoor

  • Tại thời điểm viết bài này, máy chủ iPhone 8 đang xử lý yêu cầu OCR thứ 83.418 hoàn toàn bằng năng lượng mặt trời

1 bình luận

 
GN⁺ 2025-06-19
Ý kiến trên Hacker News
  • Tôi chỉ tiết kiệm được khoảng $84~120 CAD mỗi năm, nhưng thực tế để chạy ứng dụng của mình trên chính chiếc điện thoại của mình quá một tuần thì lại phải trả thêm $99/năm cho Apple, nên cảm giác lợi ích thực sự chẳng còn bao nhiêu
  • Tôi nghĩ khoản phí thường niên này của Apple đúng là một chính sách vô lý. Không hiểu dựa trên cơ sở gì mà cần tới $99. Thật khó tin rằng chỉ để Apple lưu trữ một ứng dụng mà họ phải tốn tới 99 đô cho chi phí hạ tầng hay máy chủ. Khi tôi mua một thiết bị thì nó phải thực sự thuộc về tôi, nhưng Apple cứ liên tục đặt ra giới hạn để tôi không thể dùng theo ý mình. Cuối cùng có cảm giác như mình đang thuê chiếc thiết bị đã bỏ tiền mua. Tôi là fan Apple lâu năm, nhưng đúng là mối quan hệ yêu ghét lẫn lộn
  • iPhone 8 có lỗ hổng bootrom checkm8, nên dù bài viết không nhắc tới, về nguyên bản người ta có thể jailbreak và chạy phần mềm mong muốn mà không tốn chi phí nào. Nhờ lỗ hổng này mà đã có rất nhiều kiểu hack và cách tận dụng khác nhau, nhưng gần đây điều đó cũng kết thúc khi iPad thế hệ 7, thiết bị dễ bị ảnh hưởng cuối cùng, không còn được hỗ trợ trên iPad OS 26 nữa.
  • Tôi biết là chỉ cần trả phí khi đưa ứng dụng lên App Store. Trước đây khi tôi tự làm ứng dụng cho iPhone thì chưa từng phải trả khoản nào cả
  • Nếu là iPhone có lỗ hổng phần cứng checkm8, có lẽ bạn có thể jailbreak rồi cài plugin bỏ qua code signing để tiếp tục phát triển và dùng app sideload mà không cần trả $99 mỗi năm
  • Bản thân iPhone đã quá cũ, nên kể cả coi như nhặt được miễn phí thì trên thực tế chi phí cho phần cứng điện mặt trời và pin vẫn đội thêm khoảng $1,000
  • Về mặt kỹ thuật thì rất thú vị, nhưng gần như không có giải thích rõ ràng về mục đích sử dụng thực tế nên tổng thể vẫn hơi trừu tượng
  • Bài viết hay, nhưng tôi vẫn muốn có thêm phần giải thích về các trường hợp sử dụng thực tế
  • Tôi cũng nghĩ y như vậy nên mới vào phần bình luận để xem
  • Apple sắp bổ sung SpeechAnalyzer API, nhờ đó sẽ có thể chuyển giọng nói thành văn bản ngay trên máy cục bộ. API này được đánh giá là còn nhanh hơn whisper. Có thể xem thêm trong video WWDCbài viết MacRumors
  • Để tham khảo thêm, có dự án yap, một công cụ CLI dùng Speech.framework trên macOS 26 để chuyển giọng nói cục bộ. Theo bài viết của MacStories thì nó nhanh gần gấp đôi whisper, và vì không có mạng hay máy chủ dùng chung tham gia nên cảm giác thực tế còn nhanh hơn
  • Dự án lần này có tinh thần hacker và văn phong rất cuốn hút, nhưng tôi muốn nói một câu về “hiệu ứng mạng lưới hacker” mà HN thường ngầm lan truyền. Lúc nào cũng thấy những bài kiểu “Tôi đã làm được thứ này trên một nền tảng khép kín, các bạn có muốn dùng thứ tôi làm cho tiện không? Nhưng đổi lại là sẽ bị trói vào nền tảng đó mãi mãi.” Trường hợp lần này hơi khác ở chỗ tác giả giải thích “vì sao điều này quan trọng” một cách rất sâu sắc, và tôi đánh giá cao điều đó
  • Việc tái sử dụng thiết bị cũ rõ ràng là một ý tưởng đáng giá. Nếu không thích nền tảng khép kín thì đừng mua, nhưng dù sao đi nữa, ít nhất cách này cũng giúp ngăn hàng triệu chiếc iPhone đời cũ bị vứt bỏ thành rác thải
  • Ví dụ như dạo này tôi đang dùng một ứng dụng Android thấy trên F-Droid, mà tiêu đề kiểu như “Tôi làm ra <ứng dụng FOSS> mà không dùng <framework phổ biến>!” đại loại thế. Nhưng cuối cùng tính năng mới là điều quan trọng nhất, mà nó thì lỗi quá nhiều, đến mức tôi đã bực mình xóa đi cài lại nhiều lần. Tôi nghĩ việc đánh giá cả khía cạnh chức năng lẫn triết lý ở nhiều cấp độ khác nhau thực sự rất quan trọng
  • Tôi không hiểu rõ cần OCR loại hình ảnh nào mà phải cần tới giải pháp như thế này. Không biết chủ yếu họ đang xử lý những hình ảnh gì
  • Tôi đoán là anh ấy chỉ đơn giản rất muốn thử framework OCR của Apple, và tiện thể dùng luôn chiếc iPhone đang có. Tôi đã vào trang chính của blog anh ấy để tìm xem họ xử lý loại ảnh nào nhưng không thấy nói gì liên quan. Hay là anh ấy đang quét cả bộ sưu tập tiểu thuyết chăng?
  • Tôi cũng có khoảng 7 chiếc điện thoại/máy tính bảng Android cũ không còn dùng, nhưng vẫn chưa nghĩ ra được một quy trình làm việc nào đủ hay để tận dụng tất cả thành một kiểu server farm mini
  • Một bài viết nổi tiếng liên quan về việc dùng iPhone làm máy chủ OCR là Image OCR & giá đỡ iPhone
  • Câu chuyện rất hay. Tôi nghĩ Apple thực sự đáng được khen vì vẫn cho phép các thiết bị cũ tiếp tục hữu dụng. Tôi cũng từng có trải nghiệm tương tự khi tái sử dụng chiếc iPhone SE đời đầu cũ để tạo ra một mục đích mới. Chia sẻ trải nghiệm liên quan
  • Tôi khá khó đồng ý với nhận định rằng Apple đang “cứu sống” thiết bị cũ. Muốn tìm ra cách dùng mới cho một chiếc iPad cũ đòi hỏi rất nhiều công sức, và tôi không rõ điều đó đã thay đổi chưa
  • Tôi hoàn toàn không đồng ý với góc nhìn này. Tôi đã phải bỏ hẳn iPhone 7 vì không còn cập nhật iOS, đến mức ngay cả ứng dụng ngân hàng cũng không chạy nếu phiên bản quá thấp. Và như đã thấy trong vụ batterygate, Apple cũng là công ty sẵn sàng âm thầm làm giảm hiệu năng của người dùng
  • Đọc nội dung này làm tôi nhớ tới câu chuyện về người đã dùng OCR trên iPhone để xây dựng cơ sở dữ liệu meme. Những ý tưởng kiểu hồi sinh thiết bị cũ cho mục đích mới như thế này thực sự rất thú vị. Nếu có thể cài ethernet + docker lên một chiếc điện thoại Android bị bỏ quên thì biết đâu còn tạo ra được một kiểu VPS tạm ổn với hiệu năng khá tốt. Bình luận HN liên quan
  • Có một điểm được phát hiện: nội dung nói rằng tốc độ OCR trên iPhone lại tốt hơn khi máy hơi ấm, điều này khá thú vị. Vào những buổi sáng lạnh ở Canada thì tốc độ xử lý giảm xuống, còn khi dùng nguồn điện từ ổ cắm trên tường thì lại không thấy hiện tượng đó. Không biết có phải Apple cũng áp giới hạn hiệu năng khi trời lạnh hay ở nhiệt độ thấp không. Theo trải nghiệm của tôi thì trời lạnh máy chỉ tắt phụp chứ không đến mức cảm thấy bị giảm hiệu năng. Tất nhiên tôi không chạy tác vụ quan trọng trên điện thoại nên cũng chưa từng benchmark hiệu năng