Pular para o conteúdo
Guilherme Faglioni
Rota de exploração
Todos os destinos

Diário de bordo / 01 · 2026

BIP: batimentos e vídeo na mesma sessão de pesquisa

Com Lucas Diniz e a equipe, ajudei a construir uma plataforma que conecta frequência cardíaca e vídeo para pesquisa em artes cênicas na UnB. O desafio foi preservar o tempo e o contexto de cada leitura.

Minha participação
Pesquisador voluntário · Arquitetura e liderança técnica
Tecnologias
Python / FastAPI / WebSockets / React / ECharts / PostgreSQL / BLE / Adafruit CLUE
Capa do estudo de caso: BIP: batimentos e vídeo na mesma sessão de pesquisa.
Registro do projeto / 2026

01 / Diário de bordo

Acompanhar o corpo durante uma performance

O BIP nasceu de uma necessidade do grupo de pesquisa Criação em Coletivo para a Cena, da UnB/CNPq: acompanhar a frequência cardíaca de participantes e relacionar essas leituras ao que acontece durante uma performance de artes cênicas.

Para isso, precisávamos conectar equipamentos físicos a uma aplicação que mostrasse os batimentos e registrasse vídeo. Cada leitura precisava manter sua relação com a sessão de pesquisa para que, depois da coleta, o grupo pudesse analisar os dados junto do contexto da performance.

02 / Diário de bordo

Minha participação com a equipe

Participo como pesquisador externo voluntário desde março de 2026. Com Lucas Diniz, desenhei a arquitetura da solução e, junto da equipe, trabalhei na implementação. Também participei da preparação inicial do projeto, da configuração dos repositórios e da revisão de código.

A responsabilidade técnica passou por diferentes partes do sistema: a chegada dos dados do hardware, sua transmissão até o navegador e a gravação para consulta posterior. Essa visão do percurso completo foi importante para entender onde uma leitura poderia atrasar, perder contexto ou deixar de chegar ao próximo componente.

03 / Diário de bordo

Das pulseiras ao navegador

As pulseiras transmitem frequência cardíaca por Bluetooth Low Energy, ou BLE. Placas Adafruit CLUE, com o chip nRF52840, recebem essas leituras e as encaminham ao computador em mensagens JSON pela conexão serial USB.

No computador, o backend em FastAPI coordena a detecção das placas, a busca por dispositivos BLE e o envio dos dados para a aplicação web por WebSocket. Esse canal mantém a comunicação aberta para que novas leituras possam chegar ao navegador durante a coleta.

Um ponto importante foi a integração entre a thread que lê a porta serial e o processamento assíncrono do backend. O dado precisava atravessar essa fronteira para continuar seu caminho até a interface. No frontend, React e ECharts mostram a frequência cardíaca enquanto a webcam registra a performance.

04 / Diário de bordo

Preservar o contexto da coleta

A decisão central foi associar vídeo e batimentos a uma mesma referência de sessão. Assim, a leitura mantém uma ligação com a coleta da qual faz parte, permitindo relacioná-la posteriormente ao registro visual.

Para gravar os dados, usamos um buffer em memória: uma área temporária que recebe leituras antes da escrita em banco. A persistência acontece de forma assíncrona, em lotes ordenados no PostgreSQL. Essa separação exige cuidar da ordem dos dados e do que acontece quando o processo é interrompido; por isso, também estruturamos recuperação de sessão.

05 / Diário de bordo

O aprendizado que levo do BIP

Esse projeto ampliou minha atenção ao percurso de uma informação. Para a equipe de pesquisa, o valor de uma leitura depende também do momento em que foi obtida e da sessão à qual pertence. Essa necessidade orientou nossas decisões de aquisição, visualização e persistência.

O BIP é a ferramenta de coleta que ajudamos a construir. A análise dos dados e as conclusões da pesquisa pertencem ao trabalho do grupo. Na publicação sobre o BIP, conto mais sobre a arquitetura e a colaboração com a equipe.

06 / Explore as conexões

Como o sistema foi organizado

Selecione uma parte do sistema para entender sua responsabilidade.

Arraste para girar. Use as setas com a cena em foco.

Sessão de pesquisa

Tempo · Contexto · Leituras

Conectado a: Aquisição · Orquestração · Visualização · Persistência

07 / Diário de bordo

Entregas e resultados

BPM

batimentos acompanhados no navegador

Conectamos pulseiras, placas CLUE e a aplicação web para visualizar frequência cardíaca durante a coleta.

Publicação de Guilherme Faglioni sobre o BIP no LinkedIn.
SQL

dados gravados por sessão

Estruturamos buffer em memória, gravação assíncrona e recuperação de sessão para lidar com interrupções da coleta.

Publicação de Guilherme Faglioni sobre o BIP no LinkedIn.