# Serviço de IoT

O **serviço de IoT** (Internet das Coisas) no CloudBox desempenha um papel fundamental no monitoramento e gerenciamento remoto do sistema. Esse serviço permite que o CloudBox envie continuamente seu **status** e **parâmetros de configuração** para a Nuvem, fornecendo visibilidade em tempo real sobre a integridade e operação do sistema. Além disso, o serviço de IoT permite que os usuários executem operações remotas como **INICIAR**, **PARAR** e **DESLIGAR** por meio do software **RUFUS** **Race Manager (RRM)** ou de sua conta na Nuvem. No entanto, é importante observar que as **informações de passagem** não são transmitidas por meio do serviço de IoT, mas são enviadas por meio do **HTTP** para o **serviço de Ingestão de Passagem**.

Neste artigo, exploraremos como o serviço de IoT funciona, quais dados são transmitidos e os vários comandos remotos que podem ser executados.

## Como o Serviço de IoT Funciona

O CloudBox usa o serviço de IoT para se comunicar continuamente com a Nuvem. A principal função do serviço de IoT é manter o **status** e a **configuração** do CloudBox atualizados na Nuvem, garantindo que os administradores possam sempre visualizar o estado atual do dispositivo.

### Principais características do serviço de IoT:

* **Transmissão de status**: A cada **60 segundos**, a CloudBox envia seu status completo para a nuvem, incluindo detalhes sobre o nível da bateria do sistema, temperatura da CPU, informações de GPS e outros parâmetros de configuração importantes.
* **Controle Remoto**: Através do **RRM** ou da conta na nuvem do usuário, o serviço de IoT permite a execução remota de comandos críticos como **INICIAR**, **PARAR** e **DESLIGAR**.
* **Status do cliente IoT**: o cliente IoT na CloudBox gerencia a conexão com a nuvem. O status atual da conexão pode ser um dos seguintes:
* **Conectado ao servidor IoT**: a CloudBox está conectada com sucesso ao servidor IoT e as atualizações de status estão sendo transmitidas regularmente.
* **Desconectado do servidor IoT**: a CloudBox perdeu a conexão com o servidor IoT e não está mais transmitindo atualizações de status.
* **Erro de conexão do servidor IoT**: a CloudBox encontrou um erro ao tentar se conectar ao servidor IoT. Isso pode ser devido a problemas de conectividade com a internet.
* **Informações de passagem**: É importante observar que **as passagens não são enviadas via IoT**. Os dados de passagem são transmitidos para a nuvem via **HTTP** para o **Serviço de Ingestão de Passagem**.

## Comandos Remotos via IoT

Através do **RRM** ou da conta na nuvem do usuário, o serviço de IoT permite o controle remoto de comandos operacionais importantes. Isso é particularmente útil para gerenciar o CloudBox à distância, garantindo flexibilidade e controle durante eventos de corrida ou ao trabalhar em ambientes distribuídos.

Os seguintes comandos podem ser executados remotamente através do serviço de IoT:

1. **INICIAR**: Este comando inicia remotamente uma sessão de temporização no CloudBox, o que equivale a pressionar o botão **INICIAR** na interface ou emitir o comando TCP **INICIAR**. Assim que a sessão é iniciada, o sistema começa a rastrear e transmitir os dados de passagem.
2. **PARAR**: Este comando interrompe remotamente uma sessão de cronometragem ativa, permitindo que você encerre a sessão de qualquer lugar, desde que o CloudBox esteja conectado à internet. Este comando garante um final tranquilo para as sessões de cronometragem de corrida sem precisar estar fisicamente presente no dispositivo.
3. **DESLIGAR**: Este comando desliga o sistema CloudBox com segurança. É particularmente útil para conservar a bateria ou proteger o dispositivo no final de um evento. O processo **DESLIGAR** garante que todos os dados sejam salvos corretamente antes de desligar.

## Status e Solução de Problemas do Serviço de IoT

Para garantir a comunicação adequada entre o CloudBox e o servidor IoT, o sistema verifica regularmente o status da conexão. Se houver algum problema, o sistema notificará o usuário por meio da **Interface de Status**.

**Mensagens de Status do Cliente IoT:**

* **Conectado ao servidor IoT**: Este status confirma que a CloudBox está conectada ativamente ao servidor IoT e que a transmissão de dados ocorre a cada 60 segundos.
* **Desconectado do servidor IoT**: Este status indica que o CloudBox perdeu a conexão com o servidor IoT, possivelmente devido a um problema de rede. As atualizações de status não serão transmitidas até que a conexão seja restaurada.
* **Erro de conexão do servidor IoT**: O CloudBox encontrou um problema ao tentar se conectar ao servidor IoT, geralmente devido a problemas de conectividade com a Internet. Nesse caso, certifique-se de que o dispositivo tenha uma conexão estável e solucione os problemas de configuração de rede, se necessário.

**Solução de problemas de conexão IoT:**

* **Conectividade com a Internet**: o motivo mais comum para erros de conexão do servidor IoT é a falta de acesso à Internet. Certifique-se de que a CloudBox esteja conectada a uma rede Wi-Fi confiável, conexão Ethernet ou 4G (quando aplicável).
* **Reinicie o CloudBox**: Se a conexão IoT não puder ser restaurada, tente reiniciar o CloudBox, o que atualizará o sistema e tentará se reconectar ao servidor IoT.

## IoT e Sincronização na Nuvem

O serviço de IoT desempenha um papel crucial para garantir que o status e a configuração do CloudBox estejam sempre sincronizados com a nuvem. Isso é especialmente útil para eventos de grande escala ou vários pontos de cronometragem espalhados por diferentes locais, pois permite que os oficiais da corrida monitorem e gerenciem todos os sistemas de cronometragem remotamente.

* **Monitoramento em tempo real**: o serviço de IoT permite o monitoramento em tempo real da integridade e do status operacional do CloudBox. Por meio da interface da nuvem ou do RRM, os usuários podem visualizar as principais métricas, como níveis de bateria, temperatura da CPU e localização GPS.
* **Controle via nuvem**: todas as atualizações de status transmitidas via IoT podem ser visualizadas na **conta em nuvem** do usuário ou por meio da **interface RRM**, permitindo uma coordenação perfeita em vários dispositivos durante os eventos de corrida.

## Resumo

O **serviço de IoT** na CloudBox fornece comunicação contínua com a nuvem, garantindo que os usuários possam monitorar e controlar remotamente seu dispositivo. Ao enviar atualizações completas do status do sistema a cada 60 segundos, o serviço de IoT mantém os dados operacionais da CloudBox sincronizados com a nuvem, tornando possível monitorar a integridade do dispositivo e executar comandos remotos como **INICIAR**, **PARAR** e **DESLIGAR**.

No entanto, é importante lembrar que **os dados de passagem não são transmitidos via IoT**, mas sim através do HTTP para o **serviço de Ingestão de Passagem**. Se o CloudBox encontrar algum problema de conexão, os usuários serão notificados através do **status do cliente IoT**, permitindo uma solução rápida de problemas. Ao aproveitar o serviço IoT, os organizadores de eventos e os oficiais de corrida podem manter o controle sobre seus sistemas de cronometragem de qualquer lugar, garantindo operações de cronometragem de corrida tranquilas e bem-sucedidas.
