Wie kann ich MQTT auf einem STM32F030K6T6 implementieren?

15

Bei dem Controller handelt es sich um einen STM32F030K6T6 , der einen ARM® 32-Bit-Cortex® -M0-Low-Power-Core, einen 32-kB-Flash-Speicher und einen 4-kB-SRAM aufweist. Es verbindet ein SIM808 für die Internetverbindung.

Die Ressourcen sind in Bezug auf den Speicher sehr begrenzt.

  • Ist es möglich, MQTT auf diesem Gerät zu implementieren?

  • Welche Anforderungen sollte ein Mikrocontroller erfüllen, um MQTT verwenden / ausführen zu können?

(Ich frage nicht nach einer vollständigen Implementierung des Protokollstacks.)

Bence Kaulics
quelle

Antworten:

12

Ist es möglich, MQTT auf diesem Gerät zu implementieren?

Jedes Gerät mit TCP / IP-Schicht kann MQTT implementieren.

Welche Anforderungen sollte ein Mikrocontroller erfüllen, um MQTT verwenden / ausführen zu können?

Sie müssen die folgenden Fragen stellen, um zu wissen, ob auf Ihrem Gerät MQTT ausgeführt wird.

  • Verfügt mein Gerät über TCP / IP- oder Netzwerkunterstützung?
  • Steht auf dem Gerät Speicher und Speicherplatz zur Verfügung?
  • Ist ein fertiger MQTT-Client vorhanden, der auf der Geräteplattform verwendet werden kann?
  • Besteht eine Netzwerkverbindung zum Server?

Ref: MQTT-Unterstützung

bravokeyl
quelle
1
Dann lautet die Frage: Können Sie mit 32 kB Codespeicher auskommen?
Ghanima
1
@ Ghanaima, ich könnte nein sagen, aber ich versuche einen Überblick darüber zu geben, welche Hardware zum Ausführen von MQTT benötigt wird.
Bravokeyl
3
Es gibt eine MQTT Bibliothek für Arduino: github.com/256dpi/arduino-mqtt , die wenig Speicher ist
Goufalite
Was ist die Mindestgröße für Mems?
Bravokeyl
3
Das Eclipse Paho-Projekt verfügt über einen eingebetteten C-Client, der sehr leicht, aber auch sehr flexibel ist: github.com/eclipse/paho.mqtt.embedded-c . Könnte einen Blick wert sein.
Jpwsutton
11

Die mmqt- Bibliothek von mbed scheint keine Speicheranforderungen zu dokumentieren, die wahrscheinlich einschränkend sind, und es kann davon ausgegangen werden, dass sie auf ein solches Gerät mit geringem Platzbedarf als Endpunkt abzielt. Sie könnten die Bibliothek mit dem Online-Compiler ziemlich einfach in eine ähnliche Geräteplattform importieren und zumindest den Code-Footprint überprüfen.

Sean Houlihane
quelle