16

The controller in question is an STM32F030K6T6, which has an ARM® 32-bit Cortex® -M0 low power core, 32 kB Flash memory and 4 kB SRAM. It interfaces an SIM808 for Internet connectivity.

The resources are quite limited regarding the memory.

  • Is it possible to implement MQTT on this device?

  • What requirements should a microcontroller match to be able to use/run MQTT?

(I am not asking about a complete protocol stack implementation.)

0
12

Is it possible to implement MQTT on this device?

Any device that has TCP/IP layer can implement MQTT.

What requirements should a microcontroller match to be able to use/run MQTT?

You need to ask the following questions to know whether your device runs MQTT.

  • Is my device having TCP/IP or networking support?
  • Is there some memory and disk space available on device?
  • Is a ready made MQTT client that can used on the device platform?
  • Is there a network connectivity to the server?

Ref: MQTT Support

7
  • 1
    Then the question boils down to: can you make do with 32 kB code memory.
    – Ghanima
    Dec 6 '16 at 19:40
  • 1
    @Ghanima, I could say no, but I'm trying to give an overview as what hardware is needed to run MQTT.
    – bravokeyl
    Dec 6 '16 at 19:42
  • 3
    There is a MQTT library for Arduino : github.com/256dpi/arduino-mqtt which is low on memory
    – Goufalite
    Dec 7 '16 at 9:15
  • What's the minimum mem size does it need?
    – bravokeyl
    Dec 7 '16 at 9:19
  • 3
    The Eclipse Paho project has an embedded C client that is very lightweight but also quite flexible: github.com/eclipse/paho.mqtt.embedded-c. Might be worth a look.
    – jpwsutton
    Dec 7 '16 at 9:36
11

The mbed mmqt library doesn't seem to document any memory requirements as likely to be limiting, and can reasonably be assumed to be targetted at this sort of small-footprint device as an endpoint. You could fairly trivially import the library into a similar device platform using the online compiler and check the code footprint at least.

Not the answer you're looking for? Browse other questions tagged or ask your own question.