mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Добавляем профили плат esp01 с и без OTA
This commit is contained in:
@@ -98,8 +98,7 @@ else:
|
|||||||
# устанавливаем параметры сборки
|
# устанавливаем параметры сборки
|
||||||
profJson['projectProp'] = {
|
profJson['projectProp'] = {
|
||||||
'platformio': {
|
'platformio': {
|
||||||
'default_envs': 'esp8266_4mb',
|
'default_envs': 'esp8266_4mb'
|
||||||
'data_dir': 'data_svelte'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# загружаем список модулей для сборки
|
# загружаем список модулей для сборки
|
||||||
@@ -107,23 +106,35 @@ else:
|
|||||||
# сохраняем новый профиль
|
# сохраняем новый профиль
|
||||||
with open(profile, "w", encoding='utf-8') as write_file:
|
with open(profile, "w", encoding='utf-8') as write_file:
|
||||||
json.dump(profJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
|
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)
|
iotmJson = json.load(read_file)
|
||||||
for key, value in profJson['iotmSettings'].items():
|
for key, value in profJson['iotmSettings'].items():
|
||||||
iotmJson[key] = value
|
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)
|
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 = [] # список имен активных модулей
|
activeModulesName = [] # список имен активных модулей
|
||||||
allLibs = "" # подборка всех библиотек необходимых модулям для дальнейшей записи в конфигурацию platformio
|
allLibs = "" # подборка всех библиотек необходимых модулям для дальнейшей записи в конфигурацию platformio
|
||||||
itemsCount = 1;
|
itemsCount = 1;
|
||||||
@@ -145,7 +156,7 @@ for section, modules in profJson['modules'].items():
|
|||||||
configItemsJson['name'] = str(itemsCount) + ". " + configItemsJson['name']
|
configItemsJson['name'] = str(itemsCount) + ". " + configItemsJson['name']
|
||||||
itemsCount = itemsCount + 1
|
itemsCount = itemsCount + 1
|
||||||
itemsJson.append(configItemsJson)
|
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)
|
json.dump(itemsJson, write_file, ensure_ascii=False, indent=4, sort_keys=False)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,5 +18,6 @@
|
|||||||
"mqttin": 0,
|
"mqttin": 0,
|
||||||
"pinSCL": 0,
|
"pinSCL": 0,
|
||||||
"pinSDA": 0,
|
"pinSDA": 0,
|
||||||
"i2cFreq": 100000
|
"i2cFreq": 100000,
|
||||||
|
"settings_": ""
|
||||||
}
|
}
|
||||||
1
data_svelte_lite/config.json
Normal file
1
data_svelte_lite/config.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
0
data_svelte_lite/dev_conf.txt
Normal file
0
data_svelte_lite/dev_conf.txt
Normal file
BIN
data_svelte_lite/edit.htm.gz
Normal file
BIN
data_svelte_lite/edit.htm.gz
Normal file
Binary file not shown.
16
data_svelte_lite/index.html
Normal file
16
data_svelte_lite/index.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||||
|
|
||||||
|
<title>IoT Manager 4.4.1</title>
|
||||||
|
|
||||||
|
<link rel="icon" type="image/png" href="https://iotmanager.org/favicon.ico" />
|
||||||
|
<link rel="stylesheet" href="https://iotmanager.org/build/bundle.css?441" />
|
||||||
|
|
||||||
|
<script defer src="https://iotmanager.org/build/bundle.js?441"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body></body>
|
||||||
|
</html>
|
||||||
28
data_svelte_lite/items.json
Normal file
28
data_svelte_lite/items.json
Normal file
@@ -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": "Экраны"
|
||||||
|
}
|
||||||
|
]
|
||||||
0
data_svelte_lite/scenario.txt
Normal file
0
data_svelte_lite/scenario.txt
Normal file
23
data_svelte_lite/settings.json
Normal file
23
data_svelte_lite/settings.json
Normal file
@@ -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_": ""
|
||||||
|
}
|
||||||
216
data_svelte_lite/widgets.json
Normal file
216
data_svelte_lite/widgets.json
Normal file
@@ -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": "Без виджета"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -24,8 +24,7 @@
|
|||||||
},
|
},
|
||||||
"projectProp": {
|
"projectProp": {
|
||||||
"platformio": {
|
"platformio": {
|
||||||
"default_envs": "esp8266_4mb",
|
"default_envs": "esp8266_4mb"
|
||||||
"data_dir": "data_svelte"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"modules": {
|
"modules": {
|
||||||
|
|||||||
@@ -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>
|
||||||
|
+<classes/*.cpp>
|
||||||
|
+<utils/*.cpp>
|
||||||
|
+<modules/*.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>
|
||||||
|
+<classes/*.cpp>
|
||||||
|
+<utils/*.cpp>
|
||||||
|
+<modules/*.cpp>
|
||||||
|
${env:esp8266_1mb_fromitems.build_src_filter}
|
||||||
|
|
||||||
[env:esp8266_4mb]
|
[env:esp8266_4mb]
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_external}
|
${common_env_data.lib_deps_external}
|
||||||
@@ -50,6 +92,18 @@ lib_deps_external =
|
|||||||
bblanchon/ArduinoJson @6.18.0
|
bblanchon/ArduinoJson @6.18.0
|
||||||
knolleary/PubSubClient
|
knolleary/PubSubClient
|
||||||
|
|
||||||
|
[env:esp8266_1mb_ota_fromitems]
|
||||||
|
lib_deps =
|
||||||
|
rc-switch @ ^2.6.4
|
||||||
|
build_src_filter =
|
||||||
|
+<modules/sensors/RCswitch>
|
||||||
|
|
||||||
|
[env:esp8266_1mb_fromitems]
|
||||||
|
lib_deps =
|
||||||
|
rc-switch @ ^2.6.4
|
||||||
|
build_src_filter =
|
||||||
|
+<modules/sensors/RCswitch>
|
||||||
|
|
||||||
[env:esp8266_4mb_fromitems]
|
[env:esp8266_4mb_fromitems]
|
||||||
lib_deps =
|
lib_deps =
|
||||||
https://github.com/enjoyneering/AHTxx.git
|
https://github.com/enjoyneering/AHTxx.git
|
||||||
|
|||||||
Reference in New Issue
Block a user