
# Trabalho 1 - 2025-1

## 1. Identificação
**Grupo: MiMU GLOVES**  


<center>
<table style="margin-left: auto; margin-right: auto;">
    <tr>
    <td align="center">
            <a href="https://gitlab.com/caeslucio">
                <img style="border-radius: 50%;"         src="https://gitlab.com/uploads/-/system/user/avatar/3856912/avatar.png?width=800" width="150px;"/>
                <h5 class="text-center">Caetano Santos</h5>
                <p class="text-center">Matrícula: 180144979</p>
            </a>
        </td>        
        <td align="center">
            <a href="https://gitlab.com/gabrie1barbosa">
                <img style="border-radius: 50%;"         src="https://gitlab.com/uploads/-/system/user/avatar/15322691/avatar.png?width=800" width="150px;"/>
                <h5 class="text-center">Gabriel Barbosa</h5>
                <p class="text-center">Matrícula: 200049020</p>
            </a>
        </td>            
        <td align="center">
            <a href="https://gitlab.com/VitorB2002">
                <img style="border-radius: 50%;"   src="https://gitlab.com/uploads/-/system/user/avatar/14858311/avatar.png" width="150px;"/>
                <h5 class="text-center">Vitor Borges</h5>
                <p class="text-center">Matrícula: 200028626</p>
            </a>
        </td>
        <td align="center">
          <a href="https://gitlab.com/Wolffstein">
            <img style="border-radius: 50%;" src="https://gitlab.com/uploads/-/system/user/avatar/20541195/avatar.png?width=800" width="150px;" />
            <h5 class="text-center">Wolfgang Stein</h5>
           <p class="text-center">Matrícula: 231032121</p>
          </a>
</td>
</table>
</center>

---

## 2. Descrição Geral do Produto

