Visão Geral da Plataforma Internet of Things

Use a Plataforma Internet of Things da Oracle Cloud Infrastructure (OCI) para transferir dados de e para seus dispositivos e sensores para a OCI.

A Plataforma Internet of Things permite que dispositivos com praticamente qualquer formato e tamanho de dados se comuniquem entre si e com outros sistemas em tempo real. Os dados provenientes de um dispositivo físico ou de um sistema externo são salvos no banco de dados como dados de telemetria normalizados.

Como funciona a sua Internet of Things

Como funciona a plataforma Internet of Things.

Visão Geral da Configuração

Depois que um administrador configura políticas e autenticação, você pode seguir estas etapas para configurar uma Internet of Things.

  1. Crie um grupo de domínios IoT, que provisione automaticamente um banco de dados.
  2. Crie um domínio IoT dentro do grupo de domínios; um esquema de banco de dados é provisionado automaticamente no banco de dados.
  3. Crie instâncias, modelos, adaptadores e relações de recursos de gêmeos digitais em um domínio IoT.
  4. Configure dispositivos IoT ou dispositivos de nuvem de terceiros com um host de destino, ponto final e credenciais.
  5. Os dispositivos ou servidores em uma nuvem de terceiros se conectam à Plataforma OCI Internet of Things por MQTTs, HTTPs ou MQTTs por WebSocket. Você pode configurar dispositivos para assinar e receber comandos usando a Plataforma IoT.
  6. Acesse dados IoT do banco de dados usando ORDS, APEX ou diretamente no banco de dados usando uma string de conexão TCPS. Ou você pode criar uma conexão com o Oracle Analytics Cloud.

Amostras de Código para Cenários Gêmeos Digitais

Para exemplos de código e cenários para configurar gêmeos digitais para coletar dados de telemetria e enviar mensagens bidirecionais usando a linha de comando ou as linguagens de programação, consulte GitHub.

Conceitos

Os conceitos-chave a seguir descrevem como trabalhar com sua Internet of Things (IoT).

Grupo de domínios IoT

Um recurso em um compartimento que contém uma coleção de domínios IoT. Quando você cria um grupo de domínios IoT, um banco de dados é provisionado automaticamente e pode ser acessado por seu ponto final exclusivo de acesso a dados. Depois de criar um grupo de domínios, você pode obter os detalhes do grupo de domínios para exibir o host de dados.

data-host:<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com

Domínio IoT

Um recurso em um compartimento que você pode usar para gerenciar todos os seus recursos de gêmeos digitais, incluindo seus modelos de gêmeos digitais, adaptadores, instâncias e relacionamentos. Um domínio IoT recebe dados em um ponto final de dispositivo exclusivo que se conecta a um esquema de banco de dados dedicado localizado em um compartimento específico e associado a um grupo de domínios. Depois de criar um domínio IoT, você pode obter os detalhes do domínio IoT para exibir o host do dispositivo.

device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com

Visão geral de como os recursos de gêmeos digitais se relacionam.

modelo gêmeo digital

Um modelo de gêmeo digital define a semântica de um gêmeo digital e se baseia nas especificações DTDL v3. Um gêmeo digital usa um Digital Twin Model Identifier (DTMI) como um identificador exclusivo.

Por exemplo: dtmi:com:yourcompany:iot:example;1

adaptador gêmeo digital

Um adaptador de gêmeos digitais facilita a integração de dados interpretando e convertendo payloads de dados brutos provenientes de um dispositivo físico ou de um sistema externo para dados de telemetria normalizados com base no modelo de gêmeos digitais. Os dados são passados para o adaptador de gêmeo digital como um objeto JSON que contém os dados e o mapeamento.

instância de gêmeo digital

Uma instância de gêmeo digital é uma representação digital de uma entidade física, baseada em um modelo de gêmeo digital.

relacionamento gêmeo digital

Uma relação de gêmeos digitais descreve um link para outra instância de gêmeos digitais e permite que você crie um gráfico de seu relacionamento com outras instâncias de gêmeos digitais.

dados brutos

