ESPMegaPRO-v3-SDK/Template Project/src/iotdemo.cpp

52 lines
1.5 KiB
C++

#include <ESPMegaPRO_OOP.hpp>
#include <ETH.h>
// Instantiate ESPMega
ESPMegaPRO espmega = ESPMegaPRO();
void mqtt_callback(char *topic, char *payload)
{
Serial.print("MQTT Callback: ");
Serial.print(topic);
Serial.print(" ");
Serial.println(payload);
}
IPAddress ip(192, 168, 0, 11);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
void setup()
{
// Initialize ESPMega
espmega.begin();
Serial.println("ESPMega initialized");
Serial.println("Initializing ESPMega IoT");
espmega.enableIotModule();
Serial.println("ESPMega IoT module enabled");
Serial.println("Setting static IP");
Serial.println("Connecting to Ethernet");
ETH.begin();
ETH.config(ip, gateway, subnet);
Serial.println("Static IP set");
Serial.println("Begin MQTT Initialization Routine");
Serial.println("Setting MQTT Base Topic");
espmega.iot.setBaseTopic("/testmegaoop");
Serial.println("Initializing MQTT");
espmega.iot.connectToMqtt("espmega", "192.168.0.26", 1883);
Serial.println("Publishing a test message");
espmega.iot.publishRelative("test", "test");
Serial.println("Subscribing to test topic");
espmega.iot.subscribeRelative("test");
Serial.println("Registering MQTT Callback");
espmega.iot.registerMqttCallback(mqtt_callback);
Serial.println("ESPMega IoT initialized");
Serial.println("Enable IoT Module for Digital Output Card");
espmega.iot.registerCard(1);
espmega.iot.publishCard(1);
}
void loop()
{
// Call ESPMega loop
espmega.loop();
}