1 pontos por GN⁺ 2025-06-19 | 1 comentários | Compartilhar no WhatsApp
  • Um iPhone 8 que quase ficou esquecido na gaveta foi transformado em um servidor de OCR baseado em SwiftUI e, com Apple Vision, processou 83.418 requisições e 48 GB de imagens por mais de um ano
  • O sistema é composto por iPhone 8, um Mini PC para serviço web e roteamento de API, EcoFlow River 2 Pro 768Wh, painel solar de 220W e rede Tailscale
  • O consumo total de energia é de cerca de 1,2 kWh por dia, e a entrada solar varia bastante conforme a estação, de picos de 150~220W no verão a apenas 5~20W no inverno
  • Após operação contínua, a saúde da bateria do iPhone permaneceu em 76% e, em dias movimentados, ele processou mais de 1.000 requisições, embora as limitações de segundo plano do iOS e o controle térmico tenham exigido medidas específicas
  • Em vez de OCR na nuvem, foi escolhido o processamento local, eliminando custo por requisição e upload para servidores externos, além de gerar economia anual de 84~120 CAD em eletricidade e reduzir lixo eletrônico

Convertendo um iPhone 8 antigo em servidor de OCR

  • Um projeto pessoal de processamento de imagens classifica automaticamente centenas de imagens por dia, e o OCR originalmente também podia ser executado no Mac
  • Um iPhone 8 que não estava sendo usado foi combinado com uma EcoFlow River 2 Pro comprada para camping e transformado em um servidor de OCR movido a energia solar
  • O processamento de OCR é usado em um projeto paralelo separado do blog
  • Os resultados após mais de um ano de operação foram os seguintes
    • 83.418 requisições de OCR processadas
    • 48 GB de dados de imagem processados
    • Mais de 1.000 requisições em dias movimentados
    • Saúde da bateria do iPhone em 76%
    • Economia anual de 84~120 CAD na conta de luz

Configuração do sistema e fluxo de processamento

  • A configuração completa é dividida entre quatro dispositivos e a rede
    • Mini PC: executa o servidor web, serviço de processamento de imagens, servidor Plex e outros serviços
    • iPhone 8: na janela, executa um app SwiftUI responsável pelo OCR e por um dashboard em tempo real
    • Estação de energia EcoFlow: fornece energia off-grid para o iPhone e o Mini PC
    • Rede Tailscale: faz a conexão entre os dispositivos
  • Quando o serviço de processamento de imagens envia uma imagem para OCR ao iPhone, o iPhone reconhece o texto com Apple Vision e depois envia o resultado de volta
  • O dashboard do iPhone mostra estatísticas de processamento e o estado do servidor; a interface de exemplo inclui Requests Today, Total Processed, Avg Processing Time, Success Rate, estado da bateria e Server running on port 8080
  • O Google Analytics 4 também foi integrado, e o dashboard exibe 139.917 usuários no total, 17.643 neste mês, sessão média de 6 min 28 s e 11 usuários ativos no momento

App de OCR para iOS baseado em Apple Vision

  • Ao criar um servidor no iOS, a parte mais difícil foi manter o app em execução contínua
  • O núcleo do OCR é VNRecognizeTextRequest do framework Vision
    • recognitionLevel = .accurate
    • usesLanguageCorrection = true
    • VNImageRequestHandler recebe uma CGImage e executa a requisição
    • O resultado reconhecido é retornado reunindo as strings da melhor candidata de cada VNRecognizedTextObservation
  • Como o OCR é executado no próprio dispositivo, não há chamadas de API, limites de uso nem envio de imagens para servidores externos
  • A precisão é comparável à de alguns serviços em nuvem testados
  • O reconhecimento de texto do framework Vision melhorou com o tempo, e especialmente em escrita à mão e fontes incomuns passou a funcionar em casos em que antes falhava

Configuração de energia solar e operação por estação

  • O equipamento de energia é uma EcoFlow River 2 Pro 768Wh com painel solar de 220W
  • Com base nos dados da TP-Link, o consumo real total é de cerca de 1,2 kWh por dia
