# Apêndices

# Apêndice 1: Formato das requisições HTTP de telemetria

## Informações gerais:

- **Link para fazer a requisição pelo BIPES:** [https://obsat.org.br/teste_post/envio_bipes.php](https://obsat.org.br/teste_post/envio_bipes.php)
- **Link para requisições Curl:** [https://obsat.org.br/teste_post/envio.php](https://obsat.org.br/teste_post/envio.php)
- **Link para visualizar as requisições:** [https://obsat.org.br/teste_post/index.php](https://obsat.org.br/teste_post/index.php)
- **Exemplo de Implementação:** [https://bipes.net.br/ide/?lang=pt-br#btyyen](https://bipes.net.br/ide/?lang=pt-br#btyyen)
- **Obs:** A implementação é apenas um exemplo, o seu payload não precisa necessariamente ter os mesmos campos que o do exemplo.

## Deu erro, e agora?

Primeiro, preste atenção no campo **"Status"**. O Status geralmente irá dizer o erro para você.

### Lista de Erros:

- **Tamanho limite do Payload excedido:**  
    - **Causa:** O valor do payload está extremamente grande (Maior do que o banco pode suportar).  
    - **Solução:** Diminua o número de informações do payload, e verifique se você está enviando corretamente.

- **A requisição recebida não é um JSON:**  
    - **Causa:** A sua requisição possui um JSON mal formatado.  
    - **Solução:** Falta de aspas e chaves são os motivos mais comuns, preste atenção em como seu JSON está formatado. Mais abaixo, um link será disponibilizado de uma plataforma que verifica se um JSON é válido.

- **O JSON recebido não segue a formatação correta:**  
    - **Causa:** Seu JSON não possui todos o(s) campo(s) que deveria ter.  
    - **Solução:** Verifique se eles estão escritos de maneira IDÊNTICA aos campos corretos. Uma lista com todos os campos estará logo abaixo.

- **Truncado:**  
    - **Causa:** O campo payload possui mais de 90 bytes e menos que 500 bytes, logo, ele foi truncado com o último campo válido.  
    - **Solução:** Verifique o tamanho do seu payload, muito possivelmente ele está enviando dados extremamente grandes.

- **N/A:**  
    - **Causa:** Algum erro aconteceu, e os campos associados a sua requisição não foram enviados.  
    - **Solução:** Verifique o status, e por que isso ocorreu.

- **Nada aconteceu:**  
    - **Causa:** Isso pode ter mais de uma causa, mas geralmente, ou você enviou um JSON muito grande, que está acima do limite máximo do banco de dados, ou você não programou o BIPES corretamente.  
    - **Solução:** Preste atenção no tamanho do seu JSON, e confira o link de exemplo, muito provavelmente, você não deve ter feito o procedimento de envio corretamente.

### Informações adicionais

- **Site para verificar se um JSON é válido:** [https://jsonformatter.org/json-viewer](https://jsonformatter.org/json-viewer)

- **Todos os campos necessários:**
```json
equipe
bateria
temperatura
pressao
giroscopio
acelerometro
payload
```

## F.A.Q

- **O site não apresenta todas as colunas:**  
    - Isso acontece porque alguma requisição deve ter sido extremamente larga, tire o zoom da página (CRTL -).

- **Meu payload não está por inteiro:**  
    - Isso acontece porque ele superou o limite máximo de 90 bytes, diminua o tamanho.

- **Encontrei uma requisição maliciosa, o que devo fazer?**  
    - Contate algum administrador que ele irá removê-la.
    - **Requisições maliciosas serão rastreadas, e os responsáveis serão punidos, podendo ser desclassificados da OBSAT, e banidos das próximas edições.**

- **Minhas requisições serão armazenadas para sempre?**  
    - Não, elas serão removidas automaticamente após 24 horas.

O servidor de testes oficial, desenvolvido pola equipe do projeto Zenith, pode ser acessado em:
[https://github.com/zenitheesc/Telemetria-OBSat-MCTI/tree/main](https://github.com/zenitheesc/Telemetria-OBSat-MCTI/tree/main).

# Apêndice 2: Sobre as bases de fixação

Os satélites selecionados para lançamento deverão ser compatíveis com a base de fixação. A base de fixação permite o acoplamento de uma câmera, desde que se respeite as dimensões do encaixe central (15mm).

Os arquivos STL estão disponíveis no [GitHub](https://github.com/OBSAT-MCTI/OBSAT-MCTI)  da OBSAT.

# Apêndice 3: Sonda

A sonda que levará os protótipos tem capacidade para ao menos 1 satélite de cada categoria, independente do Form Factor.

Além de plataforma para fixação dos satélites, a sonda também oferecerá um sistema embarcado que disponibilizará um ponto de acesso Wi-Fi sem fio e um servidor web HTTP, embarcado na própria sonda. Este sistema receberá dados de telemetria dos protótipos embarcados na sonda e retransmitirá estes dados para solo sempre que possível.

# Apêndice 4: Sobre a transmissão RF

As equipes selecionadas para a **Fase 4** devem se preparar para a telemetria do satélite, o que inclui a definição de um plano de frequências, a escolha de antenas e a especificação do hardware necessário para o envio e recebimento de dados. A construção da estação base, responsável por receber esses dados, é uma tarefa que cabe à equipe.

**Será necessário:**

1. Designar um rádio-amador responsável, que será parceiro da equipe.
2. Apresentar um plano detalhado das frequências e antenas que serão utilizadas.
3. Aguardar a autorização da **OBSAT** para embarcar o equipamento com transmissor de RF.

É importante destacar que todas as equipes **deverão** enviar telemetria via Wi-Fi, uma vez que a organização do evento disponibilizará uma rede Wi-Fi embarcada no balão, com um endereço HTTP para recepção de telemetria.

Para as equipes responsáveis pela telemetria, haverá restrições quanto ao uso de frequências e ao tempo de transmissão. Essas transmissões deverão ocorrer em intervalos de tempo sincronizados (time slots) por GPS, que serão alinhados previamente com a organização do evento.