52 lines
1.5 KiB
C++
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();
|
|
} |