Revision for “Arduino, librería y ejemplos” created on 2 de marzo de 2016 a las 00:45:40
Título | Arduino, librería y ejemplos |
---|---|
Contenido | <h2>Librerías y ejemplos para Arduino</h2>
Para conectar un Arduino a Whastsbee podemos utilizar la siguiente librería :
<a href="https://github.com/knolleary/pubsubclient">https://github.com/knolleary/pubsubclient</a>.
La documentación del API está en el siguiente enlace:
<a href="http://pubsubclient.knolleary.net/api.html">http://pubsubclient.knolleary.net/api.html</a>
[caption id="attachment_7605" align="aligncenter" width="300"]<img class="size-medium wp-image-7605" src="http://blog.whatsbee.net/wp-content/uploads/2016/03/Arduino_Uno_-_R3-300x300.jpg" alt="Arduino Uno" width="300" height="300" /> Arduino Uno[/caption]
<h2>Hardware compatible</h2>
La librería usa la Arduino Ethernet Client API para interactuar con el hadware de red. Esto provoca que funcione con un número de placas cada vez más amplio, incuyendo:
<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></a> option in <code>PubSubClient.h</code>.</li>
<li>Sparkfun WiFly Shield – cuando se usa con <a href="https://github.com/dpslwk/WiFly">this library</a></li>
<li>Intel Galileo/Edison</li>
<li>ESP8266</li>
</ul>
La librería no puede ser usada en este momento con el hardware basado rn el chip ENC28J60, utilizado en las shields Nanode o Nueectronics. Para utilizarlos hay una <a href="https://github.com/njh/NanodeMQTT">librería alternativa</a> disponible
<h2>Autor de la librería</h2>
Nick O'Leary - <a href="https://twitter.com/knolleary">@knolleary</a>
<h2>Licencia</h2>
La librería está liberada bajo la <a href="http://www.opensource.org/licenses/mit-license.php">MIT License</a>.
<h2>Ejemplo de código</h2>
Más ejemplos disponibles en los enlaces de github.
<pre>/*
Basic MQTT example with Authentication
- connects to an MQTT server, providing username
and password
- publishes "hello world" to the topic "outTopic"
- subscribes to the topic "inTopic"
*/
#include
#include
#include
// Update these with values suitable for your network.
byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
IPAddress ip(172, 16, 0, 100);
IPAddress server(172, 16, 0, 2);
void callback(char* topic, byte* payload, unsigned int length) {
// handle message arrived
}
EthernetClient ethClient;
PubSubClient client(server, 1883, callback, ethClient);
void setup()
{
Ethernet.begin(mac, ip);
// Note - the default maximum packet size is 128 bytes. If the
// combined length of clientId, username and password exceed this,
// you will need to increase the value of MQTT_MAX_PACKET_SIZE in
// PubSubClient.h
if (client.connect("arduinoClient", "testuser", "testpass")) {
client.publish("outTopic","hello world");
client.subscribe("inTopic");
}
}
void loop()
{
client.loop();
}
</pre> |
Extracto |