Cami Can Calders, 8 2º-2ª | 08173 Sant Cugat del Valles info@bmotes.com 932504996

WhatsBee blog

Arduino, librería y ejemplos

Clientes y ejemplos > > Arduino, librería y ejemplos

Librerías y ejemplos para Arduino

Para conectar un Arduino a Whastsbee podemos utilizar la siguiente librería :

https://github.com/knolleary/pubsubclient.

La documentación del API está en el siguiente enlace:

http://pubsubclient.knolleary.net/api.html

Arduino Uno

Arduino Uno

Hardware compatible

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:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN – use the included YunClient in place of EthernetClient, and be sure to do a Bridge.begin() first
  • Arduino WiFi Shield – if you want to send packets greater than 90 bytes with this shield, enable theMQTT_MAX_TRANSFER_SIZE option in PubSubClient.h.
  • Sparkfun WiFly Shield – cuando se usa con this library
  • Intel Galileo/Edison
  • ESP8266

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 librería alternativa disponible

Autor de la librería

Nick O’Leary – @knolleary

Licencia

La librería está liberada bajo la MIT License.

Ejemplo de código

Más ejemplos disponibles en los enlaces de github.

/*
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();
}