Skip to content

Commit 1e7c337

Browse files
author
Ian Craggs
committed
Add more doc, README and API
1 parent 5d47e86 commit 1e7c337

6 files changed

+7324
-10
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@
33
/build.paho/
44
*.swp
55
*.pyc
6+
/doc/MQTTClient/
7+
/doc/MQTTPacket/
8+
/doc/MQTTClient-C/

README.md

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,45 @@ This repository contains the source code for the [Eclipse Paho](http://eclipse.o
44

55
It is dual licensed under the EPL and EDL (see about.html and notice.html for more details). You can choose which of these licenses you want to use the code under. The EDL allows you to embed the code into your application, and distribute your application in binary or source form without contributing any of your code, or any changes you make back to Paho. See the EDL for the exact conditions.
66

7-
The MQTTPacket directory contains the lowest level C library with the smallest requirements. This supplies simple serialization
8-
and deserialization routines. It is mainly up to you to write and read to and from the network.
7+
There are three sub-projects:
98

10-
The MQTTClient directory contains the next level C++ library. This still avoids most networking code so that you can plugin the
11-
network of your choice.
9+
1. MQTTPacket - simple de/serialization of MQTT packets, plus helper functions
10+
2. MQTTClient - high(er) level C++ client, plus
11+
3. MQTTClient-C - high(er) level C client (pretty much a clone of the C++ client)
12+
13+
The *MQTTPacket* directory contains the lowest level C library with the smallest requirements. This supplies simple serialization
14+
and deserialization routines. They serve as a base for the higher level libraries, but can also be used on their own
15+
It is mainly up to you to write and read to and from the network.
16+
17+
The *MQTTClient* directory contains the next level C++ library. This networking code is contained in separate classes so that you can plugin the
18+
network of your choice. Currently there are implementations for Linux, Arduino and mbed. ARM mbed was the first platform for which this was written,
19+
where the conventional language choice is C++, which explains the language choice. I have written a starter [Porting Guide](http://modelbasedtesting.co.uk/2014/08/25/porting-a-paho-embedded-c-client/).
20+
21+
The *MQTTClient-C* directory contains a C equivalent of MQTTClient, for those platforms where C++ is not supported or the convention. As far
22+
as possible it is a direct translation from *MQTTClient*.
1223

1324
## Build requirements / compilation
1425

15-
There are helper scripts (build...) in various directories. The client library is a set of building blocks which you pick and choose from, so that the smallest MQTT application can be built.
26+
CMake builds for the various packages have been introduced, along with Travis-CI configuration for automated build & testing. The basic
27+
method of building on Linux is:
1628

17-
## Usage and API
29+
```
30+
mkdir build.paho
31+
cd build.paho
32+
cmake ..
33+
make
34+
```
1835

19-
See the samples directory for examples of intended use.
36+
The travis-build.sh file has the full build and test sequence for Linux.
37+
38+
39+
## Usage and API
2040

41+
See the samples directories for examples of intended use. Doxygen config files for each package are available in the doc directory.
2142

2243
## Runtime tracing
2344

24-
As yet, there is no tracing. For the smallest client, should we have tracing?
45+
The *MQTTClient* API has debug tracing for MQTT packets sent and received - turn this on by setting the MQTT_DEBUG preprocessor definition.
2546

2647

2748
## Reporting bugs
@@ -30,8 +51,8 @@ This project uses GitHub Issues here: [github.com/eclipse/paho.mqtt.embedded-c/i
3051

3152
## More information
3253

33-
Discussion of the Paho clients takes place on the [Eclipse paho-dev mailing list](https://dev.eclipse.org/mailman/listinfo/paho-dev).
54+
Discussion of the Paho clients takes place on the [Eclipse Mattermost Paho channel](https://mattermost.eclipse.org/eclipse/channels/paho) and the [Eclipse paho-dev mailing list](https://dev.eclipse.org/mailman/listinfo/paho-dev).
3455

3556
General questions about the MQTT protocol are discussed in the [MQTT Google Group](https://groups.google.com/forum/?hl=en-US&fromgroups#!forum/mqtt).
3657

37-
There is much more information available via the [MQTT community site](http://mqtt.org).
58+
More information is available via the [MQTT community](http://mqtt.org).

0 commit comments

Comments
 (0)