Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Eclipse Vorto:a próxima etapa na integração do dispositivo IoT

Alexander Edelmann


你好 (chinês para "Hello"), estou baseado em Cingapura e trabalho como engenheiro de software para Robert Bosch desde 2006. Sou apaixonado por IoT e acredito em padrões abertos que determinam a interação bem-sucedida entre dispositivos em várias plataformas IoT . É por isso que contribuo ativamente para o projeto Eclipse IoT Vorto, que visa fornecer ferramentas baseadas em nuvem para descrever uniformemente dispositivos IoT e integrá-los em várias plataformas IoT baseadas em padrões IoT abertos. Com meu lado geek de IoT à parte, gosto da culinária asiática que me permite praticar minhas habilidades com os pauzinhos. Você também pode me encontrar na quadra jogando algumas bolas de tênis com meus amigos.

Observando exemplos como fábricas e residências inteligentes, os dispositivos conectados estão melhorando não apenas o custo e a eficiência dos recursos das empresas, mas também aumentando a segurança e a conveniência de viver. Com o grande número de fabricantes de dispositivos e sensores, novos desafios estão surgindo para os fabricantes, plataformas e integradores.

O principal problema é como garantir que os dispositivos conectados possam comunicar-se perfeitamente com plataformas em nuvem, independentemente dos diferentes fabricantes, tecnologias e sistemas. No passado, os desenvolvedores criaram soluções de IoT especificamente projetadas para um conjunto limitado de dispositivos que tinham a mesma API. Ao alterar o tipo de dispositivo ou trocar os fabricantes de dispositivos, a integração do dispositivo exigiu uma refatoração demorada para funcionar com o novo dispositivo.

Imagine que você planeja integrar uma solução IoT para rastreamento de ativos em uma grande fazenda. Você não deseja apenas acompanhar a localização atual, mas também a temperatura e a aceleração dos tratores, arados e outros dispositivos agrícolas.

Duas questões surgem quando se pensa em escolher os dispositivos IoT certos:

É aqui que entra o Eclipse Vorto de software livre.

Apresentando Eclipse Vorto


Fonte:Eclipse Vorto
O Eclipse Vorto fornece uma camada de abstração chamada Vorto Information Model e uma linguagem específica de domínio (DSL) que descreve todas as meta-informações, como propriedades e funções, de um dispositivo conectado.

Ao adicionar uma camada de abstração, criamos uma interface consistente que nos permite usar diferentes tipos de dispositivos com funcionalidade semelhante.

O projeto Eclipse Vorto é construído em quatro componentes principais:

Eclipse Vorto é totalmente open source e desenvolvido dentro do Eclipse IoT Working Group sob a supervisão da Bosch.

Tim Grossmann


Como estudante alemão de ciência da computação, assumi atribuições em 3 departamentos diferentes da Bosch nos últimos um ano e meio. Estou particularmente interessado em tecnologias Open Source e EduTech. Acredito que a IoT e a automação têm um enorme potencial para mudar e melhorar a maneira como as pessoas vivem, trabalham e aproveitam a vida. Um aluno e desenvolvedor apaixonado, estou sempre interessado em aprender novas habilidades e ferramentas. Além do meu trabalho regular, desenvolvi e agora mantenho o maior bot de automação de código aberto gratuito do mundo para o Instagram. No meu tempo livre, gosto de fazer escaladas com amigos e viajar para países estrangeiros.

Eclipse Vorto na prática


Vejamos um exemplo mais específico para entender melhor essa abstração. Imagine uma empresa agrícola que deseja manter o controle dos veículos e ativos usados ​​para coletar as safras de trigo. Em fazendas maiores com várias colheitadeiras, tratores e outros ativos, queremos saber por quanto tempo cada veículo foi usado e seu histórico de localização.

Ao combinar este tipo de informação com valores de temperatura e umidade, podemos viabilizar um plano de manutenção inteligente para todos os veículos e ativos. A localização de cada veículo e ativo também nos fornece recursos antifurto.

Uma das soluções que oferece esse tipo de funcionalidade é a Solução de Rastreamento de Ativos (TRACI) da Bosch.
Fonte:Bosch.IO
Para criar um modelo digital deste dispositivo específico, precisamos ter alguns blocos de construção básicos que serão usados ​​para montar o Modelo de Informação TRACI.