Um conjunto de registros que contêm dados brutos recebidos de um dispositivo IoT. Esses dados incluem um ponto final, uma hora recebida, um tipo de conteúdo e um conteúdo real.

dados rejeitados

Um conjunto de registros rejeitados contendo dados brutos recebidos de um dispositivo IoT. Esses dados incluem o código e uma mensagem detalhada contendo o motivo da rejeição.

dados normalizados

Um conjunto de registros normalizado de acordo com o mapeamento especificado no adaptador de gêmeos digitais. Cada registro inclui o valor de um caminho de conteúdo para uma instância de gêmeo digital e o timestamp específico quando ele foi observado.

dados históricos

Se o conteúdo do modelo de gêmeo digital for marcado para histórico, os dados de série temporal das instâncias de gêmeo digital serão coletados para cada domínio IoT.

dados de instantâneo

Contém um snapshot do último valor conhecido de uma instância digital twin em um domínio IoT.

dados de comando brutos

Os comandos de dados brutos são enviados para uma instância de gêmeo digital em um domínio IoT, juntamente com quaisquer detalhes de resposta, incluindo um status de entrega.

dados não estruturados

Os dados são opacos à Plataforma IoT e não passam por nenhum processo de normalização.

dados estruturados

A forma dos dados é conhecida pela Plataforma IoT como um adaptador de gêmeos digitais que converte dados em modelos de gêmeos digitais para snapshots de dados e, se configurado, captura dados historizados.

Fluxo de Dados

Os dispositivos IoT e os aplicativos externos enviam dados de telemetria brutos ou estruturados não estruturados em payloads para um banco de dados. O diagrama a seguir mostra como o fluxo de dados bidirecional funciona entre os dispositivos da Plataforma IoT e IoT.

Fluxo de Dados para a Plataforma IoT.
Uma visão geral do fluxo de dados:
  1. Os dados recebidos de dispositivos IoT são enfileirados como estão em dados brutos na fila.
  2. Os dados de uma fila de dados brutos são desenfileirados e inseridos na tabela de dados brutos e armazenados para o período de retenção configurado. O valor padrão é 16 dias para dados brutos, dados rejeitados e dados de comando brutos. O valor padrão para dados históricos é 30 dias. Você pode atualizar o período de retenção de dados para aumentar o número de dias.
  3. Os dados dos dados brutos na fila serão desenfileirados e enfileirados na fila de dados rejeitada, se não puderem ser normalizados conforme descrito no mapeamento do adaptador de gêmeos digitais.
  4. Os dados da fila de dados rejeitados são desenfileirados e inseridos na tabela de dados rejeitados e armazenados por um período de retenção configurado.
  5. Se os dados puderem ser normalizados conforme descrito no mapeamento do adaptador de gêmeos digitais, os dados da fila de dados brutos serão desenfileirados e enfileirados na fila de dados normalizados.
  6. Se você criar especificações de um modelo de gêmeo digital com conteúdo especificado para historização, os dados da fila de dados normalizados serão desenfileirados e inseridos na tabela de dados históricos.
  7. Os dados da fila de dados normalizados são desenfileirados e correspondem ao último valor conhecido que é atualizado na tabela de dados do instantâneo.
  8. Os comandos chamados pelo usuário são inseridos na tabela de dados de comando de crawling.
  9. O comando da tabela de dados do comando de crawling é enfileirado na fila de saída de dados de crawling.
  10. Os comandos da fila de dados do comandoraw são desenfileirados e enviados para o dispositivo IoT de destino inscrito.
  11. Se uma resposta de comando for recebida do dispositivo IoT, ela será enfileirada no estado em que se encontra nos dados brutos na fila.
  12. As respostas de comando de dados brutos na fila são desenfileiradas e inseridas na tabela de dados brutos e armazenadas por um período de retenção configurado.
  13. Os comandos da fila de dados de comando bruto são desenfileirados, correlacionados ao registro de comando e armazenados na tabela de dados de comando bruto.
  14. Os usuários podem consultar a tabela de dados de comando bruto para obter o status de um comando e recuperar a resposta do comando, se houver uma.
  15. Os usuários podem consultar qualquer tabela de dados diretamente no banco de dados ou usando o Oracle REST Data Services (ORDS).

    Para obter mais informações, consulte o esquema do banco de dados do domínio IoT.