Componente Consumo ocioso Carga de processamento Observações
Servidor OCR iPhone 8 0,5~1W 2~5W Eficiente
Mini PC 15W 25~30W Inclui Plex e Archive Warriors
Consumo diário total cerca de 1,2kWh Variável Baseado em dados da TP-Link
  • O desempenho solar varia bastante conforme a estação
    • Verão: pico de entrada de 150~220W, permitindo operação contínua e até recarga da bateria
    • Primavera/outono: média de 20~60W, com operação híbrida entre solar e bateria
    • Inverno: com sorte 5~20W; na maior parte do tempo usa a bateria, com autonomia de 15~20 horas
  • O sistema de gerenciamento de bateria do River 2 Pro controla a curva de carga, em vez de simplesmente empurrar energia para os dispositivos
  • Nas manhãs frias do Canadá, o tempo de processamento ficava mais lento, e o iPhone processava o OCR mais rapidamente quando estava levemente aquecido

Cálculo de custos e comparação com OCR na nuvem

  • O custo inicial foi o seguinte
    • EcoFlow River 2 Pro: 599 CAD, originalmente comprada para camping
    • Painel solar de 220W: 180 CAD
    • Cabos e hardware de montagem: cerca de 50 CAD
    • Investimento solar adicional: cerca de 230 CAD
  • Segundo os dados reais da EcoFlow, o consumo mensal foi de 37,4 kWh em maio e 45,8 kWh em abril
  • Convertendo isso em conta de luz, a economia estimada é de cerca de 84~120 CAD por ano, com retorno do investimento em aproximadamente 2~3 anos
  • Serviços de OCR na nuvem normalmente cobram 1,00~1,50 CAD por 1.000 requisições
  • Se as mais de 83.000 requisições tivessem sido processadas por OCR em nuvem, o custo estimado teria sido de 83~125 CAD
  • Na configuração solar local, não há custo por requisição nem envio de imagens para servidores externos

Estabilidade e limitações observadas em 1 ano de operação

  • O iPhone 8 ficou em execução contínua por mais de um ano e não mostrou degradação perceptível de desempenho apesar da carga constante
  • O processamento em segundo plano no iOS funcionou melhor do que o esperado, mas exigiu configuração adequada
    • Uso de Background App Refresh
    • Manutenção do servidor HTTP respondendo a requisições periódicas
    • Uso mínimo de serviços de localização
  • Para lidar com a intermitência da energia solar, a estação foi configurada para priorizar o iPhone, que consome pouca energia
    • Quando a bateria fica baixa, o Mini PC é desligado de forma normal
    • O iPhone pode, se necessário, processar sozinho requisições básicas de OCR por algumas horas
  • Luz solar direta e processamento contínuo podem causar thermal throttling, então foram adicionadas medidas como sombra, melhoria do fluxo de ar e redução de requisições quando temperaturas elevadas são detectadas
  • Como o iOS não foi feito para manter apps rodando para sempre, é preciso equilibrar permanência em execução e preservação da bateria

Processamento local em primeiro lugar e reutilização de dispositivos

  • Todas as imagens permanecem no dispositivo do usuário, sem upload para a nuvem nem acesso por terceiros
  • Embora a economia não seja algo transformador por si só, o projeto mostra que cargas de trabalho computacionais úteis podem operar com energia renovável
  • Um iPhone que iria acabar na gaveta passou a ser usado como servidor de OCR, evitando virar lixo eletrônico
  • Nem todo processamento precisa estar na nuvem; dispositivos locais movidos a energia solar também podem processar dados diretamente

Recursos de referência