Um dos componentes mais importantes do dispositivo de rastreamento é a bateria. Para poder monitorar o estado da bateria de cada dispositivo, podemos descrever o estado no que é chamado de Bloco de Função.

Um Bloco de Função é um modelo genérico que pode ser reutilizado posteriormente em outros Modelos de Informação de dispositivo.

Podemos definir um assim:
namespace org.eclipse.vorto versão 1.0.0 displayname "Bateria" descrição "Functionblock for Battery" categoria periférica using org.eclipse.vorto.Voltage; 1.0.0 functionblock Battery extends org.eclipse.vorto.Voltage { status { capacidade restante obrigatória como flutuante } }
Aqui, descrevemos um bloco de funções que descreve abstratamente alguma entidade que contém um valor numérico obrigatório entre 0 e 100.

Como nosso status é um valor percentual, podemos abstrair isso para, novamente, tornar os componentes distintos reutilizáveis. Portanto, criaremos o que é chamado de tipo de dados . Aqui podemos definir uma entidade (Porcentagem neste caso) que tem as mesmas restrições de ser um valor numérico entre 0 e 100.
namespace org.eclipse.vorto.types versão 1.0.0 displayname "Porcentagem" descrição "Tipo de dados para porcentagem" unidades de categoria Entidade Percentage { valor obrigatório como flutuante }
Depois de criar esse tipo de dados, ele pode ser importado e usado dentro de nosso Bloco de funções de bateria e substitui a implementação concreta.
namespace org.eclipse.vorto versão 1.0.0 displayname "Bateria" descrição "Functionblock for Battery" categoria periférica using org.eclipse.vorto.types.Percentage; 1.0.0 using org.eclipse.vorto.Voltage; 1.0.0 functionblock Battery extends org.eclipse.vorto.Voltage { status { capacidade restante obrigatória como porcentagem } }
Podemos repetir este processo para todos os sensores integrados em nosso dispositivo TRACI, como o sensor de temperatura , GPS , aceleração e módulos de conectividade . Todos esses blocos de funções podem então ser montados em um Modelo de informação Vorto que pode então ser usado como o ponto de partida para os geradores de código produzirem stubs de código de integração de dispositivo para você.
namespace com.bosch.ps versão 1.0.0 nome de exibição "Traci" descrição "Information Model for Traci" using org.eclipse.vorto.Geolocation; 1.0.0 using org.eclipse.vorto.Acceleration; 1.0.0 using org.eclipse.vorto.MagneticStrength; 1.0.0 using org.eclipse.vorto.Temperature; 1.0.0 using org.eclipse.vorto.Battery; 1.0.0 using org.eclipse.vorto.Connectivity; 1.0.0 infomodel Traci { blocos funcionais { bateria como bateria localização como geolocalização aceleração como aceleração temperatura como temperatura MagneticStrength como MagneticStrength bluetoothConnectivity as Connectivity lorawanConnectivity as Connectivity } }
Tudo bem, então para que fazemos tudo isso?

Digamos que agora queremos usar dispositivos de outros fabricantes com recursos semelhantes aos do dispositivo TRACI. Já criamos uma solução de IoT que integra o dispositivo TRACI e seria uma grande dor refatorar nosso sistema para funcionar com dispositivos de diferentes fabricantes.

Uma vez que já temos nossos blocos de funções e os tipos de dados definidos, podemos definir um novo modelo de informações para nosso novo dispositivo que usa os mesmos blocos de funções que o modelo TRACI.

Vamos comparar o modelo TRACI com um produto com funcionalidade comparável, o NL-AT2VS da NimbeLink.
namespace com.nimbelink.nl versão 1.0.0 displayname "NLAT2VS" descrição "Modelo de informação para NLAT2VS" using org.eclipse.vorto.Geolocation; 1.0.0 using org.eclipse.vorto.Battery; 1.0.0 using org.eclipse.vorto.Connectivity; 1.0.0 using org.eclipse.vorto.Temperature; 1.0.0 using org.eclipse.vorto.Humidity; 1.0.0 using org.eclipse.vorto.Acceleration; 1.0.0 infomodelo NLAT2VS { blocos funcionais { bateria como bateria aceleração como aceleração localização como geolocalização temperatura como temperatura umidade como umidade wi-fiConnectivity as Connectivity cellConnectivity as Connectivity } }
Podemos ver que mesmo os módulos de conectividade são diferentes neste modelo, mas ainda estão usando o bloco de funções de conectividade abstrato. A abstração nos permite substituir ou combinar diferentes dispositivos com funcionalidade semelhante sem muita sobrecarga de integração.

