Update for 2.7

This commit is contained in:
Nick O'Leary 2018-11-02 13:00:46 +00:00
parent 0abb3f9057
commit 5eda3c281b
2 changed files with 101 additions and 87 deletions

View File

@ -16,12 +16,17 @@ title: API Documentation
<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="#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="#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="#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="#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="#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="#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="#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="#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="#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">beginPublish</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="#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="#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="#loop"><span class="methodreturn">boolean</span> <span class="methodname">loop</span> <span class="methodparams">()</span></a></li>
@ -153,6 +158,29 @@ void setup() {
</ul> </ul>
</section> </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"> <section class="method" id="disconnect">
<h4><span class="methodreturn">void</span> <span class="methodname">disconnect</span> <span class="methodparams">()</span></h4> <h4><span class="methodreturn">void</span> <span class="methodname">disconnect</span> <span class="methodparams">()</span></h4>
<p>Disconnects the client.</p> <p>Disconnects the client.</p>
@ -254,6 +282,66 @@ void setup() {
</ul> </ul>
</section> </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">beginPublish</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"> <section class="method" id="subscribe">
<h4><span class="methodreturn">boolean</span> <span class="methodname">subscribe</span> <span class="methodparams">(topic, [qos])</span></h4> <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> <p>Subscribes to messages published to the specified topic.</p>

View File

@ -31,6 +31,7 @@ title: Arduino Client for MQTT
<li>Sparkfun WiFly Shield when used with <a href="https://github.com/dpslwk/WiFly">this library</a></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>Intel Galileo/Edison</li>
<li>ESP8266</li> <li>ESP8266</li>
<li>ESP32</li>
</ul> </ul>
<p> <p>
The library cannot currently be used with hardware based on the ENC28J60 chip The library cannot currently be used with hardware based on the ENC28J60 chip
@ -51,91 +52,16 @@ title: Arduino Client for MQTT
<h2>Change History</h2> <h2>Change History</h2>
<p>The complete change history is available on <a href="https://github.com/knolleary/pubsubclient/commits/master">GitHub</a>.</p> <p>The complete change history is available on <a href="https://github.com/knolleary/pubsubclient/commits/master">GitHub</a>.</p>
<dl> <dl>
<dt>2.0</dt> <dt>2.7</dt>
<dd> <dd>
<ul> <ul>
<li>Add (and default to) MQTT 3.1.1 support</li> <li>Fix remaining-length handling to prevent buffer overrun</li>
<li>Fix PROGMEM handling for Intel Galileo/ESP8266</li> <li>Add large-payload API - beginPublish/write/publish/endPublish</li>
<li>Add overloaded constructors for convenience</li> <li>Add yield call to improve reliability on ESP</li>
<li>Add chainable setters for server/callback/client/stream</li> <li>Add Clean Session flag to connect options</li>
<li>Add state function to return connack return code</li> <li>Add ESP32 support for functional callback signature</li>
</ul> <li>Various other fixes</li>
</dd> </ul>
<dt>1.9</dt> </dd>
<dd>
<ul>
<li>Do not split MQTT packets over multiple calls to <code>_client->write()</code></li>
<li><b><i>API change</i></b>: All constructors now require an instance of Client to be passed in.</li>
<li>Fixed example to match 1.8 api changes - dpslwk</li>
<li>Added username/password support - WilHall</li>
<li>Added <code>publish_P</code> - publishes messages from <code>PROGMEM</code> - jobytaffey</li>
</ul>
</dd>
<dt>1.8</dt>
<dd>
<ul>
<li>KeepAlive interval is configurable in <code>PubSubClient.h</code></li>
<li>Maximum packet size is configurable in <code>PubSubClient.h</code></li>
<li><b><i>API change</i></b>: Return <code>boolean</code> rather than <code>int</code> from various functions</li>
<li><b><i>API change</i></b>: Length parameter in message callback changed from <code>int</code> to <code>unsigned int</code>
<li>Various internal tidy-ups around types</li>
<li>Able to specify server address by DNS name</li>
</ul>
</dd>
<dt>1.7</dt>
<dd>
<ul>
<li>Improved keepalive handling</li>
<li>Updated to the Arduino-1.0 API</li>
</ul>
</dd>
<dt>1.6</dt>
<dd>
<ul>
<li>Added ability to publish retained messages</li>
</ul>
</dd>
<dt>1.5</dt>
<dd>
<ul>
<li>Added default constructor</li>
<li>Fixed compile error when used with arduino-0021 or later</li>
</ul>
</dd>
<dt>1.4</dt>
<dd>
<ul>
<li>Fixed connection lost handling</li>
</ul>
</dd>
<dt>1.3</dt>
<dd>
<ul>
<li>Fixed packet reading bug</li>
</ul>
</dd>
<dt>1.2</dt>
<dd>
<ul>
<li>Fixed compile error when used with arduino-0016 or later</li>
</ul>
</dd>
<dt>1.1</dt>
<dd>
<ul>
<li>Reduced size of library</li>
<li>Added support for Will messages</li?
<li>Clarified licensing &#8211; see LICENSE.txt</li>
</ul>
</dd>
<dt>1.0</dt>
<dd>
<ul>
<li>Only Quality of Service (QOS) 0 messaging is supported</li>
<li>The maximum message size, including header, is 128 bytes</li>
<li>The keepalive interval is set to 30 seconds</li>
<li>No support for Will messages</li>
</ul>
</dd>
</dl> </dl>
</section> </section>