Go to file
Flavio Fernandes d6f07ed4e4 Adafruit_MQTT::publishPacket: Protect against memory corruption.
Avoid memory corruption from happening when data payload provided
in Adafruit_MQTT::publishPacket is greater than MAXBUFFERSIZE.

In order to do that, a helper function is being added to calculate
how much space is available for the payload after subtracting what
is used as the header.

Pull request https://github.com/adafruit/Adafruit_MQTT_Library/pull/166
Fixes https://github.com/adafruit/Adafruit_MQTT_Library/issues/109
Fixes https://github.com/adafruit/Adafruit_MQTT_Library/issues/122

Signed-off-by: Flavio Fernandes <flavio@flaviof.com>
2021-04-02 12:14:39 -04:00
.github Moved to actions, no doxygen 2020-06-25 09:56:46 -04:00
examples Merge pull request #171 from frederikheld/fix/typo_in_comment 2020-09-23 11:49:07 -04:00
.gitignore Ignore all bit torrent sync files 2016-01-31 20:13:48 -06:00
Adafruit_MQTT.cpp Adafruit_MQTT::publishPacket: Protect against memory corruption. 2021-04-02 12:14:39 -04:00
Adafruit_MQTT.h Adafruit_MQTT::publishPacket: Protect against memory corruption. 2021-04-02 12:14:39 -04:00
Adafruit_MQTT_Client.cpp Reformatted with clang-format 2020-11-06 10:20:52 -05:00
Adafruit_MQTT_Client.h Corrected client public/private methods. 2020-07-03 10:43:51 -07:00
Adafruit_MQTT_FONA.h Corrected client public/private methods. 2020-07-03 10:43:51 -07:00
LICENSE Cleanup and prepare for publishing. 2015-06-10 15:38:34 -07:00
README.md Moved to actions, no doxygen 2020-06-25 09:56:46 -04:00
keywords.txt remove CC3000 from keywords.txt (#145) 2019-02-19 16:56:07 -05:00
library.properties Bump version number for release 2020-11-05 12:55:09 -05:00

README.md

Adafruit MQTT Library Build Status

Arduino library for MQTT support, including access to Adafruit IO. Works with the Adafruit FONA, Arduino Yun, ESP8266 Arduino platforms, and anything that supports Arduino's Client interface (like Ethernet shield).

See included examples for how to use the library to access an MQTT service to publish and subscribe to feeds. Note that this does not support the full MQTT spec but is intended to support enough for QoS 0 and 1 publishing.

Depends on the following other libraries depending on the target platform:

Future todos:

  • Subscription callbacks

  • remove watchdog

Compatibility

MCU Tested Works Doesn't Work Not Tested Notes
Atmega328 @ 16MHz X
Atmega328 @ 12MHz X
Atmega32u4 @ 16MHz X
Atmega32u4 @ 8MHz X
ESP8266 X
Atmega2560 @ 16MHz X
ATSAM3X8E X
ATSAM21D X
ATSAMD51J20 X
ATtiny85 @ 16MHz X
ATtiny85 @ 8MHz X
Intel Curie @ 32MHz X
STM32F2 X
  • ATmega328 @ 16MHz : Arduino UNO, Adafruit Pro Trinket 5V, Adafruit Metro 328, Adafruit Metro Mini
  • ATmega328 @ 12MHz : Adafruit Pro Trinket 3V
  • ATmega32u4 @ 16MHz : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0
  • ATmega32u4 @ 8MHz : Adafruit Flora, Bluefruit Micro
  • ESP8266 : Adafruit Huzzah
  • ATmega2560 @ 16MHz : Arduino Mega
  • ATSAM3X8E : Arduino Due
  • ATSAM21D : Arduino Zero, M0 Pro
  • ATSAMD51J20: Adafruit PyPortal
  • ATtiny85 @ 16MHz : Adafruit Trinket 5V
  • ATtiny85 @ 8MHz : Adafruit Gemma, Arduino Gemma, Adafruit Trinket 3V