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
Conecte a Portenta: conecte sua Portenta (USB-C®) ao computador.
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.