Skip to content

Instantly share code, notes, and snippets.

@stif
Created April 12, 2018 18:46
Show Gist options
  • Save stif/54d0f3b752863525f6604ade432b528b to your computer and use it in GitHub Desktop.
Save stif/54d0f3b752863525f6604ade432b528b to your computer and use it in GitHub Desktop.
#include <Basecamp.hpp>
Basecamp iot;
void onMqttConnect(bool sessionPresent) {
Serial.println("Connected to MQTT.");
Serial.print("Session present: ");
Serial.println(sessionPresent);
uint16_t packetIdSub = iot.mqtt.subscribe("test/lol", 2);
Serial.print("Subscribing at QoS 2, packetId: ");
Serial.println(packetIdSub);
iot.mqtt.publish("test/lol", 0, true, "myTest 1");
Serial.println("Publishing at QoS 0");
uint16_t packetIdPub1 = iot.mqtt.publish("test/lol", 1, true, "myTest 2");
Serial.print("Publishing at QoS 1, packetId: ");
Serial.println(packetIdPub1);
uint16_t packetIdPub2 = iot.mqtt.publish("test/lol", 2, true, "myTest 3");
Serial.print("Publishing at QoS 2, packetId: ");
Serial.println(packetIdPub2);
}
void onMqttDisconnect(AsyncMqttClientDisconnectReason reason) {
Serial.println("Disconnected from MQTT.");
//if (WiFi.isConnected()) {
// xTimerStart(mqttReconnectTimer, 0);
//}
}
void onMqttSubscribe(uint16_t packetId, uint8_t qos) {
Serial.println("Subscribe acknowledged.");
Serial.print(" packetId: ");
Serial.println(packetId);
Serial.print(" qos: ");
Serial.println(qos);
}
void onMqttUnsubscribe(uint16_t packetId) {
Serial.println("Unsubscribe acknowledged.");
Serial.print(" packetId: ");
Serial.println(packetId);
}
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {
Serial.println("Publish received.");
Serial.print(" topic: ");
Serial.println(topic);
Serial.print(" payload: ");
Serial.println(payload);
Serial.print(" qos: ");
Serial.println(properties.qos);
Serial.print(" dup: ");
Serial.println(properties.dup);
Serial.print(" retain: ");
Serial.println(properties.retain);
Serial.print(" len: ");
Serial.println(len);
Serial.print(" index: ");
Serial.println(index);
Serial.print(" total: ");
Serial.println(total);
}
void onMqttPublish(uint16_t packetId) {
Serial.println("Publish acknowledged.");
Serial.print(" packetId: ");
Serial.println(packetId);
}
void setup() {
//The mqtt object is an instance of Async MQTT Client. See it's documentation for details.
iot.mqtt.onConnect(onMqttConnect);
iot.mqtt.onDisconnect(onMqttDisconnect);
iot.mqtt.onSubscribe(onMqttSubscribe);
iot.mqtt.onUnsubscribe(onMqttUnsubscribe);
iot.mqtt.onMessage(onMqttMessage);
iot.mqtt.onPublish(onMqttPublish);
//iot.mqtt.setServer(MQTT_HOST, MQTT_PORT);
//iot.mqtt.subscribe("test/lol",2);
iot.begin();
}
void loop() {
//your code
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment