Created
April 12, 2018 18:46
-
-
Save stif/54d0f3b752863525f6604ade432b528b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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