Getting started with Arduino
Zafron uses the Cayenne MQTT library to connect to the Zafron MQTT broker.
Requirements
- Arduino IDE
- Arduino board
- Cayenne-MQTT-Arduino 1.3.1
Arduino Example Code
#define CAYENNE_PRINT Serial
// Redefine the domain BEFORE including the library.
#define CAYENNE_DOMAIN "mqtt.zafron.dev"
#include <CayenneMQTTESP8266.h>
// WiFi network info.
char ssid[] = "";
char wifiPassword[] = "";
// Zafron authentication info.
char username[] = "3bb28f1b-e837-4ffc-8dab-0db62ef86120";
char password[] = "120004000F55CCFE";
char clientID[] = "549D1EBD";
void setup() {
Serial.begin(9600);
Cayenne.begin(username, password, clientID, ssid, wifiPassword);
}
void loop() {
Cayenne.loop();
}
// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
CAYENNE_OUT_DEFAULT()
{
// Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
Cayenne.virtualWrite(0, millis());
// Some examples of other functions you can use to send data.
Cayenne.celsiusWrite(1, 22.0);
Cayenne.luxWrite(2, 700);
Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);
}
// Default function for processing actuator commands from the Cayenne Dashboard.
// You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands.
CAYENNE_IN_DEFAULT()
{
CAYENNE_LOG("Channel %u, value %s", request.channel, getValue.asString());
//Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError("Error message");
}