diff --git a/MQTT-IoTController/platformio.ini b/MQTT-IoTController/platformio.ini index 03bad5f..46857e8 100644 --- a/MQTT-IoTController/platformio.ini +++ b/MQTT-IoTController/platformio.ini @@ -12,8 +12,4 @@ platform = espressif32 board = wt32-eth01 framework = arduino -lib_deps = siwats/espmegapror3 - knolleary/PubSubClient@^2.8 - ivanseidel/ArduinoThread@^2.1.1 - arduino-libraries/Arduino_BuiltIn@^1.0.0 - dersimn/PubSubClientTools@^0.6 \ No newline at end of file +lib_deps = siwats/espmegapror3 \ No newline at end of file diff --git a/MQTT-IoTController/src/main.cpp b/MQTT-IoTController/src/main.cpp index e821236..2a1ec63 100644 --- a/MQTT-IoTController/src/main.cpp +++ b/MQTT-IoTController/src/main.cpp @@ -1,24 +1,4 @@ -// #define USE_INTERRUPT #include -#include -#include -#include -#include -#include - -// Network Connectivity -#define HOSTNAME "espmega-pro-r3" -const IPAddress IP(192, 168, 0, 210); -const IPAddress SUBNET(255, 255, 255, 0); -const IPAddress GATEWAY(192, 168, 0, 1); -const IPAddress DNS(10, 192, 1, 1); -const IPAddress MQTT_SERVER(192, 168, 0, 26); -const int MQTT_PORT = 1883; -// #define MQTT_USE_AUTH -#ifdef MQTT_USE_AUTH -const char MQTT_USERNAME[] = "username"; -const char MQTT_PASSWORD[] = "password"; -#endif // Inputs const int DEBOUNCE_TIME_MS = 50; @@ -34,87 +14,19 @@ int pwm_values[16]; // Forward declaration void virtual_interrupt_loop(); void virtual_interrupt_callback(int pin, int state); -void network_begin(); -void mqtt_connect(); -void mqtt_subscribe(); -void thread_initialization(); -void mqtt_callback(String topic, String message); - -WiFiClient eth; -PubSubClient mqtt_client(MQTT_SERVER, 1883, eth); -PubSubClientTools mqtt(mqtt_client); - -Thread mqtt_reconnector = Thread(); -StaticThreadController<1> thread_controller(&mqtt_reconnector); void setup() { ESPMega_begin(); - Serial.begin(115200); - Serial.println("ESPMega R3 Initializing . . ."); - Serial.println("Initializing Network . . ."); - network_begin(); - Serial.println("Initializing MQTT . . ."); - mqtt_connect(); - Serial.println("Initializing Threads . . ."); - thread_initialization(); } void loop() { - virtual_interrupt_loop(); ESPMega_loop(); } -void network_begin() -{ - ETH.setHostname(HOSTNAME); - ETH.config(IP, GATEWAY, SUBNET, DNS); - ETH.begin(); -} - -void mqtt_connect() -{ - if (!mqtt_client.connected()) - { - Serial.print("MQTT not connected, connecting . . .\n"); -#ifdef MQTT_USE_AUTH - mqtt_client.connect(HOSTNAME, MQTT_USERNAME, MQTT_PASSWORD); -#else - mqtt_client.connect(HOSTNAME); -#endif - if (mqtt_client.connected()) - { - mqtt_subscribe(); - Serial.print("MQTT connected\n"); - } - else - { - Serial.print("MQTT not connected, continuing in standalone mode\n"); - } - } -} - -void mqtt_subscribe() -{ - mqtt.subscribe("/espmega", mqtt_callback); -} - -void thread_initialization() -{ - Serial.print("Initializing MQTT Thread\n"); - mqtt_reconnector.onRun(mqtt_connect); - mqtt_reconnector.setInterval(30000); -} - -void mqtt_callback(String topic, String message) -{ - -} - void virtual_interrupt_callback(int pin, int state) { - } void virtual_interrupt_loop()