編譯 | 屠敏
出品 | CSDN(ID:CSDNnews)
廢舊手機不想用了,別著急隨手丟或者拿去換“臉盆”,拿過來動手改裝改裝,或許有意外之喜,比如把它變成一臺 OCR(光學字符識別)服務器——自動讀取圖片中的文本內容,并將其轉換為可編輯、可搜索的數字文本格式。
聽起來是不是有些不可思議?但這正是開發者 Hemant Kumar 的親身實踐。
他用一臺本該躺在抽屜里落灰的 iPhone 8,成功改造成了一臺完全離網運行的太陽能 OCR 服務器。
運行一年多來,這套系統依靠 Apple 的 Vision 框架和可再生能源,已經默默處理了83,418 次 OCR 請求、識別了48GB 圖像數據。
“變廢為寶”,還能處理這么多的數據?下面我們不妨就來看看他是怎么做到的。
一臺 iPhone 8“重生”之成為太陽能驅動的 OCR 服務器
為什么會想到把 iPhone 8 “改裝”為服務器,Hemant 坦言,這并非是他的主業項目,只是他在日常工作之外的一個“技術小嘗試”。他有一個圖片量很大的個人項目,每天要處理大量圖像,并自動完成分類。
按照常規邏輯,很多人在遇到這種情況時,會選擇直接在 Mac 上跑 OCR 最省事。
但 Hemant 顯然不是一個“走尋常路”的人。
看到抽屜里那臺還能運行的 iPhone 8,他心里冒出個念頭:“與其吃灰,不如給它安排點正經活干,干脆讓它當個太陽能 OCR 勞模?!?/p>
除了 iPhone 8 之外,Hemant 還搬出了家里閑置著的一臺 EcoFlow River 2 Pro 電源站,充當這個項目的“能源心臟”。
在 Hemant 看來,這個項目不只是環保,還有這些意外驚喜:
在窗臺上,不僅能觀鳥,也能查看一個實時運行的儀表盤
項目實現完全離網運行,哪怕斷電也不怕
隨著時間推移,能節省越來越多的成本
當朋友來串門時,這就是最吸睛的“話題神器”
Hemant 透露,根據實際用電統計,僅 4 月和 5 月,這臺系統分別消耗了 45.8 kWh(約 8.82 加元)和 37.4 kWh(約 7.21 加元)的電力。一年下來,節省的電費也相當可觀。
“實用性見仁見智,但帥氣程度毋庸置疑?!?/p>
那這玩意到底長啥樣?
簡單來說,這是一套精心設計的離網系統,核心組件清單如下:
iPhone 8:穩穩擺在窗臺上,運行 SwiftUI 應用,既是 OCR 處理單元,又是實時信息面板,負責圖像識別(使用 Apple Vision)
EcoFlow River 2 Pro(768Wh)便攜電源 + 220W 太陽能板,通過太陽能驅動,讓整套系統不依賴電網
一臺 Mini PC:承擔 Web 服務、圖像處理服務、Plex 媒體服務器等多個后臺任務
Tailscale 網絡:實現設備之間的安全互聯
工作原理也非常簡單:Hemant 開發的圖像處理服務把圖片發送到手機,手機通過 Apple 的 Vision 框架進行 OCR 識別,然后將識別結果發回,同時更新儀表盤上的處理統計數據。
“而我就在窗邊一邊觀鳥,一邊暗自得意這套系統的妙處?!盚emant 寫道。
硬件設置:太陽能與計算的結合
電源站的選擇與現實檢驗
說起來,這臺 EcoFlow River 2 Pro 電源站也不是 Hemant 特地為打造這個太陽能服務器項目購買的,而是他本來打算露營用。
Hemant 原本信誓旦旦要當個露營愛好者,結果露營沒怎么去成,倒是提前“為技術理想埋了伏筆”。雖然他笑稱自己是個“有戶外幻想的宅人”,但至少這筆沖動消費沒閑著——不僅派上了用場,還變成了一整個項目的基礎設施核心。
電力消耗和太陽能性能
真正落地時,能源管理才是最現實的問題。Hemant Kumar 的這套系統也不例外:一邊要喂飽全天在線的 iPhone 和 Mini PC,另一邊還得看天吃飯,靠太陽吃飯——在加拿大的天氣條件下,這并不輕松。
設備功耗一覽
組件
待機功耗
高負載功耗
iPhone 8 OCR 服務器
0.5–1W
2–5W
出奇地節能
Mini PC(跑多項服務)
15W
25–30W
包括 Plex、歸檔工具等
每日總功耗
~1.2kWh
視情況波動
基于 TP-Link 插座實測數據
太陽能表現則更依季節而定:
夏季:日照強勁,太陽能輸入可達 150–220W,不僅系統可持續運行,還能順便給其他設備充電。
春秋季:太陽能輸入平均在 20–60W,需要太陽能與電池混合供電。
冬季:如果運氣好,太陽能也就 5–20W,主要依賴電池運行,可支撐 15–20 小時。
所幸 EcoFlow River 2 Pro 有 768Wh 的容量,加上自帶的電池管理系統,不僅僅是“把電送出去”,還能智能調控充電曲線,面對加拿大多變天氣也足夠應對。
iPhone 也能當服務器?是的。
雖然聽起來有點不可思議,但 Hemant 表示:在 iOS 上搭建 OCR 服務端其實比想象中簡單,蘋果已經替你干掉了 90% 的底層苦活。
真正的挑戰在于——讓 iOS 不“誤以為”你這個應用可以隨便殺掉。
窗臺上的 iPhone 8,不僅觀景,還在持續處理圖像識別任務
蘋果 Vision 框架:被嚴重低估的本地 OCR 能力
當所有人都沉迷于 ChatGPT 和云端 OCR 服務之際,Hemant 表示,Apple 自家的 Vision 框架反而顯得低調得有些可惜。
它是一款快速、準確且完全在設備上運行的本地 OCR 解決方案。
以下是核心處理代碼:
import Vision
import UIKit
func processImage(_ image: UIImage, completion: @escaping (String?) -> Void) {
guard let cgImage = image.cgImage else {
completion(nil)
return
}
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results as? [VNRecognizedTextObservation] else {
completion(nil)
return
}
let recognizedText = observations.compactMap { observation in
observation.topCandidates(1).first?.string
}.joined(separator: "\n")
completion(recognizedText)
}
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true
let handler = VNImageRequestHandler(cgImage: cgImage, options: [:])
try? handler.perform([request])
}
Hemant 表示,“識別準確率堪比我測試過的一些云服務,而且整個過程完全在本地完成——沒有 API 調用、沒有使用次數限制、更沒有隱私隱患?!?/p>
SwiftUI 儀表盤與數據統計
要說整個系統里最“賞心悅目”的部分,莫過于那塊用 SwiftUI 寫的儀表盤界面了。它展示的界面既要讓 iPhone 8 擺在窗臺上好看,又能實時展示各項數據指標。
struct DashboardView: View {
@StateObject private var server = OCRServer()
@State private var stats = ProcessingStats()
var body: some View {
VStack(spacing: 20) {
Text("OCR Server Status")
.font(.title)
.fontWeight(.bold)
HStack {
StatCard(title: "Requests Today", value: "\(stats.requestsToday)")
StatCard(title: "Total Processed", value: "\(stats.totalProcessed)")
}
HStack {
StatCard(title: "Avg Processing Time", value: "\(stats.avgProcessingTime)ms")
StatCard(title: "Success Rate", value: "\(stats.successRate)%")
}
BatteryView(percentage: UIDevice.current.batteryLevel)
Text("Server running on port 8080")
.font(.caption)
.foregroundColor(.secondary)
}
.padding()
}
}
除了實時展示服務器狀態、識別請求數、平均耗時、成功率等關鍵指標,Hemant 還接入了 Google Analytics 數據,現實了更多的數據,如:
月活用戶:17,643
總用戶數:139,917
平均會話時長:6 分 28 秒
當前活躍用戶數:11
不夸張地說,這塊“窗臺上的數據面板”,儼然就是他個人數據中心的可視化中控。
太陽能的現實挑戰:加拿大的天氣說變就變
理論上講,用太陽能驅動電子設備沒啥問題——但理論碰到加拿大的冬天,就沒那么美好了。畢竟 Hemant 自嘲說,“我們這里的夏天就三天,剩下的不是陰就是多云。讓太陽能板的作用幾乎和巧克力茶壺一樣‘感人’。”
于是,他根據四季變化制定了不同的運行策略:
夏天:完全由太陽能驅動,順便還能給別的設備“帶電”
春秋:太陽能+電池混合供電,需時刻監控負載情況
冬天:主要靠電池供電,偶爾陽光“打賞”一點電力
值得一提的是,iPhone 電池經過一年多連續運轉,健康度仍有76%。
Hemant 透露,自己還有個意外發現:稍微“暖和”一點時,iPhone 的 OCR 處理速度更快。而在零下氣溫下,識別過程確實會變慢——如果不是整天離網運行,恐怕也很難注意到這一點。
成本核算:太陽能真的省錢嗎?
前期投入成本:
EcoFlow River 2 Pro 電源站:約 599 加元(原本是露營用)
220W 太陽能板:180 加元
相關線材和支架:約 50 加元
太陽能系統其他配置:約 230 加元
總計約 1059 加元。而根據 EcoFlow 提供的實際數據,系統每月耗電約為 37.4 至 45.8 千瓦時,按此計算,每年大約能節省 84 至 120 加元的電費。設備投入的回本周期大概在 2 到 3 年之間。
與云端 OCR 服務的對比
目前市面上的云端 OCR 服務通常按量計費,每 1000 次請求約需 1.00 至 1.50 加元。按 Hemant 的統計,自己這臺小 iPhone 已經處理了超過83,000 次 OCR,如果全走云服務,那得花上$83–125 加元,還得把圖片傳來傳去,談不上隱私可言。
Hemant 表示,「而我的太陽能系統?單次處理零成本,隱私也百分百可控。
設備成功運行一年后:意外之喜仍不少
自建這套系統及裝置后,Hemant 稱,iPhone 連續運行一年沒出過大問題,盡管長期高負載,性能幾乎沒有明顯下降。iOS 的后臺處理能力也比想象中更靠譜——前提是你找對了方法。關鍵在于合理使用后臺刷新功能,并通過定期請求讓 HTTP 服務器保持活躍狀態。
此外,Hemant 表示,過去一年,Apple 的 Vision 框架也在不斷進化。以前識別失敗的文本,現在幾乎都能準確提取,尤其是在手寫體和一些非常規字體上的表現大有提升。
當然也還有一些常見挑戰,Hemant 也給出了相應的應對之策:
太陽能供電不穩定:Hemant 設置了電源站的優先級,讓耗電較低的手機優先供電,當電量不足時,Mini PC 會自動平穩關機。必要時,手機可以單獨運行幾個小時,處理基礎的 OCR 請求沒問題。
溫控管理:直曬加上連續運行,很容易導致設備過熱、降頻運行。為此 Hemant 加了遮陽裝置,改善了通風條件,還設定了智能調度策略——當手機報告溫度過高時,系統會自動減少請求頻率。
iOS 后臺運行限制:iOS 本質上并不希望 App 永遠在后臺運行。Hemant 的策略是結合后臺刷新、極簡定位服務,并確保 HTTP 服務持續響應請求,在“保持活躍”與“節省電量”之間尋找微妙的平衡點。
這件事為什么值得做?
當然整體看來,這個項目除了“看起來很酷”之外,其實也體現了幾個非常關鍵的理念:
隱私優先:所有圖像都保留在本地設備,不上傳云端、不經第三方。在如今這個“什么都要傳到別人的服務器”的時代,本地處理反而顯得格外有價值,甚至有些“革命性”的味道。
能源獨立:雖然節省的電費不至于改變生活,但它傳遞出的理念更重要——即便在氣候條件復雜的地方,依靠可再生能源依然可以承載真正有價值的計算任務。
減少電子垃圾:這臺 iPhone 原本該被塞進抽屜吃灰,如今卻成了系統中勤奮工作的成員。想想還有多少“舊設備”也可以像它一樣被重新利用,而不是變成電子垃圾?
本地優先的計算方式:并不是所有服務都得跑在云端,有時候,最合適的解決方案就擺在你眼前——它靠太陽運行、在本地處理數據,而且完全掌控在你自己手中。
Hemant 表示,這套系統已經成了他家里的“招牌展示項目”,“每當有朋友對可再生能源或本地計算感興趣,我都會帶他們看看窗臺上的這套裝置。當然,我自己也很喜歡在一邊觀鳥的同時,看著儀表盤上不斷跳動的實時處理數據——一種技術帶來的樸素滿足感?!?/p>
經驗分享
基于以上的經驗和體驗,他總結道:
Apple Vision 框架識別效果已能媲美主流云服務
老設備穩定性出人意料,撐服務器綽綽有余
合理的電池管理能讓太陽能系統運行更長久
本地部署在隱私和長期成本上都優于云服務
最后,Hemant 也分享了一些在線資源供對此項目感興趣的愛好者:
硬件建議:
EcoFlow River 2 Pro(主力電源):https://us.ecoflow.com/products/river-2-pro-portable-power-station
Renogy 100W 太陽能板:https://www.renogy.com/100-watt-12-volt-monocrystalline-solar-panel/
任意一臺運行 iOS 13+ 的 iPhone 8 或更新機型,前提是保證它們能夠支持 Vision 框架
軟件資源:
官方 OCR 實現文檔——Apple Vision 框架文檔:https://developer.apple.com/documentation/vision
iOS 后臺刷新指南:https://developer.apple.com/documentation/backgroundtasks
SwiftUI 中實現 HTTP Server 的教程:https://github.com/Building42/Telegraph
電源管理工具:
TP-Link Kasa 智能插座(查看用電實測):https://www.kasasmart.com/
EcoFlow 自帶應用(電池狀態監控)
GearScouts.com(便攜電源比價利器):https://gearscouts.com/
原文:https://terminalbytes.com/iphone-8-solar-powered-vision-ocr-server/
2025 全球產品經理大會
8 月 15–16 日
北京·威斯汀酒店
2025 全球產品經理大會將匯聚互聯網大廠、AI 創業公司、ToB/ToC 實戰一線的產品人,圍繞產品設計、用戶體驗、增長運營、智能落地等核心議題,展開 12 大專題分享,洞察趨勢、拆解路徑、對話未來。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.