Arduino Blueprint: desenvolvendo projetos IoT abertos


Código simplificado, lançamento acelerado

O Arduino Blueprint integra nosso SDK para conectividade celular, oferecendo uma abordagem simplificada ao desenvolvimento. Baseado em experiências anteriores com FreeRTOS e Zephyr, esse projeto permite que os usuários do Arduino foquem nas funcionalidades essenciais de seus projetos.

A integração do Arduino com a 1NCE traz diversas vantagens técnicas para projetos de IoT. Em primeiro lugar, ela reduz os custos de desenvolvimento ao minimizar o tempo e os recursos necessários para software e configuração. O Arduino Blueprint oferece módulos e bibliotecas pré-configurados que interagem perfeitamente com as placas Arduino, eliminando a necessidade de codificação complexa e esforços intensivos de integração.

Além disso, os mecanismos de autenticação simplificados e os protocolos de comunicação eficientes aceleram o tempo de colocação no mercado das soluções de IoT. Com isso, os desenvolvedores podem estabelecer rapidamente conexões seguras e transmitir dados de forma eficaz através de redes celulares.

A colaboração entre Arduino e 1NCE permite que os desenvolvedores adaptem seus projetos de IoT a requisitos e ambientes em constante mudança. A arquitetura modular do Arduino facilita a expansão e personalização, enquanto o suporte a protocolos padrão da indústria, como o CoAP, garante a interoperabilidade com uma ampla gama de dispositivos e plataformas de IoT.

Por fim, as comunidades ativas em torno do Arduino e da 1NCE oferecem recursos valiosos, conhecimento especializado e suporte fundamental para projetos de IoT. Os desenvolvedores podem utilizar fóruns online, tutoriais e repositórios de código para colaborar, solucionar problemas e compartilhar as melhores práticas.

O futuro está aberto com a autenticação perfeita do Arduino

A natureza de código aberto do Arduino permite que os desenvolvedores criem protótipos e personalizem projetos de IoT com facilidade. No entanto, a autenticação tradicional de dispositivos IoT pode ser um processo complicado, envolvendo várias etapas, desde o registro até a geração e anexação de certificados. Com o Device Authenticator da 1NCE, em vez de passar por até oito etapas, os desenvolvedores podem conectar seus dispositivos com segurança em apenas duas etapas simples. Agora, não é mais necessário gerar e anexar certificados manualmente. Ao receber automaticamente a chave pré-compartilhada e estabelecer uma conexão DTLS segura, os desenvolvedores podem se concentrar no que realmente importa: a funcionalidade do aplicativo de IoT.


Como funciona o Device Authenticator


Projetos de Arduino que otimizam o consumo de energia

A autenticação de dispositivos é apenas uma das ferramentas disponíveis. Com base no feedback dos nossos clientes, identificamos a necessidade urgente de protocolos de comunicação energeticamente eficientes. Métodos tradicionais muitas vezes ignoram esse aspecto, resultando em consumo excessivo de energia e diminuição da vida útil do dispositivo. No entanto, o Energy Saver, que utiliza CoAP/UDP, permite que os desenvolvedores otimizem o uso de energia sem sacrificar a conectividade ou a segurança.

O CoAP oferece um tratamento de recursos mais eficiente em comparação com o MQTT, utilizando o User Datagram Protocol (UDP) em vez do TCP. O UDP, por ser sem conexão e orientado a pacotes, envia pacotes de dados consecutivamente sem a necessidade de confirmação, ao contrário do TCP, que exige pacotes numerados e confirmação antes de enviar o próximo pacote. Essa abordagem economiza esforço, tempo e energia.  

Portanto, o CoAP é particularmente vantajoso em cenários em que os dispositivos priorizam a conservação de recursos. Os dispositivos alimentados por bateria, normalmente equipados com hardware básico e recursos de computação limitados, têm como objetivo transmitir dados de forma rápida e eficiente e, ao mesmo tempo, minimizar o consumo de energia, o que torna o CoAP a opção preferida nesses casos.


O Energy Saver no ecossistema da IoT


Trabalho na prática: Colheita orientada por dados

Vamos explorar rapidamente como o Arduino Blueprint da 1NCE funciona na prática dentro do sistema de monitoramento da agricultura inteligente:  

Configuração Simples: os desenvolvedores podem conectar dispositivos Arduino, como sensores de umidade do solo ou de água, à nuvem em apenas duas etapas, eliminando a complexidade da geração de certificados. Isso reduz o tempo gasto na configuração e permite que o foco esteja na operação eficiente do sistema para monitorar plantações e gado.

Eficiência Energética: com o Energy Saver, o sistema otimiza o uso da bateria, permitindo que os dispositivos funcionem por períodos mais longos sem a necessidade de substituições frequentes. Esse modo de baixo consumo garante que os dispositivos permaneçam conectados à nuvem enquanto economizam energia, sendo especialmente útil em áreas agrícolas remotas, onde as fontes de energia podem ser limitadas.


Compatibilidade e diretrizes 

Atualmente, o 1NCE Arduino Blueprint é compatível com os modelos Arduino Portenta H7 e Arduino Portenta H7 Lite, ambos operando no sistema operacional Mbed. Quando conectados ao Portenta Cat. M1/NB IoT GNSS Shield, esses dispositivos oferecem uma excelente base para o desenvolvimento de projetos IoT.

