Como posso implementar o MQTT em um STM32F030K6T6?

15

O controlador em questão é um STM32F030K6T6 , que possui um núcleo de baixa potência ARM® de 32 bits Cortex® -M0, memória flash de 32 kB e SRAM de 4 kB. Ele faz interface com um SIM808 para conectividade com a Internet.

Os recursos são bastante limitados em relação à memória.

  • É possível implementar o MQTT neste dispositivo?

  • Quais requisitos um microcontrolador deve corresponder para poder usar / executar o MQTT?

(Não estou perguntando sobre uma implementação completa da pilha de protocolos.)

Bence Kaulics
fonte

Respostas:

12

É possível implementar o MQTT neste dispositivo?

Qualquer dispositivo que tenha camada TCP / IP pode implementar o MQTT.

Quais requisitos um microcontrolador deve corresponder para poder usar / executar o MQTT?

Você precisa fazer as seguintes perguntas para saber se o seu dispositivo executa o MQTT.

  • Meu dispositivo tem suporte para TCP / IP ou rede?
  • Existe alguma memória e espaço em disco disponível no dispositivo?
  • Um cliente MQTT pronto pode ser usado na plataforma do dispositivo?
  • Existe uma conectividade de rede com o servidor?

Ref: Suporte MQTT

bravokeyl
fonte
11
Então a questão se resume a: você pode se contentar com 32 kB de memória de código.
Ghanima
11
@ Ghanima, eu poderia dizer não, mas estou tentando fornecer uma visão geral do hardware necessário para executar o MQTT.
bravokeyl
3
Há uma biblioteca MQTT para Arduino: github.com/256dpi/arduino-mqtt que está com pouca memória
Goufalite
Qual é o tamanho mínimo de memória necessário?
bravokeyl
3
O projeto Eclipse Paho possui um cliente C incorporado que é muito leve, mas também bastante flexível: github.com/eclipse/paho.mqtt.embedded-c . Pode valer a pena dar uma olhada.
Jspwsutton
11

A biblioteca mbed mmqt não parece documentar nenhum requisito de memória com probabilidade de limitar, e pode-se supor que ele seja direcionado a esse tipo de dispositivo de tamanho reduzido como ponto de extremidade. Você poderia importar trivialmente a biblioteca para uma plataforma de dispositivo semelhante usando o compilador on-line e verificar pelo menos a pegada do código.

Sean Houlihane
fonte