diff --git a/PrepareProject.py b/PrepareProject.py index 6f592233..601d50ad 100644 --- a/PrepareProject.py +++ b/PrepareProject.py @@ -98,8 +98,7 @@ else: # устанавливаем параметры сборки profJson['projectProp'] = { 'platformio': { - 'default_envs': 'esp8266_4mb', - 'data_dir': 'data_svelte' + 'default_envs': 'esp8266_4mb' } } # загружаем список модулей для сборки @@ -107,23 +106,35 @@ else: # сохраняем новый профиль with open(profile, "w", encoding='utf-8') as write_file: json.dump(profJson, write_file, ensure_ascii=False, indent=4, sort_keys=False) - + + +# определяем какое устройство используется в профиле +deviceName = profJson['projectProp']['platformio']['default_envs'] + +# назначаем папку с файлами прошивки в зависимости от устройства и запоминаем в профиле +dataDir = 'data_svelte' +if deviceName == 'esp8266_1mb_ota': + dataDir = 'data_svelte_lite' +profJson['projectProp'] = { + 'platformio': { + 'data_dir': dataDir + } +} # генерируем файлы проекта на основе подготовленного профиля # заполняем конфигурационный файл прошивки параметрами из профиля -with open("data_svelte/settings.json", "r", encoding='utf-8') as read_file: +with open(dataDir + "/settings.json", "r", encoding='utf-8') as read_file: iotmJson = json.load(read_file) for key, value in profJson['iotmSettings'].items(): iotmJson[key] = value -with open("data_svelte/settings.json", "w", encoding='utf-8') as write_file: +with open(dataDir + "/settings.json", "w", encoding='utf-8') as write_file: json.dump(iotmJson, write_file, ensure_ascii=False, indent=4, sort_keys=False) -# определяем какое устройство используется в профиле -deviceName = profJson['projectProp']['platformio']['default_envs'] + # собираем меню прошивки из модулей # параллельно формируем список имен активных модулей -# параллельно собираем необходимые активным модулям библиотеки для включения в компиляцию для текущего типа устройства (esp8266_4m, esp32_4mb) +# параллельно собираем необходимые активным модулям библиотеки для включения в компиляцию для текущего типа устройства (esp8266_4m, esp32_4mb, esp8266_1m, esp8266_1m_ota) activeModulesName = [] # список имен активных модулей allLibs = "" # подборка всех библиотек необходимых модулям для дальнейшей записи в конфигурацию platformio itemsCount = 1; @@ -145,7 +156,7 @@ for section, modules in profJson['modules'].items(): configItemsJson['name'] = str(itemsCount) + ". " + configItemsJson['name'] itemsCount = itemsCount + 1 itemsJson.append(configItemsJson) -with open("data_svelte/items.json", "w", encoding='utf-8') as write_file: +with open(dataDir + "/items.json", "w", encoding='utf-8') as write_file: json.dump(itemsJson, write_file, ensure_ascii=False, indent=4, sort_keys=False) diff --git a/data_svelte/settings.json b/data_svelte/settings.json index bfeb5544..f83115c2 100644 --- a/data_svelte/settings.json +++ b/data_svelte/settings.json @@ -18,5 +18,6 @@ "mqttin": 0, "pinSCL": 0, "pinSDA": 0, - "i2cFreq": 100000 + "i2cFreq": 100000, + "settings_": "" } \ No newline at end of file diff --git a/data_svelte_lite/config.json b/data_svelte_lite/config.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/data_svelte_lite/config.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/data_svelte_lite/dev_conf.txt b/data_svelte_lite/dev_conf.txt new file mode 100644 index 00000000..e69de29b diff --git a/data_svelte_lite/edit.htm.gz b/data_svelte_lite/edit.htm.gz new file mode 100644 index 00000000..d41d10c1 Binary files /dev/null and b/data_svelte_lite/edit.htm.gz differ diff --git a/data_svelte_lite/index.html b/data_svelte_lite/index.html new file mode 100644 index 00000000..392246f4 --- /dev/null +++ b/data_svelte_lite/index.html @@ -0,0 +1,16 @@ + + + + + + + IoT Manager 4.4.1 + + + + + + + + + diff --git a/data_svelte_lite/items.json b/data_svelte_lite/items.json new file mode 100644 index 00000000..88457c56 --- /dev/null +++ b/data_svelte_lite/items.json @@ -0,0 +1,28 @@ +[ + { + "name": "Выберите элемент", + "num": 0 + }, + { + "header": "Виртуальные элементы" + }, + { + "header": "Сенсоры" + }, + { + "name": "1. Сканер кнопок 433 MHz", + "num": 1, + "type": "Reading", + "subtype": "RCswitch", + "id": "rsw", + "int": 500, + "pinRx": 12, + "pinTx": 12 + }, + { + "header": "Исполнительные устройства" + }, + { + "header": "Экраны" + } +] \ No newline at end of file diff --git a/data_svelte_lite/scenario.txt b/data_svelte_lite/scenario.txt new file mode 100644 index 00000000..e69de29b diff --git a/data_svelte_lite/settings.json b/data_svelte_lite/settings.json new file mode 100644 index 00000000..f83115c2 --- /dev/null +++ b/data_svelte_lite/settings.json @@ -0,0 +1,23 @@ +{ + "name": "IoTmanagerVer4", + "apssid": "IoTmanager", + "appass": "", + "routerssid": "rise", + "routerpass": "hostel3333", + "timezone": 2, + "ntp": "pool.ntp.org", + "weblogin": "admin", + "webpass": "admin", + "mqttServer": "m2.wqtt.ru", + "mqttPort": 8021, + "mqttPrefix": "/risenew", + "mqttUser": "rise", + "mqttPass": "3hostel3", + "serverip": "http://iotmanager.org", + "log": 0, + "mqttin": 0, + "pinSCL": 0, + "pinSDA": 0, + "i2cFreq": 100000, + "settings_": "" +} \ No newline at end of file diff --git a/data_svelte_lite/widgets.json b/data_svelte_lite/widgets.json new file mode 100644 index 00000000..cab0dbe2 --- /dev/null +++ b/data_svelte_lite/widgets.json @@ -0,0 +1,216 @@ +[ + { + "name": "anydataRed", + "label": "Сообщение1", + "widget": "anydata", + "icon": "body", + "color": "red", + "descrColor": "red" + }, + { + "name": "anydataDgr", + "label": "Сообщение2", + "widget": "anydata", + "after": "", + "color": "red", + "icon": "walk" + }, + { + "name": "anydataDef", + "label": "Текст", + "widget": "anydata", + "after": "", + "icon": "" + }, + { + "name": "anydataVlt", + "label": "Вольты", + "widget": "anydata", + "after": "V", + "icon": "speedometer" + }, + { + "name": "anydataAmp", + "label": "Амперы", + "widget": "anydata", + "after": "A", + "icon": "speedometer" + }, + { + "name": "anydataWt", + "label": "Ватты", + "widget": "anydata", + "after": "Wt", + "icon": "speedometer" + }, + { + "name": "anydataWth", + "label": "Энергия", + "widget": "anydata", + "after": "kWt/Hr", + "icon": "speedometer" + }, + { + "name": "anydataHtz", + "label": "Герцы", + "widget": "anydata", + "after": "Hz", + "icon": "speedometer" + }, + { + "name": "anydataTmp", + "label": "Температура", + "widget": "anydata", + "after": "°С", + "icon": "thermometer" + }, + { + "name": "anydataMm", + "label": "Давление", + "widget": "anydata", + "after": "mm", + "icon": "speedometer" + }, + { + "name": "anydataHum", + "label": "Влажность", + "widget": "anydata", + "after": "%", + "icon": "water", + "color": "#88AADF" + }, + { + "name": "anydataTm", + "label": "Время", + "widget": "anydata", + "after": "", + "icon": "speedometer" + }, + { + "name": "button", + "label": "Кнопка", + "widget": "btn", + "size": "large", + "color": "green", + "send": "test" + }, + { + "name": "toggle", + "label": "Переключатель", + "widget": "toggle", + "icon": "", + "iconOff": "" + }, + { + "name": "chart1", + "label": "График без точек", + "widget": "chart", + "dateFormat": "HH:mm", + "maxCount": 86400, + "pointRadius": 0 + }, + { + "name": "chart2", + "label": "График с точками", + "widget": "chart", + "maxCount": 86400, + "dateFormat": "HH:mm" + }, + { + "name": "chart3", + "label": "График Дневной", + "widget": "chart", + "dateFormat": "DD.MM.YYYY", + "maxCount": 86400, + "type": "bar" + }, + { + "name": "fillgauge", + "label": "Бочка", + "widget": "fillgauge", + "circleColor": "#00FFFF", + "textColor": "#FFFFFF", + "waveTextColor": "#000000", + "waveColor": "#00FFFF" + }, + { + "name": "inputDate", + "label": "Ввод даты", + "widget": "input", + "size": "small", + "color": "orange", + "type": "date" + }, + { + "name": "inputDgt", + "label": "Ввод числа", + "widget": "input", + "color": "blue", + "type": "number" + }, + { + "name": "inputTxt", + "label": "Ввод текста", + "widget": "input", + "size": "small", + "color": "orange", + "type": "text" + }, + { + "name": "inputTm", + "label": "Ввод времени", + "widget": "input", + "color": "blue", + "type": "time" + }, + { + "name": "progressLine", + "label": "Статус линия", + "widget": "progress-line", + "icon": "sunny", + "max": "100", + "stroke": "10" + }, + { + "name": "progressRound", + "label": "Статус круг", + "widget": "progress-round", + "max": "100", + "stroke": "20", + "color": "#45ccce", + "background": "#777", + "semicircle": "1" + }, + { + "name": "range", + "label": "Ползунок", + "widget": "range", + "descrColor": "red", + "after": "%", + "k": 0.0977, + "min": 0, + "max": 100, + "debounce": 500 + }, + { + "name": "select", + "label": "Выпадающий", + "widget": "select", + "options": [ + "Выключен", + "Включен" + ], + "status": 0 + }, + { + "name": "anydataPpm", + "label": "PPM", + "widget": "anydata", + "after": "ppm", + "icon": "speedometer" + }, + { + "name": "nil", + "label": "Без виджета" + } +] \ No newline at end of file diff --git a/myProfile.json b/myProfile.json index 18e1f5bc..2ed11eec 100644 --- a/myProfile.json +++ b/myProfile.json @@ -24,8 +24,7 @@ }, "projectProp": { "platformio": { - "default_envs": "esp8266_4mb", - "data_dir": "data_svelte" + "default_envs": "esp8266_4mb" } }, "modules": { diff --git a/platformio.ini b/platformio.ini index 971984a1..476daacb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,3 +1,45 @@ +[env:esp8266_1mb_ota] +lib_deps = + ${common_env_data.lib_deps_external} + ${env:esp8266_1mb_ota_fromitems.lib_deps} + ESPAsyncUDP +build_flags = -Desp8266_4mb="esp8266_4mb" +framework = arduino +board = nodemcuv2 +board_build.ldscript = eagle.flash.1m64.ld +platform = espressif8266 @4.0.1 +monitor_filters = esp8266_exception_decoder +upload_speed = 921600 +monitor_speed = 115200 +board_build.filesystem = littlefs +build_src_filter = + +<*.cpp> + + + + + + + ${env:esp8266_1mb_ota_fromitems.build_src_filter} + +[env:esp8266_1mb] +lib_deps = + ${common_env_data.lib_deps_external} + ${env:esp8266_1mb_fromitems.lib_deps} + ESPAsyncUDP +build_flags = -Desp8266_4mb="esp8266_4mb" +framework = arduino +board = nodemcuv2 +board_build.ldscript = eagle.flash.1m256.ld +platform = espressif8266 @4.0.1 +monitor_filters = esp8266_exception_decoder +upload_speed = 921600 +monitor_speed = 115200 +board_build.filesystem = littlefs +build_src_filter = + +<*.cpp> + + + + + + + ${env:esp8266_1mb_fromitems.build_src_filter} + [env:esp8266_4mb] lib_deps = ${common_env_data.lib_deps_external} @@ -50,6 +92,18 @@ lib_deps_external = bblanchon/ArduinoJson @6.18.0 knolleary/PubSubClient +[env:esp8266_1mb_ota_fromitems] +lib_deps = + rc-switch @ ^2.6.4 +build_src_filter = + + + +[env:esp8266_1mb_fromitems] +lib_deps = + rc-switch @ ^2.6.4 +build_src_filter = + + + [env:esp8266_4mb_fromitems] lib_deps = https://github.com/enjoyneering/AHTxx.git