Para aqueles que desejam explorar mais sobre o desenvolvimento de IoT com o Arduino, uma variedade de recursos está disponível, incluindo tutoriais, documentação e fóruns comunitários. O Arduino IDE (Ambiente de Desenvolvimento Integrado) fornece uma plataforma intuitiva para escrever, compilar e carregar código nas placas Arduino. Além disso, o Arduino IoT Cloud permite conectar dispositivos Arduino à nuvem de forma simples, facilitando a criação de aplicativos IoT.

Abaixo, você encontrará um guia passo a passo para configurar alguns dispositivos Arduino com o Arduino Blueprint.


Primeiros passos com o Arduino Protenta H7

Etapa 1: Configuração do ambiente de desenvolvimento: nesta seção, vamos orientá-lo passo a passo na configuração da placa Portenta para executar o Arduino Blueprint

Comece com a configuração básica

  1. Conecte a Portenta: conecte sua Portenta (USB-C®) ao computador.

  2. Abra o IDE: inicie o IDE do Arduino (certifique-se de que seja a versão mais recente).

Incluir a placa Portenta na lista de opções disponíveis

Para acessar a placa Portenta no seu Arduino IDE, abra o Gerenciador de Placas indo até Ferramentas > Placa > Gerenciador de Placas. Na barra de pesquisa, digite “portenta” para localizar a biblioteca correspondente. Em seguida, encontre a Arduino mbed-enabled Boards e clique em “Instalar” para baixar e instalar a versão mais recente do núcleo do sistema operacional Mbed.

Inclua a placa Portenta na lista de opções disponíveis

Para incluir o Arduino Blueprint da 1NCE nas bibliotecas disponíveis, abra o IDE do Arduino e acesse o gerenciador de bibliotecas. Procure por “Arduino Blueprint” e localize a biblioteca da 1NCE GmbH. Clique em “Instalar” para adicionar a versão mais recente, que é a versão 1.0.0 no momento em que este tutorial foi escrito.


Etapa 2: Carregando o blueprint do Arduino da 1NCE 

Demonstração UDP     

Vamos programar a placa Portenta utilizando o exemplo de demonstração UDP. Para isso, abra o Arduino IDE e navegue até Arquivo > Exemplos > 1NCE Arduino Blueprint > nce_udp_demo. Assim que o exemplo estiver aberto, você precisará personalizar os seguintes parâmetros:


As opções de configuração para este exemplo são:  

NCE_UDP_ENDPOINT é definido como ponto de extremidade 1NCE. 

NCE_UDP_PORT é definida por padrão como a porta 4445 do ponto final UDP da 1NCE. NCE_UDP_DATA_UPLOAD_FREQUENCY_SECONDS o intervalo entre os pacotes UDP. 

NCE_PAYLOAD Mensagem a ser enviada ao 1NCE IoT Integrator. 

NCE_PAYLOAD_DATA_SIZE Usado quando o 1NCE Energy Saver está ativado para definir o tamanho dos dados de carga útil do modelo de tradução. 

 

Demonstração de CoAP

Vamos programar a Portenta com o exemplo de demonstração UDP: no Arduino IDE, abra o exemplo clicando na entrada de menu File > Examples > 1NCE Arduino Blueprint > nce_coap_demo

 


NCE_COAP_ENDPOINT é definido como 1NCE endpoint. NCE_COAP_PORT é definida automaticamente com base nas opções de segurança (com/sem DTLS). 

NCE_COAP_URI_QUERY é a opção de consulta de URI usada para definir o tópico MQTT para o integrador IoT da 1NCE. 

NCE_COAP_DATA_UPLOAD_FREQUENCY_SECONDS o intervalo entre os pacotes CoAP. 

NCE_PAYLOAD Mensagem a ser enviada ao 1NCE IoT Integrator. 

NCE_PAYLOAD_DATA_SIZE Usado quando o 1NCE Energy Saver está ativado para definir o tamanho dos dados de carga útil do modelo de tradução. 

Demonstração do LwM2M  

Vamos programar a Portenta com o exemplo de demonstração UDP: no Arduino IDE, abra o exemplo clicando na entrada de menu File > Examples > 1NCE Arduino Blueprint > nce_LwM2M_demo


TAs opções de configuração para a amostra LwM2M são as seguintes:

NCE_ICCID o ICCID do cartão SIM 1NCE. 

LWM2M_ENDPOINT é definido como o ponto de extremidade 1NCE. O DTLS é ativado por padrão.

Para usar o DTLS, o PSK de inicialização deve ser definido em LWM2M_BOOTSTRAP_PSK. Ele pode ser configurado durante o teste da integração do LwM2M (no integrador de dispositivos) ou na API Create Pre-Shared Device Key

Para testar a comunicação não segura, desative o autenticador do dispositivo removendo a seguinte definição de nce_demo_config.h 

#definir LwM2M_ENABLE_DTLS 

A filosofia de código aberto do Arduino, aliada a uma vibrante comunidade de desenvolvedores, democratizou o desenvolvimento da IoT e capacitou indivíduos e organizações a criar projetos impactantes. Ao mesmo tempo, a 1NCE cria maneiras adicionais de usar todo o poder da plataforma e conectar os dispositivos de forma integrada com apenas alguns cliques.