- **Nome do Produto:** 
  
  [MiMU Gloves](https://mimugloves.com/)

- **Funções principais:** 

  Ela captura os movimentos dos dedos através de sensores de flexação em cada um dos dedos e também captura dados de movimentos utilizando giroscópio, em todas as direções, fornescendo a um computador ou dispositivo MIDI configurado uma forma de controlar música, sons, efeitos, imagens e praticamente qualquer comando que pode ser feito por um mouse ou teclado ou recebido por um dispositivo MIDI.

- **Segmento de mercado:** 

  Música, Artes Performáticas, Wearable Technology.

- **Imagem(s) do produto:**  

  ![MiMU GLOVES IMAGEM](https://media.cnn.com/api/v1/images/stellar/prod/141230145720-imogen-heap4.jpg?q=w_2187,h_1458,x_0,y_0,c_fill)

- **Vídeo de demonstração:**

  [Tiny Desk MiMU Gloves, minuto 9:15](https://www.youtube.com/watch?v=3QtklTXbKUQ&t=555s)

---

## 3. Características Técnicas

![ESP 32 block diagram](https://espblockly.com/images/ESP32-Block-Diagram.jpg)

### 3.1 Unidade de Processamento

ESP32-D0WD-V3

- **Tipo:** Microcontrolador (System-on-Chip, SoC)
- **Arquitetura:** Dual-core Xtensa LX6 (32 bits)
- **Fabricante:** Espressif Systems
- **Frequência de clock:** Até 240 MHz

O microcontrolador ESP32 será responsável por ler dados de um IMU (e.g., aceleração e giroscópio) e sensores de flexão, mapear esses dados para MIDI, e enviar via WI-FI para um programa desktop de música.

**Fonte:**  [ESP32 Series datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf)

---

### 3.2 Memória

- **SRAM:** 520Kb
- **ROM:** 448Kb

SRAM atendendo às necessidades de processamento e a ROM garantindo a base operacional. A PSRAM externa (como a ESP-PSRAM64H) pode ser adicionada para escalabilidade.

**Fonte:** 

* [ESP32 Series datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf)

* [ESP-PSRAM64H datasheet](https://cdn-shop.adafruit.com/product-files/4677/4677_esp-psram64_esp-psram64h_datasheet_en.pdf)

---

### 3.3 Sistema Operacional

- **Tipo:** Sem sistema operacional embutido. 

---

### 3.4 Sensores e Atuadores
- **Sensores:** 
  - [IMU MPU-6050](https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf) (Acelerômetro + Giroscópio)
  - [Sensores de flexão](https://cdn.sparkfun.com/assets/8/e/7/a/0/flex22.pdf) (Spectra Symbol Flex Sensors)
- **Atuadores:** 
  - LEDs de status
  - [Motor de vibração para feedback tatil](https://www.baudaeletronica.com.br/produto/modulo-motor-de-vibracao.html)


**Conexão:** 
- I2C (IMU) serve para conectar o acelerômetro e os giroscópios no mesmo barramento, útil em sensores. 
- Resistência variável (Flex) para os sensores de flexão ele serve diretamente como uma resistência  variável, com isso a conexão do microcontrolador consegue interpretar o quanto o dedo foi dobrado

---

### 3.5 Interfaces de Comunicação com Fio

- **Protocolos:** UART para programação/depuração interna. 
- [Datasheet nRF52832 Nordic](https://docs-be.nordicsemi.com/bundle/nRF52832-PS/raw/resource/enus/nRF52832_PS_v1.4.pdf)

---

### 3.6 Interfaces de Comunicação Sem Fio

- **Protocolos:** Bluetooth Low Energy (BLE 4.2+)
- [Bluetooth SIG Overview](https://www.bluetooth.com/specifications/)
---

### 3.7 Entradas/Saídas (I/O)
- **GPIOs disponíveis:** 32 GPIOs configuráveis
- **ADC/DAC:** 8 GPIO com canais analógicos para SAADC, COMP ou LPCOMP inputs
- **PWM:** 3 módulos PWM que podem fornecer até 12 canais PWM com controle de frequência individual em grupos de até quatro canais. 
- [Datasheet nRF52832 Nordic](https://docs-be.nordicsemi.com/bundle/nRF52832-PS/raw/resource/enus/nRF52832_PS_v1.4.pdf)
---

### 3.8 Fonte de Energia e Sistema de Alimentação
- **Tipo:**  [Power Bank 5V](https://www.usinainfo.com.br/carregador-de-bateria/power-bank-5v-21a-usb-para-2-baterias-18650-button-top-com-onoff-e-lanterna-carregamento-usb-c-6166.html)
- **Conexão:** O power bank serve como uma maneira fácil de adiicionar energia as luvas sem estar conectado a cabos de energia, para nosso projeto experimental é funcional, só temos que tomar cuidado com a tensão do sensor IMU MPU-6050, pois ele atua em 3.3V, soluções que teremos que ter é ou somente ter ele no pino da raspberry, ou criar um circuito com resistores numa protoboard ou por fim utilizar um conversor lógico para diminuir essa tensão.

---

### 3.9 Firmware e Atualizações

- **Firmware:** Software de baixo nível que controla o microcontrolador captando sinais e enviando para o software Glover através do protocolo MIDI ou OSC. [Firmware antigo](https://github.com/plusea/CODE/tree/master/PROJECT%20CODE/Gloves/MiMu%20Gloves) é aberto, porém a versão recente e suas atualizações são de código fechado e aconteceram em 2018.

---

### 3.10 Proteção e Segurança

### Recursos de Segurança do ESP32-D0WD-V3

- **Secure Boot**: Garante que apenas firmware assinado digitalmente seja executado, verificando sua integridade na inicialização. No projeto, protege o código que processa sensores e gera MIDI contra alterações maliciosas, essencial para dispositivos usados em eventos públicos.

- **Flash Encryption**: Criptografa o conteúdo da Flash externa (firmware e mapeamentos MIDI) com AES-256, impedindo acesso não autorizado. Protege configurações personalizadas, como gestos mapeados para notas MIDI, mesmo se a luva for perdida.

- **1024-bit OTP, até 768-bit para clientes**: Memória de programação única (OTP) de 1024 bits, com até 768 bits disponíveis para chaves ou dados do usuário. Pode armazenar chaves criptográficas para autenticação MIDI, reforçando a segurança.

- **Aceleração de Hardware Criptográfico**:
  - **AES**: Suporta criptografia AES-128/256 para proteger mensagens MIDI enviadas via Bluetooth (BLE), evitando interceptação.
  - **Hash (SHA-2)**: Gera resumos criptográficos para verificar a integridade do firmware ou dados MIDI.
  - **RSA**: Usa RSA-3072 para assinaturas digitais, garantindo atualizações OTA seguras.
  - **ECC**: Oferece criptografia de curva elíptica para autenticação eficiente, útil em conexões BLE.
  - **Random Number Generator (RNG)**: Gera números aleatórios verdadeiros para chaves de sessão, fortalecendo a segurança das comunicações MIDI.

**Fonte:** [ESP32 Series datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf)

---

### 3.12 Interface com o Usuário




---

## 4. Artigos Acadêmicos

| **Artigo** | **Resumo** | **Link para PDF** |
|------------|------------|-------------------|
| An Instrumented Glove for Control Audiovisual Elements in Performing Arts | O artigo apresenta o desenvolvimento de uma luva instrumentada capaz de controlar elementos audiovisuais em apresentações performáticas. A proposta principal é utilizar sensores embutidos (como acelerômetros e sensores de flexão) para capturar movimentos manuais que são posteriormente traduzidos em comandos musicais e visuais. | [Link para o artigo](https://d1wqtxts1xzle7.cloudfront.net/118075115/4817-libre.pdf?1725879019=&response-content-disposition=inline%3B+filename%3DAn_Instrumented_Glove_for_Control_Audiov.pdf&Expires=1745810208&Signature=EgYHwvhyxD6J9mzqRQnIaAmubjp5YbSfpbCR21vrg-4dKMJbHyQ7d0pid0gZ-D6mNohTOhfxKGSgkAukXw2bAFYLaA0c4JYVvdsRrz19GpJwUM3OxHghPkq4aZGzBd44c~nq81JaFKnSFyUvsLgCfI94CjP~kCuWsqaVjqMd-dxucOjoqiUc0Cqp2sZIHvF4hiTuqVGdapcDu00jSf9FcAPXvjPhUgka1ZEGWeRvBc9ISNR2sy7Vr769vN40bW2hmIgIvnzRjeDWy824KIr7sA0wHofnE1JjfkAVjwoVsceDgl8XeFuTqUx2SSOwPHhuWtQRqgYsOXYqAIXLPI9BCg__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA)|
| Estimação de atitude do satélite CBERS-4 utilizando o Filtro de Kalman Estendido  | O TCC em questão utiliza de cálculos de sensores e atuadores (giroscópios) para gerar matrizes de rotação utilizando quatérnions que são úteis ao uso de rotação na luva | [Link para o artigo](https://bdm.unb.br/bitstream/10483/31806/1/2021_WolfgangFriedrichStein_tcc.pdf) |
| Enhancing spatial perception through sound: mapping human movements into MIDI  | O artigo propõe um sistema que mapeia movimentos humanos em música MIDI usando rastreamento em tempo real e sintetização, com resultados positivos em uma experiência imersiva. O mesmo reforça a viabilidade da luva, destacando a importância da expressividade gestual e da interação com ambientes. | [Link para o artigo](https://link.springer.com/article/10.1007/s11042-021-11077-7) |
| MIDI Protocol and MIDI Over USB | O artigo de Siqi Wang, "MIDI Protocol and MIDI Over USB", introduz a história do protocolo MIDI, desde os anos 1940 até sua modernização com USB, destacando a necessidade de padronização em equipamentos musicais. | [Link para o artigo](https://sites.tufts.edu/eeseniordesignhandbook/files/2022/05/Wang_EE98_Capstone-Project-Tech-Note_Automic-Tangerine_Final.pdf) |
| Exploring Textile Controllers for Computer Music  | Artigo de Nanette Lind, investiga o uso de tecidos como interfaces físicas para controlar música por computador. A autora apresenta experimentos com controladores têxteis que integram sensores de toque e pressão costurados em tecidos, permitindo interações táteis e expressivas na performance musical digital. O estudo destaca as qualidades estéticas e ergonômicas dos tecidos, enfatizando seu potencial para criar experiências performáticas mais corporais e sensoriais. Lind conclui que os controladores têxteis ampliam o repertório expressivo dos músicos e oferecem novas possibilidades para o design de instrumentos digitais. | [Link para o artigo](https://www.duo.uio.no/bitstream/handle/10852/88496/1/NanetteLindThesisDuo.pdf) |
| Capture and Express Gloves | Explora o uso de luvas sensoriais como interfaces para performance musical eletrônica gestual. Schacher analisa o desenvolvimento histórico dessas tecnologias, desde os primeiros experimentos na década de 1980 até implementações contemporâneas, incluindo seu próprio trabalho com luvas sensoriais. O estudo aborda questões como corporeidade, tangibilidade e a tradução do movimento em som, destacando os desafios e oportunidades que essas interfaces oferecem para a expressão musical e a interação afetiva. | [Link para o artigo](https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6F958CDF66DF7DC2302AF8B54971A02D/S2631717622000032a.pdf) |
| Musical Interaction with Hand Posture and Orientation: A Toolbox of Gestural Control Mechanisms | O artigo propõe uma ferramenta para controlar música usando a postura e orientação das mãos via sensores. Ele apresenta métodos de controle gestual contínuo e discreto, facilitando performances musicais expressivas e rápidas | [Link para o artigo](https://micalab.org/publications/007/nime2012published.pdf) |
| A modular architecture for IMU-based data gloves | O artigo propõe uma luva sensorizada baseada em arquitetura modular, composta por módulos centrais e sensoriais independentes. A solução busca ser reprodutível, flexível e de fácil manutenção, utilizando hardware e software abertos | [Link para o artigo](https://arxiv.org/abs/2401.13254) |

---

## 5. Produtos Relacionados (Tabela Comparativa)

| Produto | CPU | Memória | Comunicação | Sensor/Atuador | Sistema Operacional |
|---------|-----|---------|-------------|----------------|---------------------|
| [GLISS](https://mimugloves.com/documentation/gliss/) | Depende do smartphone | Depende do smartphone | Wi-Fi| Sensores do smartphone: Acelerômetro, Giroscópio, Tela sensível ao toque (pads); Atuadores: Feedback háptico (vibração), Visual (tela) | iOS |
| [LEAP MOTION](https://mimugloves.com/documentation/leap_motion/) | Não informado | Não informado | USB 3.0 | Sensores: 2 câmeras infravermelhas, 3 LEDs infravermelhos (rastream Flex, Orientation, Hand Position, Hand Tilt, Drum Hits, Gestures, Posture, Tracking); | N/A |
| [GENKI WAVE](https://mimugloves.com/documentation/genki_wave/) | Não informado | Não informado | Bluetooth Low Energy | Sensores de movimento, toque,  acelerômetro e giroscópio| N/A |
| [MICRO:BIT](https://mimugloves.com/documentation/microbit/) |Nordic nRF52833 (ARM Cortex-M4, 64 MHz) | 512 KB de flash e 128 KB de RAM |Bluetooth Low Energy, micro-USB | Acelerômetro, magnetômetro e microfone | N/A |
| [Logitec Spotlight](https://www.logitech.com/pt-br/products/presenters/spotlight-presentation-remote.html) | nRF51802 [iFixit](https://pt.ifixit.com/Teardown/Logitech+Spotlight+Teardown/168786) | 16KB [nordicsemi](https://www.nordicsemi.com/products/nrf51802) | Bluetooth de baixa energia e conexão sem fio de 2,4 GHz [Logitec](https://www.logitech.com/pt-br/products/presenters/spotlight-presentation-remote.910-005216.html)| Sensor de movimento, Acelerômetro 3D e giroscópio [Logitec](https://www.logitech.com/pt-br/products/presenters/spotlight-presentation-remote.910-005216.html) | Proprietário |

