diff --git a/.vscode/.BROWSE.C_CPP.DB b/.vscode/.BROWSE.C_CPP.DB new file mode 100644 index 0000000..ab61245 Binary files /dev/null and b/.vscode/.BROWSE.C_CPP.DB differ diff --git a/.vscode/.BROWSE.C_CPP.DB-shm b/.vscode/.BROWSE.C_CPP.DB-shm new file mode 100644 index 0000000..f745bb9 Binary files /dev/null and b/.vscode/.BROWSE.C_CPP.DB-shm differ diff --git a/.vscode/.BROWSE.C_CPP.DB-wal b/.vscode/.BROWSE.C_CPP.DB-wal new file mode 100644 index 0000000..b991da1 Binary files /dev/null and b/.vscode/.BROWSE.C_CPP.DB-wal differ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..97d5db9 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,129 @@ +{ + "configurations": [ + { + "name": "!!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags" + }, + { + "name": "Win32", + "includePath": [ + "c:/Users/furyf/Dev/deskcontrol/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Homie/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ESP Async WebServer_ID306/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Bounce2_ID1106/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/AsyncMqttClient_ID346/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ESPAsyncTCP_ID305/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ArduinoJson_ID64/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/cores/esp8266", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Syslog_ID1506/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SPI", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Wire", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src", + "C:/Users/furyf/.platformio/packages/tool-unity", + "" + ], + "browse": { + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "${workspaceRoot}/.vscode/.browse.c_cpp.db", + "path": [ + "c:/Users/furyf/Dev/deskcontrol/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Homie/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ESP Async WebServer_ID306/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Bounce2_ID1106/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/AsyncMqttClient_ID346/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ESPAsyncTCP_ID305/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/ArduinoJson_ID64/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/cores/esp8266", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu", + "c:/Users/furyf/Dev/deskcontrol/.pio/libdeps/nodemcu/Syslog_ID1506/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SPI", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/Wire", + "C:/Users/furyf/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src", + "C:/Users/furyf/.platformio/packages/tool-unity", + "" + ] + }, + "defines": [ + "PLATFORMIO=40000", + "ESP8266", + "ARDUINO_ARCH_ESP8266", + "ARDUINO_ESP8266_NODEMCU", + "PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY", + "F_CPU=80000000L", + "__ets__", + "ICACHE_FLASH", + "ARDUINO=10805", + "ARDUINO_BOARD=\"PLATFORMIO_NODEMCU\"", + "FLASHMODE_QIO", + "LWIP_OPEN_SRC", + "NONOSDK221=1", + "TCP_MSS=536", + "LWIP_FEATURES=1", + "LWIP_IPV6=0", + "VTABLES_IN_FLASH", + "" + ], + "intelliSenseMode": "clang-x64", + "cStandard": "c99", + "cppStandard": "c++11", + "compilerPath": "\"C:/Users/furyf/.platformio/packages/toolchain-xtensa/bin/xtensa-lx106-elf-gcc.exe\" -mlongcalls -mtext-section-literals" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..272828b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "platformio.platformio-ide" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..3247630 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,32 @@ +// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY + +// PIO Unified Debugger +// +// Documentation: https://docs.platformio.org/page/plus/debugging.html +// Configuration: https://docs.platformio.org/page/projectconf/section_env_debug.html + +{ + "version": "0.2.0", + "configurations": [ + { + "type": "platformio-debug", + "request": "launch", + "name": "PIO Debug", + "executable": "c:/Users/furyf/Dev/deskcontrol/.pio/build/nodemcu/firmware.elf", + "toolchainBinDir": "C:/Users/furyf/.platformio/packages/toolchain-xtensa/bin", + "preLaunchTask": { + "type": "PlatformIO", + "task": "Pre-Debug" + }, + "internalConsoleOptions": "openOnSessionStart" + }, + { + "type": "platformio-debug", + "request": "launch", + "name": "PIO Debug (skip Pre-Debug)", + "executable": "c:/Users/furyf/Dev/deskcontrol/.pio/build/nodemcu/firmware.elf", + "toolchainBinDir": "C:/Users/furyf/.platformio/packages/toolchain-xtensa/bin", + "internalConsoleOptions": "openOnSessionStart" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..19b873f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "terminal.integrated.env.windows": { + "PATH": "C:\\Program Files (x86)\\STMicroelectronics\\st_toolset\\asm;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\STMicroelectronics\\STM32 ST-LINK Utility\\ST-LINK Utility;C:\\Program Files\\doxygen\\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Users\\furyf\\scoop\\apps\\nodejs\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\nodejs\\current;C:\\Users\\furyf\\go\\bin;C:\\Users\\furyf\\scoop\\apps\\composer\\current\\home\\vendor\\bin;C:\\Users\\furyf\\scoop\\apps\\ruby\\current\\gems\\bin;C:\\Users\\furyf\\scoop\\apps\\ruby\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\python27\\current\\scripts;C:\\Users\\furyf\\scoop\\apps\\latex\\current\\texmfs\\install\\miktex\\bin;C:\\Users\\furyf\\scoop\\apps\\gcc\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\nmap\\current\\bin;C:\\Users\\furyf\\AppData\\Local\\Programs\\Python\\Launcher\\;C:\\Users\\furyf\\scoop\\shims;C:\\Users\\furyf\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\furyf\\scoop\\apps\\msys\\current\\bin;C:\\Users\\furyf\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\System\\PATH;%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Program Files (x86)\\STMicroelectronics\\st_toolset\\asm;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\STMicroelectronics\\STM32 ST-LINK Utility\\ST-LINK Utility;C:\\Program Files\\doxygen\\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Users\\furyf\\scoop\\apps\\nodejs\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\nodejs\\current;C:\\Users\\furyf\\go\\bin;C:\\Users\\furyf\\scoop\\apps\\composer\\current\\home\\vendor\\bin;C:\\Users\\furyf\\scoop\\apps\\ruby\\current\\gems\\bin;C:\\Users\\furyf\\scoop\\apps\\ruby\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\python27\\current\\scripts;C:\\Users\\furyf\\scoop\\apps\\latex\\current\\texmfs\\install\\miktex\\bin;C:\\Users\\furyf\\scoop\\apps\\gcc\\current\\bin;C:\\Users\\furyf\\scoop\\apps\\nmap\\current\\bin;C:\\Users\\furyf\\AppData\\Local\\Programs\\Python\\Launcher\\;C:\\Users\\furyf\\scoop\\shims;C:\\Users\\furyf\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\furyf\\scoop\\apps\\msys\\current\\bin;C:\\Users\\furyf\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\System\\PATH;%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps", + "PLATFORMIO_CALLER": "vscode" + } +} \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 4b6f9f1..1e80965 100644 --- a/platformio.ini +++ b/platformio.ini @@ -17,11 +17,17 @@ # Automatic targets - enable auto-uploading # targets = upload -[env:nodemcu] +[env] platform = espressif8266 framework = arduino -board = nodemcu + upload_speed=921600 build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY -lib_deps = https://github.com/homieiot/homie-esp8266.git#develop-v3, Syslog +lib_deps = https://github.com/homieiot/homie-esp8266.git#develop-v3 + +[env:nodemcu] +board = nodemcu + +[env:nodemcuv2] +board = nodemcuv2 \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 4785209..7dec079 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,8 +1,5 @@ #include -#include #include -WiFiUDP udpClient; -Syslog syslog(udpClient, SYSLOG_PROTO_IETF); const int PIN_RELAY = D1; #define OUTPUT_SET(x) digitalWrite(PIN_RELAY, x ? LOW : HIGH); @@ -68,36 +65,8 @@ void loopHandler() { } } -void onHomieEvent(const HomieEvent& event) { - switch(event.type) { - case HomieEventType::OTA_FAILED: - syslog.log(LOG_INFO, "OTA failed"); - // Do whatever you want when OTA is failed - break; - case HomieEventType::OTA_SUCCESSFUL: - syslog.log(LOG_INFO, "OTA completed"); - break; - case HomieEventType::WIFI_CONNECTED: - // Do whatever you want when Wi-Fi is connected in normal mode - syslog.deviceHostname(Homie.getConfiguration().name); - syslog.appName("deskcontrol"); - syslog.defaultPriority(LOG_ERR); - syslog.log(LOG_INFO, "WiFi Connected, software version: 1.0"); - break; - case HomieEventType::MQTT_READY: - syslog.log(LOG_INFO, "MQTT connected"); - break; - case HomieEventType::MQTT_DISCONNECTED: - syslog.log(LOG_INFO, "MQTT disconnected"); - break; - default: - break; - } -} void setup() { - syslog.server("192.168.1.100", 514); - Serial.begin(115200); Serial << endl << endl; @@ -107,10 +76,10 @@ void setup() { Homie_setFirmware("deskcontrol", "1.0.0"); Homie_setBrand("FuryFire"); + Homie.disableResetTrigger(); powerNode.advertise("state").settable(powerStateHandler); powerNode.advertise("timer").settable(powerTimerHandler); Homie.setSetupFunction(setupHandler); - Homie.onEvent(onHomieEvent); // before Homie.setup() Homie.setLoopFunction(loopHandler); Homie.setup(); }