Skip to content

Commit c3ae287

Browse files
committed
Update README and version number.
1 parent a0d9aa0 commit c3ae287

File tree

3 files changed

+56
-14
lines changed

3 files changed

+56
-14
lines changed

README.md

Lines changed: 54 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,59 @@
11
# Cayenne MQTT Arduino Library
2-
The Cayenne MQTT Arduino Library provides functions to easily connect to the Cayenne IoT project builder.
2+
The Cayenne MQTT Arduino Library provides functions to easily connect to the [Cayenne IoT project builder](https://www.cayenne-mydevices.com). This library is designed to work with Arduino, ESP8266 and ESP32 devices. With it you can send data to and receive data from Cayenne.
33

4-
This library bundles the [Eclipse Paho MQTT C/C++ client](https://github.com/eclipse/paho.mqtt.embedded-c).
4+
![alt text](https://upload.wikimedia.org/wikipedia/commons/3/38/Arduino_Uno_-_R3.jpg)
5+
[Arduino Uno image](https://commons.wikimedia.org/wiki/File%3AArduino_Uno_-_R3.jpg) by [SparkFun](https://www.sparkfun.com) is licensed under [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)
56

6-
## Repository Structure
7-
- **src** - The library source code.
8-
- **CayenneUtils** - Common code for creating and parsing Cayenne topics and payloads. This code can be used with any MQTT client.
9-
- **CayenneMQTTClient** - Platform independent Cayenne C++ library using the Paho MQTT C++ library. To create platform specific versions of this library networking and timer code for the platform are required.
10-
- **MQTTCommon** - Common Paho MQTT C code used by both the C and C++ libraries.
11-
- **Platform** - Platform specific networking and timer code, as well as test and example applications.
7+
![alt text](https://cdn-learn.adafruit.com/assets/assets/000/024/792/medium640/adafruit_products_2471_iso_assembled_01_ORIG.jpg?1429908417)
8+
9+
[Adafruit HUZZAH ESP8266 image](https://learn.adafruit.com/assets/24792) by [lady ada](https://learn.adafruit.com/users/adafruit2) is licensed under [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)
10+
11+
![alt text](https://cdn.sparkfun.com//assets/parts/1/1/5/6/4/13907-01.jpg)
12+
13+
[SparkFun ESP32 Thing image](https://www.sparkfun.com/products/13907) by [SparkFun](https://www.sparkfun.com) is licensed under [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)
14+
15+
## Requirements
16+
### Hardware
17+
* An Arduino, ESP8266 or ESP32 module, e.g. the [Arduino Uno](https://store.arduino.cc/usa/arduino-uno-rev3), [Adafruit HUZZAH ESP8266](https://www.adafruit.com/product/2471) or [SparkFun ESP32 Thing](https://www.sparkfun.com/products/13907).
18+
* A USB cable, or if using certain ESP devices, a USB to Serial FTDI cable.
19+
20+
### Software
21+
* [Arduino IDE](https://www.arduino.cc/en/Main/Software) for Windows, Linux or Mac OS.
22+
* [This library](https://github.com/myDevicesIoT/Cayenne-MQTT-Arduino/archive/master.zip).
23+
24+
## Getting Started
25+
### Environment Setup
26+
1. Download and install the [Arduino IDE](https://www.arduino.cc/en/Main/Software).
27+
2. Install the **CayenneMQTT** library from **Sketch -> Include Library -> Manage Libraries**.
28+
3. If using an ESP module, install the Board Package.
29+
1. For **ESP8266**:
30+
1. Under **File -> Preferences** add `http://arduino.esp8266.com/stable/package_esp8266com_index.json` to the **Additional Boards Manager URLs** field.
31+
2. Install the **esp8266** platform from **Tools -> Board -> Boards Manager**.
32+
2. For **ESP32**, manually install the board package by following the instructions here: https://github.com/espressif/arduino-esp32/blob/master/README.md#installation-instructions.
33+
4. Connect your device to your computer using the appropriate USB cable or USB to Serial FTDI cable.
34+
5. Select your Arduino board or ESP module and and the correct port from the **Tools** menu.
35+
36+
### Cayenne Setup
37+
1. Create your Cayenne account at https://www.cayenne-mydevices.com.
38+
2. Add a new device using the **Add new...** page **MicroControllers** or **Bring Your Own Thing** options.
39+
40+
### Building Examples
41+
1. Open an included example connection sketch from **File -> Examples -> CayenneMQTT -> Connections**.
42+
2. Modify the included sketch with the Cayenne authentication info you received when adding your device.
43+
3. If using an ESP module or WiFi shield modify the sketch with your network info.
44+
3. 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:
45+
1. Hold down the **GPIO0** button.
46+
2. Click the **Reset** button.
47+
3. Let go of the **GPIO0** button.
48+
4. The red LED should light up, indicating the device is ready for uploading.
49+
5. Upload your sketch.
50+
4. Check the Cayenne dashboard to ensure it is receiving sample data from your device.
51+
52+
## Compatibility
53+
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](https://github.com/myDevicesIoT/Cayenne-MQTT-Arduino/blob/master/examples/Connections/ManualConnection/ManualConnection.ino) in order to save space.
54+
55+
## Contributions
56+
* This library includes the [Eclipse Paho MQTT C/C++ client](https://github.com/eclipse/paho.mqtt.embedded-c).
1257

1358
## Cayenne MQTT Libraries
14-
- **[Cayenne-MQTT-C](https://github.com/myDevicesIoT/Cayenne-MQTT-C)** - C version of the Cayenne MQTT Library.
15-
- **[Cayenne-MQTT-CPP](https://github.com/myDevicesIoT/Cayenne-MQTT-CPP)** - C++ version of the Cayenne MQTT Library.
16-
- **[Cayenne-MQTT-Arduino](https://github.com/myDevicesIoT/Cayenne-MQTT-Arduino)** - Arduino version of the Cayenne MQTT Library.
17-
- **[Cayenne-MQTT-mbed](https://github.com/myDevicesIoT/Cayenne-MQTT-mbed)** - mbed version of the Cayenne MQTT Library. This is also available on the mbed developer site [here](https://developer.mbed.org/teams/myDevicesIoT/code/Cayenne-MQTT-mbed/).
59+
Additional libraries are available for connecting to Cayenne on other platforms and devices. These can be found at https://github.com/myDevicesIoT.

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=CayenneMQTT
2-
version=1.1.0
2+
version=1.2.0
33
author=myDevices
44
maintainer=myDevices
55
sentence=Connect a device to the Cayenne dashboard using MQTT.

src/CayenneUtils/CayenneDefines.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEAL
1818
#ifndef _CAYENNEDEFINES_h
1919
#define _CAYENNEDEFINES_h
2020

21-
#define CAYENNE_LIBRARY_VERSION "1.1.0"
21+
#define CAYENNE_LIBRARY_VERSION "1.2.0"
2222
#define CAYENNE_VERSION "v1"
2323
#define CAYENNE_DOMAIN "mqtt.mydevices.com"
2424
#define CAYENNE_PORT 1883

0 commit comments

Comments
 (0)