Configurando sua Internet of Things

Consumir Seus Dados

A Plataforma IoT normaliza os dados recebidos de diferentes dispositivos de acordo com o mapeamento especificado no adaptador de gêmeos digitais. Use qualquer uma das opções a seguir para consumir seus dados.

IoT Dados no APEX

A criação de aplicativos APEX com seu banco de dados IoT requer a configuração de um domínio IoT para estabelecer conexão com o APEX,

Este diagrama explica o fluxo de dados para que o APEX acesse seus dados IoT.
O diagrama acima e estas etapas descrevem uma visão geral para configurar o acesso ao APEX.
  1. Configure o acesso aos dados para um domínio IoT definindo uma senha inicial para o espaço de trabalho do APEX.
  2. Vá para o APEX em um browser usando https://<data-host-from-domain-group>/ords/apex e faça log-in no APEX usando o espaço de trabalho IoT usando <domain-short-id-from-device-host>__WKSP com o mesmo nome de usuário.
  3. No APEX, acesse dois esquemas de banco de dados IoT para o seu domínio IoT. Observe dois sublinhados:
    • Acesso somente leitura ao <domain-short-id-from-device-host>__IOT que contém os dados do dispositivo.
    • Acesso de leitura e gravação ao <domain-short-id-from-device-host>__WKSP para trabalhar com seus dados.
    https://<domain-group-short-id-from-data-host>.data.iot.<region>.oci.oraclecloud.com/ords/apex

IoT Dados no ORDS (Oracle REST Data Service)

Fazer chamadas de API para obter dados do banco de dados IoT usando a API de Dados IoT ou usar o ORDS para criar APIs REST personalizadas com seus dados IoT requer configurar seu domínio IoT para acessar o ORDS (Oracle REST Data Service).

ORDS acessando dados IoT
O diagrama acima e essas etapas descrevem uma visão geral para configurar o acesso ao ORDS.
  1. O usuário cria um aplicativo confidencial integrado no domínio de Identidades, com o público principal definido como <domain-group-short-id> e o escopo definido como iot/<domain-short-id-from-device-host>.
  2. O usuário configura o acesso a dados para o domínio IoT com informações do host do domínio de Identidades, para que o host de dados possa validar o token de acesso para fornecer acesso ORDS à API de Dados IoT.
  3. O usuário obtém o token de acesso com a senha que concede o id do cliente e o segredo do aplicativo integrado, incluindo credenciais com um escopo definido como ‘<domain-group-short-id>/iot/<domain-short-id-from-device-host>’
  4. O usuário chama a API de Dados IoT usando ORDS no host de dados por meio do token oAuth da etapa anterior.
https://<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com/ords/20250531/<domain-short-id-from-device-host>

Pontos Finais da API de Dados do Internet of Things

Depois de autenticar no ORDS, você pode usar a API de Dados da Internet of Things para obter seus dados IoT do esquema de banco de dados IoT. Todos os pontos finais de dados do ORDS, exceto o ponto final de dados do snapshot, suportam GET para obter todos os dados de um dispositivo ou dados específicos com um ID.
https://<iot-domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com/ords/<iot-domain-short-id>/20250531

IoT Dados em um Banco de Dados

Trabalhar com seus dados IoT diretamente no banco de dados requer a configuração do domínio IoT para acessar o banco de dados diretamente.

Acesse dados do IoT no banco de dados.

