Como selecionar um servidor IoT simples e leve para desenvolvimento?

13

Estamos explorando os diferentes casos de uso e soluções de IoT. Para facilitar a exploração, experimentação, design, desenvolvimento e teste de uma possível solução, estou investigando a possibilidade de configurar localmente um servidor IoT simples.

Portanto, eu gostaria de entender a arquitetura subjacente dos servidores que atendem aos dispositivos IoT. De um modo geral, os dispositivos IoT conectam serviços que fornecem dados e disponibilizam as informações para uso por outros dispositivos. Isso é bem direto.

Por enquanto, os possíveis dispositivos de borda da IoT usarão o Wi-Fi, mas planejam migrar para uma taxa de dados baixa e protocolo de baixa energia, como ZigBee, BLE ou Z-Wave, e nesse momento exigirei algum tipo de hub . A carga útil dos dados será de cerca de 100 bytes; no pico, a transmissão poderá chegar a uma transação por minuto. Os dispositivos de borda da IoT geralmente carregam dados, com um download ocasional para os dispositivos.

Foi sugerido que eu analise o MQTT e o RabbitMQ como possíveis opções. Também fui direcionado para “ Exibindo mensagens MQTT em um navegador em tempo real ”, para o qual estou analisando no momento da redação.

Aqui estão algumas perguntas que eu acredito que estão relacionadas:

  • O que diferencia um servidor IoT de servidor da web, servidor de email ou servidor FTP?
  • Qual é a arquitetura subjacente de um servidor IoT básico?
  • Quais características são importantes ao considerar um servidor IoT simples e leve?
Mahendra Gunawardena
fonte

Respostas:

6

Eu vou responder sua primeira pergunta. Eu acho que seria melhor fazer apenas uma pergunta por ... pergunta :)

O que diferencia um servidor IoT de servidor da web, servidor de email ou servidor FTP?

  • Um servidor web fala HTTP para fornecer páginas da web.
  • Um servidor de correio fala com POP / IMAP / SMTP para trocar email.
  • Um servidor FTP fala o protocolo FTP para transferência de arquivos.

Essencialmente, são apenas todas as maneiras de transferir informações entre um cliente e um servidor. Um servidor IoT não é diferente, apenas fala um protocolo 'IoT' para se comunicar entre o cliente e o servidor. As informações transmitidas não são páginas da web, email ou arquivos, são mensagens como "a temperatura atual é de 20 ° C". Os protocolos de IoT de exemplo são MQTTe CoAP.

ralight
fonte
Por exemplo, seu servidor "IoT" pode ser o "MQTT Broker" e isso o tornaria um servidor IoT se você usasse o MQTT para transmitir dados pelos dispositivos em sua infraestrutura de IoT.
M4l490n
5

O que diferencia um servidor IoT de servidor da web, servidor de email ou servidor FTP?

Como o @ralight apontou, o servidor IoT trabalha com a pilha de protocolos IoT. Isso não se limita a uma camada OSI; na verdade, todos os estágios são ou podem ser otimizados para o uso da IoT e, é claro, novos protocolos são necessários.

Também é possível que o hardware seja atípico: em pouco dispositivo de configuração de coletor de dados, como o Raspberry PI, é possível realizar as tarefas do servidor total ou parcialmente.

Parcialmente significa computação em neblina, onde os dados são processados ​​onde são coletados e apenas os resultados finais vão para o servidor principal.

Qual é a arquitetura subjacente de um servidor IoT básico?

A partir deste site algumas especificações de hardware:

Em uma hipótese hipotética do seu caso, digamos que 300 clientes sejam mantidos abertos simultaneamente no servidor e cada cliente envie 10 msgs / segundo, totalizando 3000 mensagens por segundo. Acredite, mesmo um corretor hospedado em dual core com 2 GB de RAM não terá nenhum consumo significativo.

Então, hardware básico do servidor.

Quais características são importantes ao considerar um servidor IoT simples e leve?

Não tenho muita ideia disso, mas gostaria de saber se o Raspberry PI é suficiente como algum tipo de servidor MQTT. Eu li em algum lugar no Quora que o Esp8266 não é, mas eu vi um Linux de desktop normal trabalhando no RPI, então por que não poderia atuar como servidor também?

O que considerar antes de experimentar o Raspberry são os requisitos de hardware da pilha de serviços selecionada. Com o hardware normal do servidor, a quantidade de memória atual é tão alta que não haverá problemas.

Os 3000msg / s mencionados são relativamente altos em comparação com os casos de teste de IoT, e o RPI3 possui 1G de RAM. Isso é metade, portanto, depende do fato de as mensagens preencherem a memória nesse caso ou de quanto o MQTT simples precisa. Isso afeta o quão adequado seria.

mico
fonte
1
Parece que não há nenhum problema com o RPI como servidor: iot.stackexchange.com/questions/1858/…
mico