Rebuild docs to make them easier to maintain
This commit is contained in:
parent
09a3de6a09
commit
a9d9bad1ff
4
.gitignore
vendored
4
.gitignore
vendored
@ -1 +1,5 @@
|
||||
_site/
|
||||
.jekyll-cache
|
||||
.DS_Store
|
||||
.ruby-version
|
||||
tests/bin
|
||||
|
11
_includes/paramsList.html
Normal file
11
_includes/paramsList.html
Normal file
@ -0,0 +1,11 @@
|
||||
{%
|
||||
for param in include.params
|
||||
%}{%
|
||||
if param.optionalGroup
|
||||
%}[{% include paramsList.html params=param.params %}]{%
|
||||
else
|
||||
%}{%
|
||||
if param.optional %}[{%endif %}{{param.name}}{% if param.optional %}]{%endif
|
||||
%}{%endif
|
||||
%}{% if forloop.last == false %}, {%endif%}{% endfor
|
||||
%}
|
12
_includes/paramsListLong.html
Normal file
12
_includes/paramsListLong.html
Normal file
@ -0,0 +1,12 @@
|
||||
{%
|
||||
for param in include.params
|
||||
%}<li>{%
|
||||
if param.optionalGroup
|
||||
%}<span class="methodparams">{{param.name}}</span> - <span class="methodparamoptional">(optional)</span><ul>{% include paramsListLong.html params=param.params %}</ul>{%
|
||||
else
|
||||
%}
|
||||
<span class="methodparams">{{param.name}}</span> {% if param.type %}<span class="methodparamstype">{{param.type}}</span> {% endif %} {% if param.optional %}<span class="methodparamoptional">(optional)</span> {%endif %} -
|
||||
{{param.description}}
|
||||
|
||||
{% endif %}</li>{% endfor
|
||||
%}
|
@ -13,7 +13,7 @@
|
||||
<div id="content">
|
||||
<div id="header">
|
||||
<ul>
|
||||
<li><a href="index.html">Arduino Client for MQTT</a></li><li><a href="api.html">API Documentation</a></li>
|
||||
<li><a href="/">Arduino Client for MQTT</a></li><li><a href="/api">API Documentation</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
21
_posts/2000-01-01-PubSubClient.md
Normal file
21
_posts/2000-01-01-PubSubClient.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
tag: api
|
||||
type: constructor
|
||||
name: PubSubClient
|
||||
|
||||
---
|
||||
|
||||
Creates an uninitialised client instance.
|
||||
|
||||
Before it can be used, it must be configured with the property setters:
|
||||
|
||||
```
|
||||
EthernetClient ethClient;
|
||||
PubSubClient client;
|
||||
|
||||
void setup() {
|
||||
client.setClient(ethClient);
|
||||
client.setServer("broker.example.com",1883);
|
||||
// client is now configured for use
|
||||
}
|
||||
```
|
23
_posts/2000-01-02-PubSubClient1.md
Normal file
23
_posts/2000-01-02-PubSubClient1.md
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
tag: api
|
||||
type: constructor
|
||||
name: PubSubClient
|
||||
params:
|
||||
- name: client
|
||||
description: the network client to use, for example <code>WiFiClient</code>
|
||||
---
|
||||
|
||||
|
||||
Creates a partially initialised client instance.
|
||||
|
||||
Before it can be used, the server details must be configured:
|
||||
|
||||
```
|
||||
EthernetClient ethClient;
|
||||
PubSubClient client(ethClient);
|
||||
|
||||
void setup() {
|
||||
client.setServer("broker.example.com",1883);
|
||||
// client is now ready for use
|
||||
}
|
||||
```
|
25
_posts/2000-01-03-PubSubClient2.md
Normal file
25
_posts/2000-01-03-PubSubClient2.md
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
tag: api
|
||||
type: constructor
|
||||
name: PubSubClient
|
||||
params:
|
||||
- name: server
|
||||
description: the address of the server
|
||||
type: IPAddress, uint8_t[] or const char[]
|
||||
- name: port
|
||||
description: the port to connect to
|
||||
type: int
|
||||
- name: callback
|
||||
optional: true
|
||||
description: a pointer to a <a href="#callback">message callback function</a> called when a message arrives for a subscription created by this client
|
||||
type: function*
|
||||
- name: client
|
||||
description: the network client to use, for example <code>WiFiClient</code>
|
||||
- name: stream
|
||||
optional: true
|
||||
description: a stream to write received messages to
|
||||
type: Stream
|
||||
---
|
||||
|
||||
|
||||
Creates a fully configured client instance.
|
48
_posts/2000-02-01-connect.md
Normal file
48
_posts/2000-02-01-connect.md
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: connect
|
||||
params:
|
||||
- name: clientID
|
||||
description: the client ID to use when connecting to the server
|
||||
type: const char[]
|
||||
- name: Credentials
|
||||
optionalGroup: true
|
||||
params:
|
||||
- name: username
|
||||
description: the username to use. If <code>NULL</code>, no username or password is used
|
||||
type: const char[]
|
||||
- name: password
|
||||
description: the password to use. If <code>NULL</code>, no password is used
|
||||
type: const char[]
|
||||
- name: Will
|
||||
optionalGroup: true
|
||||
params:
|
||||
- name: willTopic
|
||||
description: the topic to be used by the will message
|
||||
type: const char[]
|
||||
- name: willQoS
|
||||
description: the quality of service to be used by the will message
|
||||
type: 'int: 0,1 or 2'
|
||||
- name: willRetain
|
||||
description: whether the will should be published with the retain flag
|
||||
type: boolean
|
||||
- name: willMessage
|
||||
description: the payload of the will message
|
||||
type: const char[]
|
||||
- name: cleanSession
|
||||
description: whether to connect clean-session or not
|
||||
type: boolean
|
||||
optional: true
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: connection failed
|
||||
- value: 'true'
|
||||
description: connection succeeded
|
||||
---
|
||||
|
||||
|
||||
Connects the client.
|
||||
|
9
_posts/2000-02-02-disconnect.md
Normal file
9
_posts/2000-02-02-disconnect.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: disconnect
|
||||
returns:
|
||||
type: void
|
||||
---
|
||||
|
||||
Disconnects the client.
|
34
_posts/2000-03-01-publish.md
Normal file
34
_posts/2000-03-01-publish.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: publish
|
||||
params:
|
||||
- name: topic
|
||||
description: the topic to publish to
|
||||
type: const char[]
|
||||
- name: payload
|
||||
description: the message to publish
|
||||
type: const char[], byte[]
|
||||
- name: length
|
||||
optional: true
|
||||
description: the length of the payload. Required if <span class="methodparams">payload</span> is a <span class="methodparamstype">byte[]</span>
|
||||
type: unsigned int
|
||||
- name: retained
|
||||
optional: true
|
||||
description: whether the message should be retained
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
type: boolean
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: publish failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: publish succeeded
|
||||
---
|
||||
|
||||
Publishes a message to the specified topic.
|
||||
|
34
_posts/2000-03-02-publish_p.md
Normal file
34
_posts/2000-03-02-publish_p.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
type: function
|
||||
name: publish_P
|
||||
params:
|
||||
- name: topic
|
||||
description: the topic to publish to
|
||||
type: const char[]
|
||||
- name: payload
|
||||
description: the message to publish
|
||||
type: const char[], byte[]
|
||||
- name: length
|
||||
optional: true
|
||||
description: the length of the payload. Required if <span class="methodparams">payload</span> is a <span class="methodparamstype">byte[]</span>
|
||||
type: unsigned int
|
||||
- name: retained
|
||||
optional: true
|
||||
description: whether the message should be retained
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
type: boolean
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: publish failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: publish succeeded
|
||||
---
|
||||
|
||||
Publishes a message stored in PROGMEM to the specified topic.
|
28
_posts/2000-03-03-beginPublish.md
Normal file
28
_posts/2000-03-03-beginPublish.md
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: beginPublish
|
||||
params:
|
||||
- name: topic
|
||||
description: the topic to publish to
|
||||
type: const char[]
|
||||
- name: length
|
||||
description: the length of the payload to be sent
|
||||
type: unsigned int
|
||||
- name: retained
|
||||
description: whether the message should be retained
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
type: boolean
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: publish failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: publish succeeded
|
||||
---
|
||||
|
||||
Begins sending a publish message. The payload of the message is provided by one or more calls to <code>write</code> followed by a call to <code>endPublish</code>.
|
16
_posts/2000-03-04-write1.md
Normal file
16
_posts/2000-03-04-write1.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: write
|
||||
params:
|
||||
- name: byte
|
||||
description: a byte to write to the publish payload
|
||||
type: uint8_t
|
||||
returns:
|
||||
type: int
|
||||
values:
|
||||
- value: int
|
||||
description: the number of bytes written
|
||||
---
|
||||
|
||||
Writes a byte as a component of a publish started with a call to <code>beginPublish</code>.
|
19
_posts/2000-03-05-write2.md
Normal file
19
_posts/2000-03-05-write2.md
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: write
|
||||
params:
|
||||
- name: payload
|
||||
description: the bytes to write
|
||||
type: byte[]
|
||||
- name: length
|
||||
description: the length of the payload to be sent
|
||||
type: unsigned int
|
||||
returns:
|
||||
type: int
|
||||
values:
|
||||
- value: int
|
||||
description: the number of bytes written
|
||||
---
|
||||
|
||||
Writes an array of bytes as a component of a publish started with a call to <code>beginPublish</code>.
|
14
_posts/2000-03-06-endPublish.md
Normal file
14
_posts/2000-03-06-endPublish.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: endPublish
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: publish failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: publish succeeded
|
||||
---
|
||||
|
||||
Finishing sending a message that was started with a call to <code>beginPublish</code>.
|
23
_posts/2000-04-01-subscribe.md
Normal file
23
_posts/2000-04-01-subscribe.md
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: subscribe
|
||||
params:
|
||||
- name: topic
|
||||
description: the topic to subscribe to
|
||||
type: const char[]
|
||||
- name: qos
|
||||
optional: true
|
||||
description: the qos to subscribe at
|
||||
type: 'int: 0 or 1 only'
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: sending the subscribe failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: sending the subscribe succeeded
|
||||
---
|
||||
|
||||
Subscribes to messages published to the specified topic.
|
||||
|
18
_posts/2000-04-02-unsubscribe.md
Normal file
18
_posts/2000-04-02-unsubscribe.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: unsubscribe
|
||||
params:
|
||||
- name: topic
|
||||
description: the topic to unsubscribe from
|
||||
type: const char[]
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: sending the unsubscribe failed, either connection lost or message too large
|
||||
- value: 'true'
|
||||
description: sending the unsubscribe succeeded
|
||||
---
|
||||
|
||||
Unsubscribes from the specified topic.
|
15
_posts/2000-05-01-loop.md
Normal file
15
_posts/2000-05-01-loop.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: loop
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: the client is no longer connected
|
||||
- value: 'true'
|
||||
description: the client is still connected
|
||||
---
|
||||
|
||||
This should be called regularly to allow the client to process incoming messages and maintain its connection to the server.
|
||||
|
14
_posts/2000-05-02-connected.md
Normal file
14
_posts/2000-05-02-connected.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: connected
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: the client is not connected
|
||||
- value: 'true'
|
||||
description: the client is connected
|
||||
---
|
||||
|
||||
Checks whether the client is connected to the server.
|
32
_posts/2000-05-03-state.md
Normal file
32
_posts/2000-05-03-state.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: state
|
||||
returns:
|
||||
type: int
|
||||
values:
|
||||
- value: '-4 : <code>MQTT_CONNECTION_TIMEOUT</code>'
|
||||
description: the server didn't respond within the keepalive time
|
||||
- value: '-3 : <code>MQTT_CONNECTION_LOST</code>'
|
||||
description: the network connection was broken
|
||||
- value: '-2 : <code>MQTT_CONNECT_FAILED</code>'
|
||||
description: the network connection failed
|
||||
- value: '-1 : <code>MQTT_DISCONNECTED</code>'
|
||||
description: the client is disconnected cleanly
|
||||
- value: '0 : <code>MQTT_CONNECTED</code>'
|
||||
description: the client is connected
|
||||
- value: '1 : <code>MQTT_CONNECT_BAD_PROTOCOL</code>'
|
||||
description: the server doesn't support the requested version of MQTT
|
||||
- value: '2 : <code>MQTT_CONNECT_BAD_CLIENT_ID</code>'
|
||||
description: the server rejected the client identifier
|
||||
- value: '3 : <code>MQTT_CONNECT_UNAVAILABLE</code>'
|
||||
description: the server was unable to accept the connection
|
||||
- value: '4 : <code>MQTT_CONNECT_BAD_CREDENTIALS</code>'
|
||||
description: the username/password were rejected
|
||||
- value: '5 : <code>MQTT_CONNECT_UNAUTHORIZED</code>'
|
||||
description: the client was not authorized to connect
|
||||
---
|
||||
|
||||
Returns the current state of the client. If a connection attempt fails, this can be used to get more information about the failure.
|
||||
|
||||
All of the values have corresponding constants defined in <code>PubSubClient.h</code>.
|
16
_posts/2000-06-01-setCallback.md
Normal file
16
_posts/2000-06-01-setCallback.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setCallback
|
||||
params:
|
||||
- name: callback
|
||||
description: a pointer to a message callback function called when a message arrives for a subscription created by this client.
|
||||
type: function*
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the <a href="#callback">message callback function</a>.
|
16
_posts/2000-06-02-setClient.md
Normal file
16
_posts/2000-06-02-setClient.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setClient
|
||||
params:
|
||||
- name: client
|
||||
description: the network client to use, for example <code>WiFiClient</code>
|
||||
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the network client instance to use.
|
20
_posts/2000-06-02-setServer.md
Normal file
20
_posts/2000-06-02-setServer.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setServer
|
||||
params:
|
||||
- name: server
|
||||
description: the address of the server
|
||||
type: IPAddress, uint8_t[] or const char[]
|
||||
- name: port
|
||||
description: the port to connect to
|
||||
type: int
|
||||
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the server details.
|
17
_posts/2000-06-04-setStream.md
Normal file
17
_posts/2000-06-04-setStream.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setStream
|
||||
params:
|
||||
- name: stream
|
||||
description: a stream to write received messages to
|
||||
type: Stream
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the stream to write received messages to.
|
||||
|
15
_posts/2000-06-05-getBufferSize.md
Normal file
15
_posts/2000-06-05-getBufferSize.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: getBufferSize
|
||||
returns:
|
||||
type: uint16_t
|
||||
values:
|
||||
- value: uint16_t
|
||||
description: the size of the internal buffer
|
||||
---
|
||||
|
||||
Gets the current size of the internal buffer.
|
||||
|
||||
By default, it is set to `256` bytes - as defined by the `MQTT_MAX_MESSAGE_SIZE`
|
||||
constant in `PubSubClient.h`.
|
29
_posts/2000-06-05-setBufferSize.md
Normal file
29
_posts/2000-06-05-setBufferSize.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setBufferSize
|
||||
params:
|
||||
- name: size
|
||||
description: the size, in bytes, for the internal buffer
|
||||
type: uint16_t
|
||||
returns:
|
||||
type: boolean
|
||||
values:
|
||||
- value: 'false'
|
||||
description: the buffer could not be resized
|
||||
- value: 'true'
|
||||
description: the buffer was resized
|
||||
---
|
||||
|
||||
Sets the size, in bytes, of the internal send/receive buffer. This must be large
|
||||
enough to contain the full MQTT packet. When sending or receiving messages,
|
||||
the packet will contain the full topic string, the payload data and a small number
|
||||
of header bytes.
|
||||
|
||||
By default, it is set to `256` bytes - as defined by the `MQTT_MAX_MESSAGE_SIZE`
|
||||
constant in `PubSubClient.h`.
|
||||
|
||||
*Note* : `setBufferSize` returns a boolean flag to indicate whether it was able
|
||||
to reallocate the memory to change the buffer size. This means, unlike the other
|
||||
`setXYZ` functions that return a reference to the client, this function cannot be
|
||||
chained with those functions.
|
20
_posts/2000-06-06-setKeepAlive.md
Normal file
20
_posts/2000-06-06-setKeepAlive.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setKeepAlive
|
||||
params:
|
||||
- name: keepAlive
|
||||
description: the keep alive interval, in seconds
|
||||
type: uint16_t
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the keep alive interval used by the client. This value should only be changed
|
||||
when the client is not connected.
|
||||
|
||||
By default, it is set to `15` seconds - as defined by the `MQTT_KEEPALIVE`
|
||||
constant in `PubSubClient.h`.
|
21
_posts/2000-06-07-setSocketTimeout.md
Normal file
21
_posts/2000-06-07-setSocketTimeout.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
tag: api
|
||||
type: function
|
||||
name: setSocketTimeout
|
||||
params:
|
||||
- name: timeout
|
||||
description: the socket timeout, in seconds
|
||||
type: uint16_t
|
||||
returns:
|
||||
type: PubSubClient*
|
||||
values:
|
||||
- value: PubSubClient*
|
||||
description: the client instance, allowing the function to be chained
|
||||
---
|
||||
|
||||
Sets the socket timeout used by the client. This determines how long the client
|
||||
will wait for incoming data when it expects data to arrive - for example, whilst
|
||||
it is in the middle of reading an MQTT packet.
|
||||
|
||||
By default, it is set to `15` seconds - as defined by the `MQTT_SOCKET_TIMEOUT`
|
||||
constant in `PubSubClient.h`.
|
40
_posts/2000-10-01-configoptions.md
Normal file
40
_posts/2000-10-01-configoptions.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
tag: docs
|
||||
type: other
|
||||
title: Configuration Options
|
||||
---
|
||||
|
||||
The following configuration options can be used to configure the library.
|
||||
They are contained in `PubSubClient.h`.
|
||||
|
||||
<dl>
|
||||
<dt><code>MQTT_MAX_PACKET_SIZE</code></dt>
|
||||
<dd>Sets the largest packet size, in bytes, the client will handle. Any
|
||||
packet received that exceeds this size will be ignored.
|
||||
<p>This value can be overridden by calling <a href="#setBufferSize"><code>setBufferSize(size)</code></a>.</p>
|
||||
<p>Default: 128 bytes</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_KEEPALIVE</code></dt>
|
||||
<dd>Sets the keepalive interval, in seconds, the client will use. This
|
||||
is used to maintain the connection when no other packets are being
|
||||
sent or received.
|
||||
<p>This value can be overridden by calling <a href="#setKeepAlive"><code>setKeepAlive(keepAlive)</code></a>.</p>
|
||||
<p>Default: 15 seconds</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_VERSION</code></dt>
|
||||
<dd>Sets the version of the MQTT protocol to use.
|
||||
<p>Default: MQTT 3.1.1</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_MAX_TRANSFER_SIZE</code></dt>
|
||||
<dd>Sets the maximum number of bytes passed to the network client in each
|
||||
write call. Some hardware has a limit to how much data can be passed
|
||||
to them in one go, such as the Arduino Wifi Shield.
|
||||
<p>Default: undefined (complete packet passed in each write call)</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_SOCKET_TIMEOUT</code></dt>
|
||||
<dd>Sets the timeout when reading from the network. This also applies as
|
||||
the timeout for calls to <code>connect</code>.
|
||||
<p>This value can be overridden by calling <a href="#setSocketTimeout"><code>setSocketTimeout(timeout)</code></a>.</p>
|
||||
<p>Default: 15 seconds</p>
|
||||
</dd>
|
||||
</dl>
|
24
_posts/2000-10-02-callback.md
Normal file
24
_posts/2000-10-02-callback.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
tag: docs
|
||||
type: other
|
||||
title: Subscription Callback
|
||||
---
|
||||
|
||||
If the client is used to subscribe to topics, a callback function must be provided in the constructor. This function is called when new messages arrive at the client.
|
||||
|
||||
The callback function has the following signature:
|
||||
|
||||
void callback(const char[] topic, byte* payload, unsigned int length)
|
||||
|
||||
##### Parameters
|
||||
|
||||
- <span class="methodparams">topic</span> <span class="methodparamstype">const char[]</span> - the topic the message arrived on
|
||||
- <span class="methodparams">payload</span> <span class="methodparamstype">byte[]</span> - the message payload
|
||||
- <span class="methodparams">length</span> <span class="methodparamstype">unsigned int</span> - the length of the message payload
|
||||
|
||||
|
||||
Internally, the client uses the same buffer for both inbound and outbound
|
||||
messages. After the callback function returns, or if a call to either `publish`
|
||||
or subscribe is made from within the callback function, the `topic`
|
||||
and `payload` values passed to the function will be overwritten. The application
|
||||
should create its own copy of the values if they are required after the callback returns.
|
522
api.html
522
api.html
@ -1,522 +0,0 @@
|
||||
---
|
||||
layout: default
|
||||
title: API Documentation
|
||||
---
|
||||
|
||||
<section class="method" id="toc">
|
||||
<h3>Constructors</h3>
|
||||
<ul>
|
||||
<li><a href="#PubSubClient"><span class="methodname">PubSubClient</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#PubSubClient1"><span class="methodname">PubSubClient</span> <span class="methodparams">(client)</span></a></li>
|
||||
<li><a href="#PubSubClient2"><span class="methodname">PubSubClient</span> <span class="methodparams">(server, port, [callback], client, [stream])</span></a></li>
|
||||
</ul>
|
||||
<h3>Functions</h3>
|
||||
<ul>
|
||||
<li><a href="#connect1"><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID)</span></a></li>
|
||||
<li><a href="#connect2"><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, willTopic, willQoS, willRetain, willMessage)</span></a></li>
|
||||
<li><a href="#connect3"><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password)</span></a></li>
|
||||
<li><a href="#connect4"><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password, willTopic, willQoS, willRetain, willMessage)</span></a></li>
|
||||
<li><a href="#connect5"><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password, willTopic, willQoS, willRetain, willMessage, cleanSession)</span></a></li>
|
||||
<li><a href="#disconnect"><span class="methodreturn">void</span> <span class="methodname">disconnect</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#publish1"><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload)</span></a></li>
|
||||
<li><a href="#publish2"><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, retained)</span></a></li>
|
||||
<li><a href="#publish3"><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, length)</span></a></li>
|
||||
<li><a href="#publish4"><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, length, retained)</span></a></li>
|
||||
<li><a href="#publish5"><span class="methodreturn">int</span> <span class="methodname">publish_P</span> <span class="methodparams">(topic, payload, length, retained)</span></a></li>
|
||||
<li><a href="#beginPublish"><span class="methodreturn">boolean</span> <span class="methodname">beginPublish</span> <span class="methodparams">(topic, payloadLength, retained)</span></a></li>
|
||||
<li><a href="#write1"><span class="methodreturn">size_t</span> <span class="methodname">write</span> <span class="methodparams">(uint8_t)</span></a></li>
|
||||
<li><a href="#write2"><span class="methodreturn">size_t</span> <span class="methodname">write</span> <span class="methodparams">(payload, length)</span></a></li>
|
||||
<li><a href="#endPublish"><span class="methodreturn">boolean</span> <span class="methodname">endPublish</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#subscribe"><span class="methodreturn">boolean</span> <span class="methodname">subscribe</span> <span class="methodparams">(topic, [qos])</span></a></li>
|
||||
<li><a href="#unsubscribe"><span class="methodreturn">boolean</span> <span class="methodname">unsubscribe</span> <span class="methodparams">(topic)</span></a></li>
|
||||
<li><a href="#loop"><span class="methodreturn">boolean</span> <span class="methodname">loop</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#connected"><span class="methodreturn">int</span> <span class="methodname">connected</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#state"><span class="methodreturn">int</span> <span class="methodname">state</span> <span class="methodparams">()</span></a></li>
|
||||
<li><a href="#setserver"><span class="methodreturn">PubSubClient</span> <span class="methodname">setServer</span> <span class="methodparams">(server, port)</span></a></li>
|
||||
<li><a href="#setcallback"><span class="methodreturn">PubSubClient</span> <span class="methodname">setCallback</span> <span class="methodparams">(callback)</span></a></li>
|
||||
<li><a href="#setclient"><span class="methodreturn">PubSubClient</span> <span class="methodname">setClient</span> <span class="methodparams">(client)</span></a></li>
|
||||
<li><a href="#setstream"><span class="methodreturn">PubSubClient</span> <span class="methodname">setStream</span> <span class="methodparams">(stream)</span></a></li>
|
||||
|
||||
</ul>
|
||||
<h3>Other</h3>
|
||||
<ul>
|
||||
<li><a href="#configoptions">Configuration Options</a></li>
|
||||
<li><a href="#callback">Subscription Callback</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="PubSubClient">
|
||||
<h4><span class="methodname">PubSubClient</span> <span class="methodparams">()</span></h4>
|
||||
<p>Creates an uninitialised client instance.</p>
|
||||
<p>Before it can be used, it must be configured with the property setters:</p>
|
||||
<pre>EthernetClient ethClient;
|
||||
PubSubClient client;
|
||||
|
||||
void setup() {
|
||||
client.setClient(ethClient);
|
||||
client.setServer("broker.example.com",1883);
|
||||
// client is now configured for use
|
||||
}</pre>
|
||||
</section>
|
||||
|
||||
<section class="method" id="PubSubClient2">
|
||||
<h4><span class="methodname">PubSubClient</span> <span class="methodparams">(client)</span></h4>
|
||||
<p>Creates a partially initialised client instance.</p>
|
||||
<p>Before it can be used, the server details must be configured:</p>
|
||||
<pre>EthernetClient ethClient;
|
||||
PubSubClient client(ethClient);
|
||||
|
||||
void setup() {
|
||||
client.setServer("broker.example.com",1883);
|
||||
// client is now ready for use
|
||||
}</pre>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">client</span> : an instance of <code>Client</code>, typically <code>EthernetClient</code>.</li>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="method" id="PubSubClient3">
|
||||
<h4><span class="methodname">PubSubClient</span> <span class="methodparams">(server, port, [callback], client, [stream])</span></h4>
|
||||
<p>Creates a fully configured client instance.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">server</span> : the address of the server (IPAddress, uint8_t[] or const char[])</li>
|
||||
<li><span class="methodparams">port</span> : the port to connect to (int)</li>
|
||||
<li><span class="methodparams">callback</span> : <i>optional</i> a pointer to a <a href="#callback">message callback</a> function called when a message arrives for a subscription created by this client.</li>
|
||||
<li><span class="methodparams">client</span> : an instance of <code>Client</code>, typically <code>EthernetClient</code>.</li>
|
||||
<li><span class="methodparams">stream</span> : <i>optional</i> an instance of <code>Stream</code>, used to store received messages. See the <code>mqtt_stream</code> example for more information.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connect1">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID)</span></h4>
|
||||
<p>Connects the client.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">clientID</span> : the client ID to use when connecting to the server.</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - connection failed.</li>
|
||||
<li>true - connection succeeded.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connect2">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, willTopic, willQoS, willRetain, willMessage)</span></h4>
|
||||
<p>Connects the client with a Will message specified.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">clientID</span> : the client ID to use when connecting to the server.</li>
|
||||
<li><span class="methodparams">willTopic</span> : the topic to be used by the will message (const char[])</li>
|
||||
<li><span class="methodparams">willQoS</span> : the quality of service to be used by the will message (int : 0,1 or 2)</li>
|
||||
<li><span class="methodparams">willRetain</span> : whether the will should be published with the retain flag (boolean)</li>
|
||||
<li><span class="methodparams">willMessage</span> : the payload of the will message (const char[])</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - connection failed.</li>
|
||||
<li>true - connection succeeded.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connect3">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password)</span></h4>
|
||||
<p>Connects the client with a username and password specified.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">clientID</span> : the client ID to use when connecting to the server.</li>
|
||||
<li><span class="methodparams">username</span> : the username to use. If NULL, no username or password is used (const char[])</li>
|
||||
<li><span class="methodparams">password</span> : the password to use. If NULL, no password is used (const char[])</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - connection failed.</li>
|
||||
<li>true - connection succeeded.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connect4">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password, willTopic, willQoS, willRetain, willMessage)</span></h4>
|
||||
<p>Connects the client with a Will message, username and password specified.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">clientID</span> : the client ID to use when connecting to the server.</li>
|
||||
<li><span class="methodparams">username</span> : the username to use. If NULL, no username or password is used (const char[])</li>
|
||||
<li><span class="methodparams">password</span> : the password to use. If NULL, no password is used (const char[])</li>
|
||||
<li><span class="methodparams">willTopic</span> : the topic to be used by the will message (const char[])</li>
|
||||
<li><span class="methodparams">willQoS</span> : the quality of service to be used by the will message (int : 0,1 or 2)</li>
|
||||
<li><span class="methodparams">willRetain</span> : whether the will should be published with the retain flag (int : 0 or 1)</li>
|
||||
<li><span class="methodparams">willMessage</span> : the payload of the will message (const char[])</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - connection failed.</li>
|
||||
<li>true - connection succeeded.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connect5">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">connect</span> <span class="methodparams">(clientID, username, password, willTopic, willQoS, willRetain, willMessage, cleanSession)</span></h4>
|
||||
<p>Connects the client with a Will message, username, password and clean-session flag specified.</p>
|
||||
<p><b>Note</b> : even if the <code>cleanSession</code> is set to <code>false</code>/<code>0</code> the client
|
||||
will <i>not</i> retry failed qos 1 publishes. This flag is only of use to maintain subscriptions on the broker.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">clientID</span> : the client ID to use when connecting to the server.</li>
|
||||
<li><span class="methodparams">username</span> : the username to use. If NULL, no username or password is used (const char[])</li>
|
||||
<li><span class="methodparams">password</span> : the password to use. If NULL, no password is used (const char[])</li>
|
||||
<li><span class="methodparams">willTopic</span> : the topic to be used by the will message (const char[])</li>
|
||||
<li><span class="methodparams">willQoS</span> : the quality of service to be used by the will message (int : 0,1 or 2)</li>
|
||||
<li><span class="methodparams">willRetain</span> : whether the will should be published with the retain flag (int : 0 or 1)</li>
|
||||
<li><span class="methodparams">willMessage</span> : the payload of the will message (const char[])</li>
|
||||
<li><span class="methodparams">cleanSession</span> : whether to connect clean-session or not (boolean)</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - connection failed.</li>
|
||||
<li>true - connection succeeded.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="disconnect">
|
||||
<h4><span class="methodreturn">void</span> <span class="methodname">disconnect</span> <span class="methodparams">()</span></h4>
|
||||
<p>Disconnects the client.</p>
|
||||
</section>
|
||||
|
||||
<section class="method" id="publish1">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload)</span></h4>
|
||||
<p>Publishes a string message to the specified topic.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payload - the message to publish (const char[])</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed, either connection lost, or message too large</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="publish2">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, retained)</span></h4>
|
||||
<p>Publishes a string message to the specified topic.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payload - the message to publish (const char[])</li>
|
||||
<li>retained - whether the message should be retained (boolean)
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed, either connection lost, or message too large</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="publish3">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, length)</span></h4>
|
||||
<p>Publishes a message to the specified topic.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payload - the message to publish (byte[])</li>
|
||||
<li>length - the length of the message (byte)</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed, either connection lost, or message too large</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="publish4">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">publish</span> <span class="methodparams">(topic, payload, length, retained)</span></h4>
|
||||
<p>Publishes a message to the specified topic, with the retained flag as specified.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payload - the message to publish (byte[])</li>
|
||||
<li>length - the length of the message (byte)</li>
|
||||
<li>retained - whether the message should be retained (boolean)
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed, either connection lost, or message too large</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="publish5">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">publish_P</span> <span class="methodparams">(topic, payload, length, retained)</span></h4>
|
||||
<p>Publishes a message stored in <code>PROGMEN</code> to the specified topic, with the retained flag as specified.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payload - the message to publish (PROGMEM byte[])</li>
|
||||
<li>length - the length of the message (byte)</li>
|
||||
<li>retained - whether the message should be retained (boolean)
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="beginPublish">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">beginPublish</span> <span class="methodparams">(topic, payloadLength, retained)</span></h4>
|
||||
<p>Begins sending a publish message. The payload of the message is provided by one or more calls to <code>write</code> followed by a call to <code>endPublish</code>.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to publish to (const char[])</li>
|
||||
<li>payloadLength - the length of the message to publish</li>
|
||||
<li>retained - whether the message should be retained (boolean)
|
||||
<ul>
|
||||
<li>false - not retained</li>
|
||||
<li>true - retained</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="write1">
|
||||
<h4><span class="methodreturn">size_t</span> <span class="methodname">write</span> <span class="methodparams">(uint8_t)</span></h4>
|
||||
<p>Writes a byte as a component of a publish started with a call to <code>beginPublish</code>.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>uint8_t - the byte to write</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="write2">
|
||||
<h4><span class="methodreturn">size_t</span> <span class="methodname">write</span> <span class="methodparams">(payload, length)</span></h4>
|
||||
<p>Writes an array of bytes as a component of a publish started with a call to <code>beginPublish</code>.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>payload - the bytes to write (byte[])</li>
|
||||
<li>length - the length of the byte array (byte)</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="endPublish">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">endPublish</span> <span class="methodparams">()</span></h4>
|
||||
<p>Finishing sending a message that was started with a call to <code>beginPublish</code>.</p>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - publish failed</li>
|
||||
<li>true - publish succeeded</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="subscribe">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">subscribe</span> <span class="methodparams">(topic, [qos])</span></h4>
|
||||
<p>Subscribes to messages published to the specified topic.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to subscribe to (const char[])</li>
|
||||
<li>qos - <i>optional</i> the qos to subscribe at (int: 0 or 1 only)
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - sending the subscribe failed, either connection lost, or message too large.</li>
|
||||
<li>true - sending the subscribe succeeded. The request completes asynchronously.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="unsubscribe">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">unsubscribe</span> <span class="methodparams">(topic)</span></h4>
|
||||
<p>Unsubscribes from the specified topic.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic to unsubscribe from (const char[])</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - sending the unsubscribe failed, either connection lost, or message too large.</li>
|
||||
<li>true - sending the unsubscribe succeeded. The request completes asynchronously.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="loop">
|
||||
<h4><span class="methodreturn">boolean</span> <span class="methodname">loop</span> <span class="methodparams">()</span></h4>
|
||||
<p>This should be called regularly to allow the client to process incoming messages and maintain its connection to the server.</p>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - the client is no longer connected</li>
|
||||
<li>true - the client is still connected</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="connected">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">connected</span> <span class="methodparams">()</span></h4>
|
||||
<p>Checks whether the client is connected to the server.</p>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>false - the client is no longer connected</li>
|
||||
<li>true - the client is still connected</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="state">
|
||||
<h4><span class="methodreturn">int</span> <span class="methodname">state</span> <span class="methodparams">()</span></h4>
|
||||
<p>Returns the current state of the client. If a connection attempt fails,
|
||||
this can be used to get more information about the failure.</p>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>int - the client state, which can take the following values (constants defined in <code>PubSubClient.h</code>): <ul>
|
||||
<li>-4 : <code>MQTT_CONNECTION_TIMEOUT</code> - the server didn't respond within the keepalive time</li>
|
||||
<li>-3 : <code>MQTT_CONNECTION_LOST</code> - the network connection was broken</li>
|
||||
<li>-2 : <code>MQTT_CONNECT_FAILED</code> - the network connection failed</li>
|
||||
<li>-1 : <code>MQTT_DISCONNECTED</code> - the client is disconnected cleanly</li>
|
||||
<li>0 : <code>MQTT_CONNECTED</code> - the client is connected</li>
|
||||
<li>1 : <code>MQTT_CONNECT_BAD_PROTOCOL</code> - the server doesn't support the requested version of MQTT</li>
|
||||
<li>2 : <code>MQTT_CONNECT_BAD_CLIENT_ID</code> - the server rejected the client identifier</li>
|
||||
<li>3 : <code>MQTT_CONNECT_UNAVAILABLE</code> - the server was unable to accept the connection</li>
|
||||
<li>4 : <code>MQTT_CONNECT_BAD_CREDENTIALS</code> - the username/password were rejected</li>
|
||||
<li>5 : <code>MQTT_CONNECT_UNAUTHORIZED</code> - the client was not authorized to connect</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="setserver">
|
||||
<h4><span class="methodreturn">PubSubClient</span> <span class="methodname">setServer</span> <span class="methodparams">(server, port)</span></h4>
|
||||
<p>Sets the server details.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">server</span> : the address of the server (IPAddress, uint8_t[] or const char[])</li>
|
||||
<li><span class="methodparams">port</span> : the port to connect to (int)</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>PubSubClient - the client instance, allowing the function to be chained</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="setcallback">
|
||||
<h4><span class="methodreturn">PubSubClient</span> <span class="methodname">setCallback</span> <span class="methodparams">(callback)</span></h4>
|
||||
<p>Sets the message callback function.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">callback</span> : a pointer to a <a href="#callback">message callback</a> function called when a message arrives for a subscription created by this client.</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>PubSubClient - the client instance, allowing the function to be chained</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="setclient">
|
||||
<h4><span class="methodreturn">PubSubClient</span> <span class="methodname">setClient</span> <span class="methodparams">(client)</span></h4>
|
||||
<p>Sets the client.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">client</span> : an instance of <code>Client</code>, typically <code>EthernetClient</code>.</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>PubSubClient - the client instance, allowing the function to be chained</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="setstream">
|
||||
<h4><span class="methodreturn">PubSubClient</span> <span class="methodname">setStream</span> <span class="methodparams">(stream)</span></h4>
|
||||
<p>Sets the stream.</p>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li><span class="methodparams">stream</span> : an instance of <code>Stream</code>, used to store received messages. See the <code>mqtt_stream</code> example for more information.</li>
|
||||
</ul>
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
<li>PubSubClient - the client instance, allowing the function to be chained</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="method" id="configoptions">
|
||||
<h4>Configuration Options</h4>
|
||||
<p>The following configuration options can be used to configure the library.
|
||||
They are contained in <code>PubSubClient.h</code>.</p>
|
||||
<dl>
|
||||
<dt><code>MQTT_MAX_PACKET_SIZE</code></dt>
|
||||
<dd>Sets the largest packet size, in bytes, the client will handle. Any
|
||||
packet received that exceeds this size will be ignored.</p>
|
||||
<p>Default: 128 bytes</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_KEEPALIVE</code></dt>
|
||||
<dd>Sets the keepalive interval, in seconds, the client will use. This
|
||||
is used to maintain the connection when no other packets are being
|
||||
sent or received.</p>
|
||||
<p>Default: 15 seconds</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_VERSION</code></dt>
|
||||
<dd>Sets the version of the MQTT protocol to use.</p>
|
||||
<p>Default: MQTT 3.1.1</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_MAX_TRANSFER_SIZE</code></dt>
|
||||
<dd>Sets the maximum number of bytes passed to the network client in each
|
||||
write call. Some hardware has a limit to how much data can be passed
|
||||
to them in one go, such as the Arduino Wifi Shield.</p>
|
||||
<p>Default: undefined (complete packet passed in each write call)</p>
|
||||
</dd>
|
||||
<dt><code>MQTT_SOCKET_TIMEOUT</code></dt>
|
||||
<dd>Sets the timeout when reading from the network. This also applies as
|
||||
the timeout for calls to <code>connect</code>.
|
||||
<p>Default: 15 seconds</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section class="method" id="callback">
|
||||
<h4>Subscription Callback</h4>
|
||||
<p>If the client is used to subscribe to topics, a callback function must be
|
||||
provided in the constructor. This function is called when new messages
|
||||
arrive at the client.
|
||||
</p>
|
||||
<p>The callback function has the following signature:</p>
|
||||
<pre>void callback(const char[] topic, byte* payload, unsigned int length)</pre>
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
<li>topic - the topic the message arrived on (const char[])</li>
|
||||
<li>payload - the message payload (byte array)</li>
|
||||
<li>length - the length of the message payload (unsigned int)</li>
|
||||
</ul>
|
||||
<p>Internally, the client uses the same buffer for both inbound and outbound
|
||||
messages. After the callback function returns, or if a call to either <code>publish</code>
|
||||
or <code>subscribe</code> is made from within the callback function, the <code>topic</code>
|
||||
and <code>payload</code> values passed to the function will be overwritten. The application
|
||||
should create its own copy of the values if they are required beyond this.
|
||||
</p>
|
||||
</section>
|
53
api.md
Normal file
53
api.md
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
layout: default
|
||||
title: API Documentation
|
||||
---
|
||||
|
||||
### Library version: 2.8
|
||||
|
||||
{% assign sorted = site.posts | reverse %}
|
||||
{% assign currentType = "" %}
|
||||
{% for post in sorted %}
|
||||
{% if post.tags contains 'api' or post.tags contains 'docs' %}
|
||||
{% unless post.type == currentType%}
|
||||
{%if currentType != "" %}</ul>{%endif%}
|
||||
<h3>{{post.type | capitalize}}</h3>
|
||||
{% assign currentType = post.type %}
|
||||
<ul class="post-list">
|
||||
{% endunless %}
|
||||
<li><a href="#{{post.slug}}">{%if post.tags contains 'api'
|
||||
%}{% if post.returns %}<span class="methodreturn">{{ post.returns.type }}</span> {% endif %}<span class="methodname">{{ post.name }} </span> <span class="methodparams">({% include paramsList.html params=post.params %})</span>{%
|
||||
else %}{{ post.title }}{%endif%}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
---
|
||||
|
||||
{% for post in sorted %}
|
||||
{% if post.tags contains 'api' or post.tags contains 'docs'%}
|
||||
|
||||
<section class="method" id="{{post.slug}}">
|
||||
{% if post.tags contains 'api' %}
|
||||
<h4>{% if post.returns %}<span class="methodreturn">{{ post.returns.type }}</span> {% endif %}<span class="methodname">{{ post.name }}</span> <span class="methodparams">({% include paramsList.html params=post.params %})</span></h4>
|
||||
{{ post.content }}
|
||||
{% if post.params %}
|
||||
<h5>Parameters</h5>
|
||||
<ul>
|
||||
{% include paramsListLong.html params=post.params %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if post.returns and post.returns.values %}
|
||||
<h5>Returns</h5>
|
||||
<ul>
|
||||
{% for return in post.returns.values %}<li>{% if return.value %}<span class="methodreturnvalue">{{ return.value }}</span> - {%endif%}{{ return.description}}</li>{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<h4>{{post.title}}</h4>
|
||||
{{post.content}}
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
67
index.html
67
index.html
@ -1,67 +0,0 @@
|
||||
---
|
||||
layout: default
|
||||
title: Arduino Client for MQTT
|
||||
---
|
||||
<p>This library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT</p>
|
||||
<p>For more information about MQTT, visit <a href="http://mqtt.org">mqtt.org</a>.</p>
|
||||
|
||||
<section id="Download">
|
||||
<h2>Download</h2>
|
||||
<p>The latest version of the library can be downloaded from <a href="https://github.com/knolleary/pubsubclient/releases/latest">GitHub</a>.</p>
|
||||
</section>
|
||||
<section id="Documentation">
|
||||
<h2>Documentation</h2>
|
||||
<p>The library comes with a number of example sketches. See <code>File > Examples > PubSubClient</code> within the Arduino application.</p>
|
||||
<p>Full <a href="api.html">API Documentation</a></p>
|
||||
</section>
|
||||
<section id="Hardware">
|
||||
<h2>Compatible Hardware</h2>
|
||||
<p>
|
||||
The library uses the Arduino Ethernet Client api for interacting with the
|
||||
underlying network hardware. This means it Just Works with a growing number of
|
||||
boards and shields, including:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Arduino Ethernet</li>
|
||||
<li>Arduino Ethernet Shield</li>
|
||||
<li>Arduino YUN – use the included <code>YunClient</code> in place of <code>EthernetClient</code>, and
|
||||
be sure to do a <code>Bridge.begin()</code> first</li>
|
||||
<li>Arduino WiFi Shield - if you want to send packets greater than 90 bytes with this shield,
|
||||
enable the <a href="http://knolleary.github.io/pubsubclient/api.html#configoptions"><code>MQTT_MAX_TRANSFER_SIZE</code></code></a> option in <code>PubSubClient.h</code>.</li>
|
||||
<li>Sparkfun WiFly Shield – when used with <a href="https://github.com/dpslwk/WiFly">this library</a></li>
|
||||
<li>Intel Galileo/Edison</li>
|
||||
<li>ESP8266</li>
|
||||
<li>ESP32</li>
|
||||
</ul>
|
||||
<p>
|
||||
The library cannot currently be used with hardware based on the ENC28J60 chip –
|
||||
such as the Nanode or the Nuelectronics Ethernet Shield. For those, there is an
|
||||
<a href="https://github.com/njh/NanodeMQTT">alternative library</a> available.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="Author">
|
||||
<h2>Author</h2>
|
||||
<p>Nick O'Leary - <a href="https://twitter.com/knolleary">@knolleary</a></p>
|
||||
</section>
|
||||
<section id="License">
|
||||
<h2>License</h2>
|
||||
<p>This library is released under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT License</a>.</p>
|
||||
</section>
|
||||
<section id="ChangeHistory">
|
||||
<h2>Change History</h2>
|
||||
<p>The complete change history is available on <a href="https://github.com/knolleary/pubsubclient/commits/master">GitHub</a>.</p>
|
||||
<dl>
|
||||
<dt>2.7</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>Fix remaining-length handling to prevent buffer overrun</li>
|
||||
<li>Add large-payload API - beginPublish/write/publish/endPublish</li>
|
||||
<li>Add yield call to improve reliability on ESP</li>
|
||||
<li>Add Clean Session flag to connect options</li>
|
||||
<li>Add ESP32 support for functional callback signature</li>
|
||||
<li>Various other fixes</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
41
index.md
Normal file
41
index.md
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
layout: default
|
||||
title: Arduino Client for MQTT
|
||||
---
|
||||
|
||||
This library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT
|
||||
|
||||
For more information about MQTT, visit [MQTT.org](http://mqtt.org).
|
||||
|
||||
## Download
|
||||
|
||||
The latest version of the library can be downloaded from [GitHub](https://github.com/knolleary/pubsubclient/releases/latest).
|
||||
|
||||
## Documentation
|
||||
|
||||
The library comes with a number of example sketches. See `File > Examples > PubSubClient` within the Arduino application.
|
||||
|
||||
Full <a href="api.html">[API Documentation](/api) is available.
|
||||
|
||||
## Author
|
||||
|
||||
- Nick O'Leary - [@knolleary](https://twitter.com/knolleary)
|
||||
|
||||
## License
|
||||
|
||||
This library is released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
|
||||
|
||||
|
||||
## Change History
|
||||
|
||||
The complete change history is available on [GitHub](https://github.com/knolleary/pubsubclient/commits/master).
|
||||
|
||||
#### Latest version: 2.8 <small> - released 2020-05-20</small>
|
||||
|
||||
- Add `setBufferSize()` to override `MQTT_MAX_PACKET_SIZE`
|
||||
- Add `setKeepAlive()` to override `MQTT_KEEPALIVE`
|
||||
- Add `setSocketTimeout()` to overide `MQTT_SOCKET_TIMEOUT`
|
||||
- Added check to prevent subscribe/unsubscribe to empty topics
|
||||
- Declare wifi mode prior to connect in ESP example
|
||||
- Use `strnlen` to avoid overruns
|
||||
- Support pre-connected Client objects
|
@ -64,6 +64,9 @@ section {
|
||||
.methodname { font-weight: bold;color: #333;}
|
||||
.methodreturn { font-weight: normal; color: #777;}
|
||||
.methodparams { font-weight: normal; color: #777;}
|
||||
.methodparamstype { font-size: 13px; font-family: monospace; color: #979;}
|
||||
.methodreturnvalue { font-family: monospace; color: #979; }
|
||||
.methodparamoptional { font-size: 13px; font-style: italic; color: #777}
|
||||
ul a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user