O diagrama acima e estas etapas descrevem uma visão geral para configurar uma conexão direta com o banco de dados.

  1. O usuário recupera o OCID da VCN (rede virtual na nuvem) para listar a conectividade direta do banco de dados com o host de dados.
  2. O usuário configura o acesso a dados no grupo de domínios IoT para listar o OCID da VCN e permitir a conectividade direta do banco de dados com o host de dados.
  3. O usuário recupera os grupos ou grupos dinâmicos necessários para permitir o acesso aos dados do domínio IoT.
  4. O usuário configura o acesso aos dados no domínio IoT para permitir que os grupos ou grupos dinâmicos acessem os dados do domínio IoT.
  5. O usuário e o aplicativo em execução nas máquinas virtuais, localizados na VCN na lista de permissões, podem recuperar o db-token do serviço IAM (Identity and Access Management) usando o db-token-scope.
  6. O usuário e o aplicativo podem estabelecer uma conexão com o host de dados usando db-connection-string e o token do OCI para consultar os dados do domínio IoT.

    esquema do banco de dados: <domain-short-id-from-device-host>__IOT

    Ponto Final de Dados

    data-host:<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com

IoT Dados no Analytics Cloud

Use o Oracle Cloud Analytics para executar análises em seus dados do IoT. Para fazer isso, você deve configurar o acesso para exibir seus dados IoT no Oracle Analytics Cloud.

Configurar Acesso ao Oracle Analytics Cloud

Visão geral das etapas para configurar o acesso aos seus dados do IoT no Analytics Cloud, conforme mostrado no diagrama anterior:

Para obter uma lista completa de etapas para configurar uma conexão com o Oracle Analytics Cloud, consulte Cenário: Conectando seus Dados IoT ao Analytics Cloud

  1. O usuário recupera o OCID da VCN para listar a conectividade direta do banco de dados com o host de dados.
  2. O usuário configura o acesso aos dados do grupo de domínios IoT para listar o OCID da VCN para conectividade direta do banco de dados com o host de dados.
  3. O usuário recupera os grupos necessários para permitir o acesso aos dados do domínio IoT.
  4. O usuário configura o acesso aos dados no domínio IoT para permitir que o(s) grupo(s) acesse os dados do domínio IoT, incluindo a definição da senha do banco de dados para o usuário que está fazendo log no Oracle Analytics Cloud.
  5. O usuário cria a instância do Oracle Analytics Cloud para analisar dados do host de dados IoT.
  6. O usuário configura a instância do Oracle Analytics Cloud com um Canal de Acesso Privado e uma zona de DNS que aponta para o nome do host de dados público, por exemplo, adb.<region>oraclecloud.com na sub-rede dentro da VCN na lista de permissões.
  7. O usuário cria uma conexão do ATP (Autonomous Transaction Processing) na instância do Oracle Analytics Cloud com uma string de conexão.
  8. O usuário agora pode criar conjuntos de dados com o Oracle Analytics Cloud usando essa conexão.
  9. O Oracle Analytics Cloud consulta o host de dados usando o Canal de Acesso Privado por meio do gateway de serviço.

Maneiras de Acessar o Oracle Cloud Infrastructure

Você pode acessar a Oracle Cloud Infrastructure (OCI) usando a Console (uma interface baseada em navegador), a API REST ou a CLI da OCI. Para ver uma lista de SDKs disponíveis, consulte Software Development Kits e Interface de Linha de Comando.

Nesta release da Plataforma OCI IoT, você pode usar a Console para trabalhar com domínios IoT e grupos de domínios IoT e usar a API e a CLI para todos os recursos.

Usando a Console

  1. Use um browser suportado para ir para a página de acesso da Console:
    https://cloud.oracle.com
    A Plataforma IoT está disponível nas seguintes regiões:
    • eu-frankfurt-1

    • uk-london-1

    • us-ashburn-1

    • us-phoenix-1

  2. Digite seu tenant na nuvem, seu nome de usuário e sua senha.
  3. Abra o menu de navegação, selecione Serviços ao Desenvolvedor e, em Internet of Things, selecione Domínios ou Grupos de domínios.

Usando as APIs

Use o Cloud Shell ou outra ferramenta para acessar a API REST da Internet of Things usando esses pontos finais nas regiões suportadas a seguir. Para obter informações, consulte Usando APIs REST.

  • https://iot.eu-frankfurt-1.oci.oraclecloud.com
  • https://iot.uk-london-1.oci.oraclecloud.com
  • https://iot.us-ashburn-1.oci.oraclecloud.com
  • https://iot.us-phoenix-1.oci.oraclecloud.com

