App iOS

O app Plantgotchi para iOS e construido com SwiftUI e oferece acesso completo aos dados das suas plantas, mesmo quando voce esta offline.

Principais Recursos

  • Escaneamento de sensores BLE — descubra e pareie sensores Plantgotchi usando CoreBluetooth
  • Leituras em tempo real — umidade, temperatura, luz e bateria atualizados a cada 30–60 segundos
  • Offline-first — todos os dados armazenados localmente em GRDB (SQLite), o app funciona sem internet
  • Sincronizacao na nuvem — envie leituras e registros de cuidados para o Turso quando online
  • Registro de cuidados — registre rega, adubacao, replantio, poda e anotacoes
  • Recomendacoes — veja sugestoes de cuidado por IA e baseadas em regras

Escaneamento BLE

O app usa CoreBluetooth para escanear dispositivos que anunciam o servico GATT do Plantgotchi (0000FE00-...). Quando um sensor e encontrado, o app conecta e se inscreve no BLE Notify em todas as quatro caracteristicas (umidade, temperatura, luz, bateria).

O SensorParser lida com o parsing em nivel de bytes: umidade vem como uint16, temperatura como int16 (dividido por 100), luz como uint32 e bateria como uint8. Dados invalidos sao descartados com seguranca.

Banco de Dados Local

O app iOS usa GRDB (um wrapper Swift para SQLite) com o mesmo esquema dos apps web e Android. Suas plantas, leituras de sensores, registros de cuidados e recomendacoes sao todos armazenados localmente. O esquema inclui indices em (plant_id, timestamp) para consultas rapidas.

Requisitos

  • iOS 16 ou posterior
  • Permissao de Bluetooth necessaria para escaneamento de sensores
  • Conexao com internet necessaria apenas para sincronizacao na nuvem e recomendacoes por IA