The Cayenne MQTT Arduino Library provides functions to easily connect to the Cayenne IoT project builder. This library is designed to work with Arduino, ESP8266 and ESP32 devices. With it you can send data to and receive data from Cayenne.
Arduino Uno image by SparkFun is licensed under CC BY 2.0
Adafruit HUZZAH ESP8266 image by lady ada is licensed under CC BY-SA 3.0
SparkFun ESP32 Thing image by SparkFun is licensed under CC BY 2.0
- An Arduino, ESP8266 or ESP32 module, e.g. the Arduino Uno, Adafruit HUZZAH ESP8266 or SparkFun ESP32 Thing.
- A USB cable, or if using certain ESP devices, a USB to Serial FTDI cable.
- Arduino IDE for Windows, Linux or Mac OS.
- This library.
- Download and install the Arduino IDE.
- Install the CayenneMQTT library from Sketch -> Include Library -> Manage Libraries.
- If using an ESP module, install the Board Package.
- For ESP8266:
- Under File -> Preferences add
http://arduino.esp8266.com/stable/package_esp8266com_index.json
to the Additional Boards Manager URLs field. - Install the esp8266 platform from Tools -> Board -> Boards Manager.
- Under File -> Preferences add
- For ESP32, manually install the board package by following the instructions here: https://github.com/espressif/arduino-esp32/blob/master/README.md#installation-instructions.
- For ESP8266:
- Connect your device to your computer using the appropriate USB cable or USB to Serial FTDI cable.
- Select your Arduino board or ESP module and and the correct port from the Tools menu.
- Create your Cayenne account at https://www.cayenne-mydevices.com.
- Add a new device using the Add new... page MicroControllers or Bring Your Own Thing options.
- Open an included example connection sketch from File -> Examples -> CayenneMQTT -> Connections.
- Modify the included sketch with the Cayenne authentication info you received when adding your device.
- If using an ESP module or WiFi shield modify the sketch with your network info.
- Compile and upload the sketch to your device. For ESP devices uploading may require setting the device into bootload mode. For the Adafruit HUZZAH ESP8266 module this is done with the folowing steps:
- Hold down the GPIO0 button.
- Click the Reset button.
- Let go of the GPIO0 button.
- The red LED should light up, indicating the device is ready for uploading.
- Upload your sketch.
- Check the Cayenne dashboard to ensure it is receiving sample data from your device.
This library was tested with various Arduino boards including the Uno, Mega, Due, etc. as well as the Adafruit HUZZAH ESP8266 breakout module and an Espressif ESP32 development board. It should also work with other standard ESP8266 and ESP32 modules that are compatible with the Arduino IDE. Boards with very constrained memory like the Arduino Leonardo or Micro may have issues fitting this library alongside other libraries. For those boards you might try using a manually specified IP as shown in the ManualConnection example sketch in order to save space.
- This library includes the Eclipse Paho MQTT C/C++ client.
Additional libraries are available for connecting to Cayenne on other platforms and devices. These can be found at https://github.com/myDevicesIoT.