diff --git a/platformio.ini b/platformio.ini index 4a9ff5c..30fb3d6 100644 --- a/platformio.ini +++ b/platformio.ini @@ -30,10 +30,23 @@ lib_deps = painlessMesh https://gitlab.com/wirelos/sprocket-lib.git#develop https://gitlab.com/wirelos/sprocket-plugin-neopixel.git - https://gitlab.com/wirelos/sprocket-plugin-web.git [env:build] -src_filter = +<*> - + +src_filter = +<*> - + +platform = ${common.platform} +board = ${common.board} +upload_speed = ${common.upload_speed} +monitor_baud = ${common.monitor_baud} +framework = ${common.framework} +build_flags = -Wl,-Teagle.flash.4m1m.ld + -DSPROCKET_PRINT=1 +lib_deps = ${common.lib_deps} + https://gitlab.com/wirelos/sprocket-plugin-web.git + + + +[env:build] +src_filter = +<*> - + platform = ${common.platform} board = ${common.board} upload_speed = ${common.upload_speed} @@ -46,7 +59,7 @@ lib_deps = ${common.lib_deps} [env:build-mesh] -src_filter = +<*> + - +src_filter = +<*> - + platform = ${common.platform} board = ${common.board} upload_speed = ${common.upload_speed} @@ -58,7 +71,7 @@ lib_deps = ${common.lib_deps} painlessMesh [env:release] -src_filter = +<*> - + +src_filter = +<*> - + platform = ${common.platform} board = ${common.board} upload_speed = ${common.upload_speed} @@ -70,15 +83,16 @@ lib_deps = ${common.lib_deps} https://gitlab.com/wirelos/sprocket-plugin-web.git -;[env:mqttcat] -;src_filter = +<*> - + -;platform = ${common.platform} -;board = ${common.board} -;upload_speed = ${common.upload_speed} -;monitor_baud = ${common.monitor_baud} -;framework = ${common.framework} -;build_flags = -Wl,-Teagle.flash.4m1m.ld -; -DSPROCKET_PRINT=1 -;lib_deps = ${common.lib_deps} -; https://gitlab.com/wirelos/sprocket-lib.git#develop -; PubSubClient \ No newline at end of file +[env:mqcatt] +src_filter = +<*> - + +platform = ${common.platform} +board = ${common.board} +upload_speed = ${common.upload_speed} +monitor_baud = ${common.monitor_baud} +framework = ${common.framework} +build_flags = -Wl,-Teagle.flash.4m1m.ld + -DSPROCKET_PRINT=1 +lib_deps = ${common.lib_deps} + https://gitlab.com/wirelos/sprocket-plugin-web.git + https://gitlab.com/wirelos/sprocket-plugin-mqtt.git + PubSubClient \ No newline at end of file diff --git a/src/var/mqcatt/main.cpp b/src/var/mqcatt/main.cpp new file mode 100644 index 0000000..e7b1e76 --- /dev/null +++ b/src/var/mqcatt/main.cpp @@ -0,0 +1,52 @@ +#include "mqcatt_config.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +WiFiNet *network; +Sprocket *sprocket; +AsyncWebServer *server; +WebServerPlugin *webServerPlugin; +WebConfigPlugin *webConfigPlugin; +WebApiPlugin *webApiPlugin; +PixelPlugin *pixelPlugin; +MqttPlugin *mqttPlugin; + +void setup() +{ + sprocket = new Sprocket({STARTUP_DELAY, SERIAL_BAUD_RATE}); + pixelPlugin = new PixelPlugin({LED_STRIP_PIN, LED_STRIP_LENGTH, LED_STRIP_BRIGHTNESS, LED_STRIP_UPDATE_INTERVAL}); + mqttPlugin = new MqttPlugin({MQTT_CLIENT_NAME, MQTT_HOST, MQTT_PORT, MQTT_TOPIC_IN, MQTT_TOPIC_OUT}); + webServerPlugin = new WebServerPlugin({WEB_DOC_ROOT, WEB_CONTEXT_PATH, WEB_DEFAULT_FILE, WEB_PORT}); + webConfigPlugin = new WebConfigPlugin(webServerPlugin->server); + webApiPlugin = new WebApiPlugin(webServerPlugin->server); + sprocket->addPlugin(pixelPlugin); + sprocket->addPlugin(webServerPlugin); + sprocket->addPlugin(webConfigPlugin); + sprocket->addPlugin(webApiPlugin); + sprocket->addPlugin(mqttPlugin); + + network = new WiFiNet( + WIFI_MODE, + STATION_SSID, + STATION_PASSWORD, + AP_SSID, + AP_PASSWORD, + HOSTNAME, + CONNECT_TIMEOUT); + network->connect(); + + sprocket->activate(); +} + +void loop() +{ + sprocket->loop(); + yield(); +} \ No newline at end of file diff --git a/src/var/mqcatt/mqcatt_config.h b/src/var/mqcatt/mqcatt_config.h new file mode 100644 index 0000000..f6e26c5 --- /dev/null +++ b/src/var/mqcatt/mqcatt_config.h @@ -0,0 +1,55 @@ +#ifndef __MQCATT_CONFIG__ +#define __MQCATT_CONFIG__ + +// Scheduler config +#define _TASK_SLEEP_ON_IDLE_RUN +#define _TASK_STD_FUNCTION +#define _TASK_PRIORITY + +// Chip config +#define SPROCKET_TYPE "ILLUCAT" +#define SERIAL_BAUD_RATE 115200 +#define STARTUP_DELAY 1000 + +// Network config +#define WIFI_MODE 0 +#define WIFI_CHANNEL 11 +#define AP_SSID "illucat" +#define AP_PASSWORD "illumination" +#define MESH_PREFIX "illucat-mesh" +#define MESH_PASSWORD "th3r31sn0sp00n" +#define STATION_SSID "MyAP" +#define STATION_PASSWORD "th3r31sn0sp00n" +#define HOSTNAME "illucat" +#define CONNECT_TIMEOUT 10000 + +// pixel config +#define PIXEL_CONFIG_FILE "/pixelConfig.json" + +// mqtt config +#define MQTT_CLIENT_NAME "mqcatt" +#define MQTT_HOST "192.168.1.2" +#define MQTT_PORT 1883 +#define MQTT_TOPIC_IN "wirelos/illucat-in/" +#define MQTT_TOPIC_OUT "wirelos/illucat-out/" + +// OTA config +#define OTA_PORT 8266 +#define OTA_PASSWORD "" + +// WebServer +#define WEB_CONTEXT_PATH "/" +#define WEB_DOC_ROOT "/www" +#define WEB_DEFAULT_FILE "index.html" +#define WEB_PORT 80 + +// NeoPixel +#define LED_STRIP_PIN D2 +#define LED_STRIP_LENGTH 8 +#define LED_STRIP_BRIGHTNESS 48 +#define LED_STRIP_UPDATE_INTERVAL 200 +#define LED_STRIP_DEFAULT_COLOR 100 +#define COLOR_CONNECTED LED_STRIP_DEFAULT_COLOR +#define COLOR_NOT_CONNECTED 255 + +#endif \ No newline at end of file diff --git a/src/wifi/main.cpp b/src/var/wifi/main.cpp similarity index 100% rename from src/wifi/main.cpp rename to src/var/wifi/main.cpp diff --git a/src/wifiMesh/main.cpp b/src/var/wifiMesh/main.cpp similarity index 100% rename from src/wifiMesh/main.cpp rename to src/var/wifiMesh/main.cpp