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

Tecnologia de servidor web eficiente para microcontroladores com recursos limitados


Algum tempo atrás, publicamos um artigo intitulado Um novo olhar sobre a incorporação de um servidor web, onde sugerimos o uso de WebSockets em vez de HTTP com seus comandos tradicionais GET e POST. Um comentarista criticou o artigo por não ser adequado para uma ampla categoria de sistemas embarcados baseados em microcontroladores pequenos.

O protocolo WebSocket, quando usado corretamente, usa menos recursos do que um servidor web tradicional. Na verdade, acreditamos que o WebSockets é a única opção viável se você planeja que o TLS habilite o servidor da Web incorporado. Você pode já estar usando um servidor da web embutido em seu dispositivo, mas habilitar o TLS em um servidor da web padrão para um dispositivo com recursos limitados geralmente termina em desastre. Para entender por que o TLS cria tal problema para a tecnologia de servidor da Web padrão, consulte nosso tutorial Quando não incorporar um servidor da Web em um dispositivo.

Design de referência de aplicativo da Web moderno para microcontroladores

Recentemente, comprometemos nosso servidor HTTP e WebSocket incorporado ao GitHub. O servidor Embedded HTTP e WebSocket, denominado Minnow Server, foi projetado especificamente para microcontroladores minúsculos com recursos limitados.

Mais importante, também incluímos um exemplo de referência que mostra como construir uma interface de usuário da web moderna em tempo real para gerenciamento de dispositivos. O aplicativo da web é denominado Single Page Application (SPA), que usa exclusivamente o protocolo WebSocket para gerenciamento de dispositivos. O protocolo HTTP é usado apenas para carregar o SPA. Em outras palavras, o HTTP é inicialmente usado pelo navegador ao carregar o aplicativo sob demanda do dispositivo.

O exemplo de referência inclui atualizações em tempo real de LEDs e um medidor de termostato, e mostra como fazer upload de firmware por WebSockets. O SPA completo requer apenas 41 Kbytes de espaço de armazenamento de memória flash. Além disso, o servidor WebSocket requer muito pouca RAM para a comunicação.

A captura de tela a seguir mostra a página de upload de firmware do SPA. A página é uma das várias páginas de exemplos que mostram como se beneficiar do novo protocolo WebSocket. A página de upload de firmware mostra como criar uma lógica de upload de arrastar e soltar JavaScript e como enviar o arquivo carregado para o servidor por meio da conexão WebSocket. Todas as mensagens enviadas por meio da conexão WebSocket são enviadas como mensagens de texto JSON, exceto para o upload, que é enviado como dados binários. O JavaScript moderno pode gerenciar facilmente dados binários e o protocolo WebSocket oferece suporte a quadros binários e de texto.



Começar a usar o servidor Minnow

Acesse o GitHub, baixe o Minnow Server e comece a escrever seu próprio SPA para o design de seu microcontrolador. O exemplo de referência foi projetado de forma que possa ser facilmente reutilizado para seu próprio aplicativo de gerenciamento de dispositivo integrado. Os blocos de construção CSS e HTML5 neste aplicativo foram projetados para reutilização. Além disso, a biblioteca JavaScript de comunicação WebSocket incluída no exemplo foi projetada para ser genérica e pode ser facilmente reutilizada em outros aplicativos.

Nota:

O Minnow Server foi projetado para pequenos microcontroladores, mas como o exemplo de referência foi projetado principalmente para fins educacionais, limitamos o ambiente de construção pronto para uso para Windows e Linux. Você pode portar o aplicativo para um sistema embarcado, mas faz mais sentido apenas usar as idéias de design no exemplo de referência. É claro que você pode usar as partes genéricas “como estão”.

Embora o Minnow Server possa ser configurado para gerenciar várias conexões, o exemplo de referência é configurado para gerenciar uma conexão por vez. A tentativa de conectar uma nova janela do navegador enquanto outra janela do navegador está usando a única conexão WebSocket não funcionará.

Se você não tiver a experiência necessária em HTML / CSS / JavaScript, considere a possibilidade de se juntar a um desenvolvedor de front-end da web. A melhor maneira de pensar sobre como criar um SPA é comparar o processo de desenvolvimento com a criação de um aplicativo de desktop ou de telefone projetado para se comunicar com um dispositivo usando TCP. Normalmente, diferentes desenvolvedores são responsáveis ​​pelo aplicativo de desktop e firmware do dispositivo e esta também é a melhor maneira de projetar um SPA. Os desenvolvedores de firmware e front-end precisam concordar com a API de comunicação entre o navegador e o servidor e vice-versa. Em outras palavras, eles precisariam especificar o tipo de mensagens enviadas pela conexão WebSocket.



Wilfred Nilsen , Fundador e CTO da Real Time Logic, tem 28 anos de experiência em projetos de software embarcado. Impulsionado por uma visão de sistemas embarcados conectados, ele projetou o Barracuda Application Server, adaptando-o para as necessidades de microprocessadores embarcados em tempo real e de pequeno porte.

Tecnologia da Internet das Coisas

  1. E-têxtil respirável para aplicativos RF vestíveis
  2. Tendências na manufatura para 2021
  3. Memória de mudança de fase incorporada de amostragem ST para microcontroladores automotivos
  4. Três etapas para adoção de IoT para seguradoras de saúde
  5. O local de trabalho oferece o ajuste perfeito para vestíveis
  6. LoRaWAN substituirá temporariamente as redes 5G para IoT
  7. Tecnologia SQL; benchmark por um motivo
  8. 5 Indústrias destinadas à ruptura tecnológica
  9. 3 melhores razões para usar a tecnologia IoT para gerenciamento de ativos
  10. Tecnologia IoT para o setor de energia:uma transformação significativa