1 comentários

 
GN⁺ 2025-06-19
Comentários do Hacker News
  • Mesmo economizando cerca de 84 a 120 CAD por ano, para rodar seu próprio app no seu próprio celular por mais de uma semana, você precisa pagar 99 dólares por ano à Apple, então isso provavelmente anula a maior parte da economia

    • Essa taxa de desenvolvedor da Apple está entre as coisas mais absurdas que a Apple faz. Fico me perguntando se a infraestrutura de hospedagem de apps e os custos de servidor realmente chegam a 99 dólares
      Quando compro um dispositivo, quero sentir que ele é meu, mas a Apple continua empurrando a narrativa de que “nós deixamos você usar este dispositivo apenas do jeito que permitimos”. No fim, o cliente paga o preço cheio e ainda assim é como se alugasse o dispositivo da Apple
      Sou usuário antigo da Apple, mas é difícil me livrar dessa relação de amor e ódio com a empresa
    • O iPhone 8 tem a vulnerabilidade de bootrom checkm8, que não pode ser corrigida por patch; embora o texto não mencione, o autor poderia ter feito jailbreak e executado o software que quisesse sem pagar à Apple
      Essa vulnerabilidade foi uma grande vitória, e só terminou recentemente, quando o último dispositivo vulnerável, o iPad de 7ª geração, deixou de receber a atualização para o iPad OS 26
    • Pensei exatamente a mesma coisa. Considerando todo o conjunto de plataformas de desenvolvimento que alguém poderia escolher para fazer hacking maker de dispositivos fora do uso oficial, iOS é disparado a pior
      Há até eletrodomésticos que permitem lidar com desenvolvimento e distribuição de apps com mais liberdade do que o iPhone
    • Pelo que sei, você só precisa pagar se for publicar na App Store. Já fiz um app para iPhone no passado e nunca paguei nada
    • Mesmo considerando o iPhone em si como grátis por ser antigo, o hardware de energia solar e bateria custa cerca de mil dólares
  • É uma tecnologia interessante, mas não há nenhuma explicação de uso prática, então o conjunto parece um tanto abstrato

    • Gostaria de ver mais sobre a parte “a parte realmente difícil foi fazer continuar rodando mesmo quando o iOS não considera meu app importante o suficiente para mantê-lo em execução”
    • O exemplo de código do Vision framework e os links da seção “Software Resources” parecem suficientes. Se você não quiser descobrir por conta própria, também pode colocar isso em um LLM para criar a aplicação inteira
  • Em breve, com a Apple adicionando a API SpeechAnalyzer, a conversão de fala para texto também deve ser possível localmente, e dizem que é mais rápida que o Whisper
    https://developer.apple.com/videos/play/wwdc2025/277/
    https://www.macrumors.com/2025/06/18/apple-transcription-api...

    • Relacionado a isso, também há https://github.com/finnvoor/yap
      É uma CLI que usa o Speech.framework do macOS 26 para fazer transcrição de voz no dispositivo
      No artigo da MacStories, parecia cerca de 2 vezes mais rápida que o Whisper e, como não há rede nem servidor compartilhado, na prática parece ainda mais rápida
    • Ser mais rápido é bom, mas fico curioso sobre a qualidade. Mesmo que fosse 10 vezes mais lento que o Whisper 3, se a qualidade fosse 5% melhor, eu escolheria essa opção
  • É uma excelente tentativa hacker e um bom texto, mas quero apontar um padrão comum do HN sobre o que tecnólogos promovem implicitamente por meio do efeito de rede hacker
    Toda vez que aparece no HN um post de blog do tipo “consegui fazer ___ apesar de ser uma plataforma hostil a hackers, e agora posso usar o que criei, mas fico completamente preso a essa plataforma”, o bebê Jesus Linus deve derramar uma lágrima
    Este caso é um pouco peculiar, porque o autor trata de valor hacker e social incomumente bom na seção “Why This Actually Matters”

    • Reaproveitar dispositivos antigos é bom. Se uma plataforma fechada incomoda, basta não comprar um iPhone, mas, seja como for, projetos como este podem salvar muitos iPhones antigos que iriam parar em aterros
    • Concordo muito. Por exemplo, agora estou usando um app Android instalado pela Play Store, que encontrei na página inicial, e o título era “I developed and didn’t use ”
      Infelizmente, eu me importo mais com funcionalidades do que com frameworks e, desde que instalei, fico me perguntando quantas das centenas de pessoas que recomendaram realmente executaram no próprio celular aquilo que eu chamaria de app mais bugado que já tive. Já o apaguei várias vezes com raiva para tentar corrigir problemas, e alguns só se resolviam com uma instalação limpa
      O ponto central é que a filosofia almejada importa, e avaliá-la em escala é muito importante
  • Estou confuso sobre o que exatamente está sendo passado por OCR. Fico curioso sobre que tipo de processamento de imagem exige uma solução dessas

    • Acho que ele queria testar o framework de OCR da Apple, e o que tinha em mãos era esse iPhone. Fui até a página inicial do blog para procurar um texto explicando o que ele processa, mas não encontrei. Fiquei pensando se ele estaria escaneando todos os seus romances
  • Ainda tenho um iPhone 8 em uso e, comparado a um Android do mesmo ano, o Android supera o iPhone de longe. É um celular barato da linha Motorola eX; mesmo com a tela desligada, fazendo streaming de vídeo ou áudio por Wi‑Fi e enviando para Bluetooth, ele usa cerca de 15% de bateria por hora, enquanto o iPhone usa mais de 60%
    Os dois têm a mesma idade, mas o iPhone parece antiquado na prática, enquanto o Motorola barato parece um computador de meados dos anos 2010. Mesmo com a idade, o Android aguenta 2 semanas em modo avião

    • Isso provavelmente significa que a bateria do iPhone 8 degradou mais do que a do Motorola barato. Se o iPhone foi usado mais ao longo da vida útil, isso é bem possível, e não é um bom parâmetro para medir desempenho relativo
  • “Rodei por mais de um ano sem parar e a saúde da bateria do telefone ainda estava bem boa. Atualmente está em 76% da capacidade”, ele disse, mas, quando tentei deixar um iPhone SE sempre conectado, a bateria virou spicy pillow três vezes
    Na primeira vez, a Apple disse que não mexia em baterias inchadas e trocou o aparelho inteiro; depois, usei kits de substituição de terceiros
    Se a bateria fica em geral em 100%, é difícil ela durar muito. O que eu mais gostaria ao reutilizar celulares antigos é que funcionassem sem mexer na bateria, ou que houvesse um recurso para manter a bateria em 50%
    Nos celulares Apple mais recentes há uma opção de limite de 80%, o que é uma melhoria, mas não sei o quanto ajuda. Além disso, se não for um celular recente, essa opção não existe nem no iOS mais novo

    • Dá para plugar o carregador em uma tomada inteligente compatível com HomeKit e criar um Atalho que liga a tomada quando a bateria chega a 45% e desliga quando chega a 55%
      Claro que é necessário um hub HomeKit
    • A maioria desses dispositivos não consegue funcionar sem bateria porque ela fornece os picos instantâneos de corrente que a fonte externa não entrega. Se a CPU tiver um pico momentâneo de trabalho, o aparelho pode desligar
      Já vi um hack que substitui a bateria por um supercapacitor
    • Quando apareceu um spicy pillow no meu MBP de 2017, a Apple consertou o pobre aparelho e, de quebra, trocou aquele teclado amaldiçoado e colocou uma espécie de fita para reforçar as portas USB-C que estavam frouxas
      Só não trocaram a pasta térmica, então tive que fazer eu mesmo, e foi um trabalho em que nunca mais quero mexer. Ainda assim, funcionou: sob carga, ficou cerca de 10°C mais frio e também mais rápido. Ainda o uso diariamente com muito cuidado
    • É frustrante que a Apple não ofereça um modo real de bypass da bateria e nem permita configurar limites de carga
  • História legal. A Apple não recebe crédito suficiente por manter esses aparelhos antigos vivos
    Eu também tenho uma história parecida de reutilização de um antigo OG iPhone SE, dando uma nova vida a ele
    https://samkhawase.com/blog/dumb-smartphone/

    • Não entendo muito bem essa afirmação. Encontrar um novo uso para um iPad antigo sem fazer muito esforço parece algo excessivamente difícil. Isso mudou?
    • Discordo totalmente. Tive que abandonar um iPhone 7 porque não era possível atualizar o iOS e os apps de banco se recusavam a funcionar em versões antigas
      A Apple também limita de bom grado o desempenho dos telefones, como vimos no Batterygate
  • Talvez eu esteja deixando passar alguma coisa. De onde vêm esses milhares de usuários mencionados aqui? Existe algum serviço sendo oferecido?

    • Sim. O autor opera um site público onde é possível fazer OCR gratuitamente em arquivos enviados
  • Contra o iPhone 8, apresento o Motorola MB525 “Defy”, o Motorola MB526 “Defy+” e o Samsung J3. Uso esses aparelhos como câmeras de trailer com suporte a Wi-Fi
    O telefone fornece um hotspot Wi-Fi, e por meio dele vejo a imagem da câmera. Quando conecto o trailer e entro na rede Wi-Fi, consigo ver o que está acontecendo na parte de trás do trailer
    O aparelho mais antigo dessa lista é de 2010, e todos rodam Cyanogenmod (MB525, MB526) ou seu sucessor, LineageOS (J3). Os Motorola tiveram a bateria substituída, e o J3 voltou para a bateria original
    A tela de qualquer forma nem é visível, e 2 dos 3 aparelhos estão com a tela quebrada, então todos funcionam sem tela. O Android roda bem sem tela e, usado assim, consome um pouco menos energia

    • Bem impressionante. Gosto de dar uma nova vida a aparelhos antigos e impedir que virem lixo eletrônico. Isso está totalmente alinhado com o verdadeiro espírito hacker