Implementação da AWS IoT em um controlador low-end como Atmega328, nrf51822?

8

Estou usando a AWS IoT implementada em um RPi há um tempo. Eu queria saber se eu poderia usar um controlador como o Atmega328 ou alguns controladores baseados em NRF ou STM32 para publicar e assinar o broker do AWS IoT MQTT?

Eu pesquisei um pouco sobre isso e estou empolgado em como fazer a autenticação com o servidor com os certificados.

Como faço para integrar esses controladores à AWS IoT?

A.Rajib Kumar Gupta
fonte
1
Nenhum desses possui a conectividade apropriada; para obtê-lo economicamente, você provavelmente acabará envolvendo algo que é um computador mais capaz; portanto, é melhor usá-lo e não esses chips. Em outros aspectos, você poderia fazer isso se tentasse o suficiente para encontrar uma maneira indireta, mas seria uma idéia fundamentalmente ruim.
Chris Stratton
1
Isso pode ser de uso github.com/copercini/esp8266-aws_iot
Cujo
Obrigado pela sua sugestão @ChrisStratton. Você acha que será possível com outros intermediários mqtt com requisitos limitados de autenticação?
A.Rajib Kumar Gupta
2
Você parece estar perdendo o objetivo - um Arduino por si só não possui uma interface de rede com ou sem fio que o tornaria capaz de se comunicar com esse serviço. Por outro lado, as coisas econômicas que fazem (ESP8266, chip de roteador wifi do Linux, etc.) terão mais facilidade de executar as operações necessárias do que um Arduino. Portanto, resolva o problema de comunicação e você provavelmente encontrará uma solução para o protocolo.
Chris Stratton

Respostas:

4

O AWS IOT exige que seu dispositivo entenda TCP / IP e criptografia.

O ATMega328 possui 2K bytes de RAM, mas os quadros Ethernet podem ter até 1500 bytes. Mesmo se você pudesse receber um pacote, não haveria espaço para processá-lo.

O nRF51822 possui 16K RAM, o que é suficiente para Ethernet, mas não o suficiente para fazer TCP / IP e WiFi. (Ambos exigem armazenamento de muito estado.)

O menor dispositivo prático com WiFi + TCP / IP é o ESP8266, que possui 96K de RAM. Mesmo assim, você geralmente pode ter apenas uma conexão TCP por vez. Eles estão ficando mais baratos o tempo todo (US $ 2). De fato, tentar adicionar WiFi a um AtMega significa que você está adicionando um processador pelo menos tão grande quanto o ESP8266. Alguns adaptadores WiFi do Arduino têm 10x o poder de um ESP8266 (e 10x o preço).

BraveNewCurrency
fonte
4

Você pode querer verificar o Amazon FreeRTOS .

O Amazon FreeRTOS (a: FreeRTOS) é um sistema operacional para microcontroladores que torna pequenos dispositivos de borda de baixa potência fáceis de programar, implantar, proteger, conectar e gerenciar. O Amazon FreeRTOS é baseado no kernel do FreeRTOS, um popular sistema operacional de código aberto para microcontroladores, e o estende com bibliotecas de software que facilitam a conexão segura de dispositivos pequenos e de baixo consumo de energia a serviços de nuvem da AWS, como o AWS IoT Core ou a mais poderosos dispositivos de borda executando o AWS Greengrass.

Há suporte para conectar (e configurar credenciais para) vários microcontroladores pequenos à AWS, incluindo um dispositivo STM32 .

rosa
fonte
Esse "dispositivo" STM32 vinculado é na verdade uma placa que contém um STM32 e, em seguida, outro STM32 dentro do módulo de sub-módulo serial-wifi Inventek. Uma solução eficiente executaria o aplicativo dentro do módulo serial-wifi (ou seu circuito equivalente), em vez de usar dois processadores para fazer o trabalho de um.
Chris Stratton