Implementación de AWS IoT en un controlador de gama baja como Atmega328, nrf51822?

8

He estado usando AWS IoT implementado en un RPi por un tiempo. Me preguntaba si podría usar un controlador como Atmega328 o algunos controladores basados ​​en NRF o STM32 para publicar y suscribirse al broker AWS IoT MQTT.

Investigué un poco sobre eso y estoy atascado en cómo hacer la autenticación con el servidor con los certificados.

¿Cómo integro estos controladores con AWS IoT?

A.Rajib Kumar Gupta
fuente
1
Ninguno de estos tiene la conectividad adecuada; para obtener eso económicamente, probablemente terminarás involucrando algo que es una computadora más capaz, por lo que bien podrías usar eso y no estos chips en absoluto. En otras intenciones, podría hacer esto si intentara lo suficiente para encontrar una forma indirecta, pero sería una idea fundamentalmente mala.
Chris Stratton
1
Esto podría ser útil github.com/copercini/esp8266-aws_iot
cujo
Gracias por su sugerencia @ChrisStratton. ¿Crees que será posible con otros corredores mqtt con requisitos de autenticación limitados?
A.Rajib Kumar Gupta
2
Parece que se está perdiendo el punto: un Arduino por sí solo no tiene una interfaz de red cableada o inalámbrica que le permita comunicarse con este servicio. En contraste, las cosas económicas que hacen (ESP8266, chip de enrutador wifi de Linux, etc.) tendrán un tiempo más fácil de realizar las operaciones requeridas que un Arduino. Así que resuelva el problema de comunicación y probablemente encontrará una solución para el protocolo.
Chris Stratton

Respuestas:

4

AWS IOT requiere que su dispositivo entienda TCP / IP y el cifrado.

El ATMega328 tiene 2K bytes de RAM, pero las tramas de Ethernet pueden tener hasta 1500 bytes de longitud. Incluso si pudiera recibir un paquete, no quedaría espacio para procesarlo.

El nRF51822 tiene 16K de RAM, que es suficiente para Ethernet, pero no lo suficiente para hacer TCP / IP y WiFi. (Ambos requieren almacenar mucho estado).

El dispositivo práctico más pequeño con WiFi + TCP / IP es el ESP8266, que tiene 96K de RAM. Incluso entonces, generalmente solo puede tener una conexión TCP a la vez. Se están volviendo más baratos todo el tiempo ($ 2). De hecho, intentar agregar WiFi a un AtMega significará que está agregando un procesador al menos tan grande como el ESP8266. Algunos adaptadores WiFi Arduino tienen 10 veces la potencia de un ESP8266 (y 10 veces el precio).

ValienteNuevoMoneda
fuente
4

Es posible que desee consultar Amazon FreeRTOS .

Amazon FreeRTOS (a: FreeRTOS) es un sistema operativo para microcontroladores que hace que los dispositivos pequeños y de baja potencia sean fáciles de programar, implementar, proteger, conectar y administrar. Amazon FreeRTOS se basa en el núcleo FreeRTOS, un popular sistema operativo de código abierto para microcontroladores, y lo amplía con bibliotecas de software que facilitan la conexión segura de sus dispositivos pequeños y de baja potencia a servicios en la nube de AWS como AWS IoT Core o más potentes dispositivos de borde que ejecutan AWS Greengrass.

Hay soporte para conectar (y configurar credenciales para) varios microcontroladores pequeños con AWS, incluido un dispositivo STM32 .

Rosa
fuente
Ese "dispositivo" STM32 vinculado es en realidad una placa que contiene un STM32, y luego otro STM32 dentro del módulo de submódulo wifi serie Inventek. Una solución eficiente simplemente ejecutaría la aplicación dentro del módulo serial-wifi (o su circuito equivalente), en lugar de usar dos procesadores para hacer el trabajo de uno.
Chris Stratton