Usando a CLI

Para acessar a Plataforma Internet of Things por meio da CLI, use a Referência de Linha de Comando para Internet of Things.

Pontos Finais do Dispositivo

O ponto final do dispositivo é o URL em que um dispositivo envia e recebe dados. Cada ponto final é vinculado a uma região específica e requer autenticação usando chaves de API, segredos do vault ou certificados específicos da região. Por segurança, todos os recursos do IoT devem estar na mesma região.

Depois de criar um domínio IoT, você pode obter os detalhes do domínio IoT para exibir o host do dispositivo.

  • Receber mensagens: Os dispositivos IoT geram eventos. Um evento pode ser uma parte normal de operações, como pulsação ou um evento pode relatar um erro.
  • Enviar mensagens: envia comandos para o ponto final do dispositivo.
device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com

O diagrama e as etapas a seguir mostram como funcionam o acesso ao dispositivo IoT e os fluxos bidirecionais.

IoT visão geral do acesso ao dispositivo
Visão geral das etapas no diagrama anterior:
  1. O Dispositivo 1 publica a telemetria na Plataforma IoT usando MQTTs e autenticação básica.
  2. Dispositivos ou sensores em uma nuvem de terceiros podem postar a telemetria usando HTTPs para a Plataforma IoT usando autenticação básica.
  3. O Dispositivo 2 que está on-premises, protegido por um firewall com um proxy, publica telemetria na Plataforma IoT usando MQTTs em WebSocket com um certificado de cliente baseado na autenticação mTLS.
  4. O Dispositivo 3 se inscreve em um tópico para receber comandos da Plataforma IoT.
  5. O usuário envia um comando para a Plataforma IoT com os detalhes sobre qual dispositivo e para onde enviar a solicitação, e se configurado, quando e onde receber a resposta do dispositivo.
  6. A Plataforma IoT publica a solicitação para o Dispositivo 3 no tópico em que está inscrito.
  7. Se configurado, o Dispositivo 3 opcionalmente publica uma resposta à Plataforma IoT.

Pré-requisitos

Um administrador da sua organização deve configurar grupos, compartimentos e políticas que controlem quais usuários podem acessar quais tarefas, recursos e o tipo de acesso que eles têm, Para obter mais informações, consulte Visão Geral do Identity and Access Management, Gerenciando Domínios de Identidade e criando uma política.

Para administradores:

  1. As políticas do usuário controlam quem pode criar novos domínios IoT, grupos de domínios IoT e quem pode criar e gerenciar recursos de gêmeos digitais. Para obter informações sobre políticas do IoT, consulte Detalhes da Política da Plataforma Internet of Things (IoT).

    Por exemplo, esta política permite que seu grupo de usuários gerencie qualquer recurso IoT em um compartimento específico:

    Allow group <group-name> to manage iot-family in compartment <your-compartment-name>
  2. Ao criar um domínio IoT, você deve ter acesso de leitura ao grupo de domínios IoT que associa ao domínio IoT.
  3. Quando você cria uma instância dupla digital para coletar dados do dispositivo, é necessário autenticar um certificado ou um segredo. Crie um segredo ou um crie um certificado na mesma região do domínio IoT e dos recursos de gêmeos digitais associados para seus dispositivos.

    Adicione as políticas a seguir à sua tenancy para permitir que a Plataforma IoT acesse seus segredos e certificados do vault para autenticar seus dispositivos IoT. Substitua o <vault-OCID> pelo OCID do vault para os segredos da instância do gêmeo digital. Substitua o valor <compartment-name> pelo nome do compartimento no qual residem seus segredos ou certificados.

    Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} where ALL {request.principal.type = 'iotdomain' and target.resource.id = '<vault-OCID>'}
    Allow any-user to {CERTIFICATE_BUNDLE_READ, CERTIFICATE_READ} in compartment <compartment-name> where request.principal.type = 'iotdomain'
    Allow any-user to {CERTIFICATE_AUTHORITY_BUNDLE_READ, CERTIFICATE_AUTHORITY_READ} in compartment <compartment-name> where request.principal.type = 'iotdomain'
    Allow any-user to {CABUNDLE_READ} in compartment <compartment-name> where request.principal.type = 'iotdomain'
  4. Se você configurar o acesso a dados para um grupo de domínios IoT, o usuário deverá ter essa política configurada para permitir o acesso de leitura à VCN ou às VCNs. Um administrador deve criar uma política usando esta request.principal.type para permitir que qualquer usuário que trabalhe com um grupo de domínios IoT tenha acesso de leitura a uma VCN ou VCNs em um compartimento específico. Esta política fornece o acesso necessário para configurar o acesso aos dados para um grupo de domínios IoT.
    Allow any-user to {VCN_READ} in compartment <compartment-name> where request.principal.type = 'iotdomain'