Quem deve usar Eclipse Vorto?


Dada a diversidade de entidades envolvidas na fabricação, integração e desenvolvimento de soluções de IoT, as entidades que mais se beneficiarão com o Eclipse Vorto são:

Fabricantes de dispositivos


O Eclipse Vorto pode ajudar os fabricantes de dispositivos a habilitar a interoperabilidade com outros dispositivos em infraestruturas existentes. A flexibilidade é uma grande vantagem para os clientes na hora de escolher os dispositivos a serem integrados.

Ao usar Modelos de Informação independentes de tecnologia, os fabricantes de dispositivos evitam a sobrecarga de gerar formas de implementações para todos os tipos de plataformas de destino. Isso economiza dinheiro e tempo ao publicar Modelos de Informações que podem ser convertidos em integrações concretas usando os geradores de código.

A grande vantagem de usar o Eclipse Vorto é que outras evoluções da camada de protocolo do dispositivo são desacopladas da lógica do controlador do dispositivo.
Fonte:Eclipse Vorto

Plataformas IoT


As plataformas IoT devem conectar uma grande variedade de dispositivos IoT diferentes de uma ampla gama de fabricantes e suportar todos os diferentes protocolos e formatos. Ao usar os geradores de código do Eclipse Vorto, esse esforço pode ser reduzido drasticamente por meio da geração parcial ou total do código-fonte.

Além disso, o Repositório Vorto atua como um repositório de tempo de execução que permite que as plataformas recuperem recursos do dispositivo como esquema JSON. Esses esquemas podem então ser interpretados e validados no gêmeo digital ou usados ​​para inicializar conectores para a comunicação.

Mesmo que isso signifique um maior trabalho de desenvolvimento inicial, será recompensado com o tempo, considerando a vasta quantidade de dispositivos e o crescimento da IoT.

Desenvolvedores de soluções


Ao integrar dispositivos conectados e sensores inteligentes em soluções de IoT, os desenvolvedores precisam cobrir uma ampla gama de APIs de dispositivos diferentes, o que resulta em uma grande sobrecarga de codificação. O Eclipse Vorto pode reduzir a quantidade de trabalho de desenvolvimento envolvido, fornecendo geradores de código que fornecem stubs de código genérico que simplificam a integração de dispositivos.
Fonte:Eclipse Vorto

Olhando para o futuro da IoT


Ao garantir a interoperabilidade e harmonizar a interface dos dispositivos, o Eclipse Vorto tem o potencial de mudar a maneira como os fabricantes de dispositivos, operadores de plataforma IoT e desenvolvedores de aplicativos trabalham com dispositivos IoT.

Ele pode reduzir o trabalho de desenvolvimento para fabricantes e facilitar a integração de dispositivos para fornecedores de plataformas e integradores, ao mesmo tempo em que lida com muitos dos desafios mencionados de desenvolvimento de IoT.

Se você quiser saber mais sobre o projeto, certifique-se de verificar o repositório do GitHub e atribuir uma estrela a ele.

Você também pode tentar e usar os tutoriais sofisticados para criação, integração e visualização de dispositivos fornecidos no Repositório Vorto.

Tecnologia da Internet das Coisas

  1. Autenticação de dispositivo baseada em X.509 no Eclipse Hono
  2. Dados inteligentes:a próxima fronteira na IoT
  3. A crescente ameaça da IoT habilitada para Wi-Fi
  4. Não acredite no exagero:Por que a IoT está parando
  5. Conectando a IoT - A oportunidade de banda estreita
  6. Estamos preparando as bases para a IoT na empresa
  7. 5 desafios que a Internet das Coisas ainda enfrenta
  8. A função da IoT na saúde durante a Covid-19
  9. Por que a conexão direta é a próxima fase da IoT industrial
  10. Descobrindo o ponto cego da IoT em um mundo pós-pandêmico