Para usuários: Se você for um usuário diferente de um administrador que precisa usar os recursos do OCI, entre em contato com o administrador para configurar um ID de usuário para você. O administrador pode confirmar o(s) compartimento(s) que você pode usar. Depois que um administrador configura políticas, você pode acessar e trabalhar com recursos IoT de acordo com suas permissões.

Autenticação

Configure a autenticação para que o usuário se conecte à Console do Oracle Cloud, use os SDKs ou a CLI ou use a API REST:

Identificadores de Recursos

A maioria dos tipos de recursos do Oracle Cloud Infrastructure tem um identificador exclusivo designado pela Oracle chamado OCID (Oracle Cloud ID). Para obter informações sobre o formato do OCID e outras maneiras de identificar seus recursos, consulte Identificadores de Recurso e Localizando IDs do Oracle Cloud Infrastructure.

Limites de Recursos do IoT

Os limites de recursos IoT a seguir são regionais.

Observação

O sistema Oracle restringe a criação de até 2 domínios IoT em cada grupo de domínios IoT. O número máximo de grupos de domínios IoT é 5 e o número máximo de domínios IoT é 10 por região na sua tenancy.
Recurso Nome do Limite Oracle Universal Credits Sem Assinatura (Pay as You Go)
Número máximo de grupos de domínios IoT. contagem de grupos de domínios iot 5 5

Entre em contato conosco para solicitar uma exceção e aumentar o limite pago do grupo de domínios IoT.

Número máximo de domínios IoT. contagem de domínios iot 10 10

Entre em contato conosco para solicitar uma exceção e aumentar o limite pago de domínios do IoT.

Para obter uma lista dos limites aplicáveis e instruções para solicitar um aumento dos limites, consulte Limites do Serviço.

Limites de Recursos da API

Os limites de recursos de API a seguir são regionais.

Recurso Nome do Limite Créditos Universais da Oracle
IoT Grupo de Domínios Número máximo de VCNs permitidas na lista. 5
Domínio IoT Número máximo de nomes de grupos de domínios de identidades na lista de permissões. 5
Domínio IoT Período mínimo de retenção (em dias) para dados brutos, rejeitados, normalizados e de comando. 16
Adaptador Digital Twin Número máximo de rotas de entrada. 128

Protegendo sua Internet of Things

Em geral, a Oracle fornece segurança de infraestrutura e operações na nuvem, como controles de acesso do operador de nuvem e aplicação de patch de segurança da infraestrutura. Você é responsável por configurar com segurança seus recursos de nuvem. A segurança na nuvem é uma responsabilidade compartilhada entre você e a Oracle.

A Oracle é responsável pelos seguintes requisitos de segurança:
  • Segurança Física: A Oracle é responsável por proteger a infraestrutura global que executa todos os serviços oferecidos no Oracle Cloud Infrastructure. Essa infraestrutura consiste em hardware, software, redes e equipamentos que executam os serviços do Oracle Cloud Infrastructure.
Suas responsabilidades de segurança descritas nesta página incluem as seguintes áreas:
  • Controle do Acesso: Limite o máximo possível de privilégios. Os usuários só deverão receber o acesso necessário para executar o trabalho deles.
  • Segurança Física: Limite o acesso aos dispositivos locais da Internet of Things.