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/items.json b/data_svelte/items.json index 01f1ca76..fd9eb626 100644 --- a/data_svelte/items.json +++ b/data_svelte/items.json @@ -7,34 +7,7 @@ "header": "Виртуальные элементы" }, { - "name": "1. График", - "type": "Writing", - "subtype": "Loging", - "id": "log", - "widget": "chart2", - "page": "Графики", - "descr": "Температура", - "num": 1, - "int": 5, - "logid": "t", - "points": 300 - }, - { - "name": "2. График дневного расхода", - "type": "Writing", - "subtype": "LogingDaily", - "id": "log", - "widget": "chart3", - "page": "Графики", - "descr": "Температура", - "num": 2, - "int": 1, - "logid": "t", - "points": 365, - "test": 0 - }, - { - "name": "3. Таймер", + "name": "1. Таймер", "type": "Writing", "subtype": "Timer", "id": "timer", @@ -46,10 +19,10 @@ "ticker": 1, "repeat": 1, "needSave": 0, - "num": 3 + "num": 1 }, { - "name": "4. Окно ввода числа (переменная)", + "name": "2. Окно ввода числа (переменная)", "type": "Reading", "subtype": "Variable", "id": "value", @@ -58,10 +31,10 @@ "descr": "Введите число", "int": "0", "val": "0.0", - "num": 4 + "num": 2 }, { - "name": "5. Окно ввода времени", + "name": "3. Окно ввода времени", "type": "Reading", "subtype": "Variable", "id": "time", @@ -70,10 +43,10 @@ "descr": "Введите время", "int": "0", "val": "02:00", - "num": 5 + "num": 3 }, { - "name": "6. Окно ввода даты", + "name": "4. Окно ввода даты", "type": "Reading", "subtype": "Variable", "id": "time", @@ -82,10 +55,10 @@ "descr": "Введите дату", "int": "0", "val": "24.05.2022", - "num": 6 + "num": 4 }, { - "name": "7. Окно ввода текста", + "name": "5. Окно ввода текста", "type": "Reading", "subtype": "Variable", "id": "txt", @@ -94,10 +67,10 @@ "descr": "Введите текст", "int": "0", "val": "текст", - "num": 7 + "num": 5 }, { - "name": "8. Виртуальная кнопка", + "name": "6. Виртуальная кнопка", "type": "Reading", "subtype": "VButton", "id": "vbtn", @@ -106,162 +79,13 @@ "descr": "Кнопка", "int": "0", "val": "0", - "num": 8 + "num": 6 }, { "header": "Сенсоры" }, { - "name": "9. Acs712 Ток", - "type": "Reading", - "subtype": "Acs712", - "id": "amp", - "widget": "anydataAmp", - "page": "Сенсоры", - "descr": "Ток", - "round": 3, - "pin": 39, - "int": 5, - "num": 9 - }, - { - "name": "10. AHTXX Температура", - "type": "Reading", - "subtype": "AhtXXt", - "id": "Temp20", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "AHTXX Температура", - "int": 15, - "addr": "0x38", - "shtType": 1, - "round": 1, - "num": 10 - }, - { - "name": "11. AHTXX Влажность", - "type": "Reading", - "subtype": "AhtXXh", - "id": "Hum20", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "AHTXX Влажность", - "int": 15, - "addr": "0x38", - "shtType": 1, - "round": 1, - "num": 11 - }, - { - "name": "12. Аналоговый сенсор", - "type": "Reading", - "subtype": "AnalogAdc", - "id": "t", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "map": "1,1024,1,100", - "plus": 0, - "multiply": 1, - "round": 1, - "pin": 0, - "int": 15, - "avgSteps": 1, - "num": 12 - }, - { - "name": "13. BME280 Температура", - "type": "Reading", - "subtype": "Bme280t", - "id": "tmp3", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "int": 15, - "addr": "0x77", - "round": 1, - "num": 13 - }, - { - "name": "14. BME280 Давление", - "type": "Reading", - "subtype": "Bme280p", - "id": "Press3", - "widget": "anydataMm", - "page": "Сенсоры", - "descr": "Давление", - "int": 15, - "addr": "0x77", - "round": 1, - "num": 14 - }, - { - "name": "15. BME280 Влажность", - "type": "Reading", - "subtype": "Bme280h", - "id": "Hum3", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "Влажность", - "int": 15, - "addr": "0x77", - "round": 1, - "num": 15 - }, - { - "name": "16. BMP280 Температура", - "type": "Reading", - "subtype": "Bmp280t", - "id": "tmp3", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "280 Температура", - "int": 15, - "addr": "0x77", - "round": 1, - "num": 16 - }, - { - "name": "17. BMP280 Давление", - "type": "Reading", - "subtype": "Bmp280p", - "id": "Press3", - "widget": "anydataMm", - "page": "Сенсоры", - "descr": "280 Давление", - "int": 15, - "addr": "0x77", - "round": 1, - "num": 17 - }, - { - "name": "18. DHT11 Температура", - "type": "Reading", - "subtype": "Dht1122t", - "id": "tmp3", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "int": 15, - "pin": 0, - "senstype": "dht11", - "num": 18 - }, - { - "name": "19. DHT11 Влажность", - "type": "Reading", - "subtype": "Dht1122h", - "id": "Hum3", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "Влажность", - "int": 15, - "pin": 0, - "senstype": "dht11", - "num": 19 - }, - { - "name": "20. DS18B20 Температура", + "name": "7. DS18B20 Температура", "type": "Reading", "subtype": "Ds18b20", "id": "dstmp", @@ -273,153 +97,11 @@ "index": 0, "addr": "", "round": 1, - "num": 20 + "num": 7 }, { - "name": "21. GY21 Температура", - "type": "Reading", - "subtype": "GY21t", - "id": "tmp4", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "round": 1, - "int": 15, - "num": 21 - }, - { - "name": "22. GY21 Влажность", - "type": "Reading", - "subtype": "GY21h", - "id": "Hum4", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "Влажность", - "round": 1, - "int": 15, - "num": 22 - }, - { - "name": "23. HDC1080 Температура", - "type": "Reading", - "subtype": "Hdc1080t", - "id": "Temp1080", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "1080 Температура", - "int": 15, - "addr": "0x40", - "round": 1, - "num": 23 - }, - { - "name": "24. HDC1080 Влажность", - "type": "Reading", - "subtype": "Hdc1080h", - "id": "Hum1080", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "1080 Влажность", - "int": 15, - "addr": "0x40", - "round": 1, - "num": 24 - }, - { - "name": "25. MAX6675 Температура", - "type": "Reading", - "subtype": "Max6675t", - "id": "maxtmp", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "MAX Температура", - "int": 15, - "DO": 12, - "CS": 13, - "CLK": 14, - "num": 25 - }, - { - "name": "26. PZEM 004t Напряжение", - "type": "Reading", - "subtype": "Pzem004v", - "id": "v", - "widget": "anydataVlt", - "page": "PZEM", - "descr": "Напряжение", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 26 - }, - { - "name": "27. PZEM 004t Сила тока", - "type": "Reading", - "subtype": "Pzem004a", - "id": "a", - "widget": "anydataAmp", - "page": "PZEM", - "descr": "Сила тока", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 27 - }, - { - "name": "28. PZEM 004t Мощность", - "type": "Reading", - "subtype": "Pzem004w", - "id": "w", - "widget": "anydataWt", - "page": "PZEM", - "descr": "Мощность", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 28 - }, - { - "name": "29. PZEM 004t Энергия", - "type": "Reading", - "subtype": "Pzem004wh", - "id": "wh", - "widget": "anydataWth", - "page": "PZEM", - "descr": "Энергия", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 29 - }, - { - "name": "30. PZEM 004t Частота", - "type": "Reading", - "subtype": "Pzem004hz", - "id": "hz", - "widget": "anydataHtz", - "page": "PZEM", - "descr": "Частота", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 30 - }, - { - "name": "31. PZEM 004t Косинус", - "type": "Reading", - "subtype": "Pzem004pf", - "id": "pf", - "widget": "anydata", - "page": "PZEM", - "descr": "Косинус F", - "int": 15, - "addr": "0xF8", - "round": 1, - "num": 31 - }, - { - "name": "32. Сканер кнопок 433 MHz", - "num": 32, + "name": "8. Сканер кнопок 433 MHz", + "num": 8, "type": "Reading", "subtype": "RCswitch", "id": "rsw", @@ -428,56 +110,8 @@ "pinTx": 12 }, { - "name": "33. Sht20 Температура", - "type": "Reading", - "subtype": "Sht20t", - "id": "tmp2", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "int": 15, - "round": 1, - "num": 33 - }, - { - "name": "34. Sht20 Влажность", - "type": "Reading", - "subtype": "Sht20h", - "id": "Hum2", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "Влажность", - "int": 15, - "round": 1, - "num": 34 - }, - { - "name": "35. Sht30 Температура", - "type": "Reading", - "subtype": "Sht30t", - "id": "tmp30", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "SHT30 Температура", - "int": 15, - "round": 1, - "num": 35 - }, - { - "name": "36. Sht30 Влажность", - "type": "Reading", - "subtype": "Sht30h", - "id": "Hum30", - "widget": "anydataHum", - "page": "Сенсоры", - "descr": "SHT30 Влажность", - "int": 15, - "round": 1, - "num": 36 - }, - { - "name": "37. HC-SR04 Ультразвуковой дальномер", - "num": 37, + "name": "9. HC-SR04 Ультразвуковой дальномер", + "num": 9, "type": "Reading", "subtype": "Sonar", "id": "sonar", @@ -488,24 +122,11 @@ "pinEcho": 4, "int": 5 }, - { - "name": "38. UART", - "type": "Reading", - "subtype": "UART", - "page": "", - "descr": "", - "widget": "nil", - "id": "u", - "tx": 12, - "rx": 13, - "speed": 9600, - "num": 38 - }, { "header": "Исполнительные устройства" }, { - "name": "39. Кнопка подключенная к пину", + "name": "10. Кнопка подключенная к пину", "type": "Writing", "subtype": "ButtonIn", "id": "btn", @@ -518,10 +139,10 @@ "pinMode": "INPUT", "debounceDelay": 50, "fixState": 0, - "num": 39 + "num": 10 }, { - "name": "40. Управление пином", + "name": "11. Управление пином", "type": "Writing", "subtype": "ButtonOut", "id": "btn", @@ -531,24 +152,10 @@ "int": 0, "inv": 0, "pin": 2, - "num": 40 + "num": 11 }, { - "name": "41. Сервопривод", - "type": "Writing", - "subtype": "IoTServo", - "id": "servo", - "widget": "range", - "page": "servo", - "descr": "угол", - "int": 1, - "pin": 12, - "apin": -1, - "amap": "0, 4096, 0, 180", - "num": 41 - }, - { - "name": "42. Расширитель портов Mcp23017", + "name": "12. Расширитель портов Mcp23017", "type": "Reading", "subtype": "Mcp23017", "id": "Mcp", @@ -558,23 +165,10 @@ "int": "0", "addr": "0x20", "index": 1, - "num": 42 + "num": 12 }, { - "name": "43. MP3 плеер", - "type": "Reading", - "subtype": "Mp3", - "id": "mp3", - "widget": "", - "page": "", - "descr": "", - "int": 1, - "pins": "14,12", - "volume": 20, - "num": 43 - }, - { - "name": "44. Расширитель портов Pcf8574", + "name": "13. Расширитель портов Pcf8574", "type": "Reading", "subtype": "Pcf8574", "id": "Pcf", @@ -584,10 +178,10 @@ "int": "0", "addr": "0x20", "index": 1, - "num": 44 + "num": 13 }, { - "name": "45. PWM ESP8266", + "name": "14. PWM ESP8266", "type": "Writing", "subtype": "Pwm8266", "id": "pwm", @@ -599,10 +193,10 @@ "freq": 5000, "val": 0, "apin": -1, - "num": 45 + "num": 14 }, { - "name": "46. Телеграм-Лайт", + "name": "15. Телеграм-Лайт", "type": "Writing", "subtype": "TelegramLT", "id": "tg", @@ -611,13 +205,13 @@ "descr": "", "token": "", "chatID": "", - "num": 46 + "num": 15 }, { "header": "Экраны" }, { - "name": "47. LCD экран 2004", + "name": "16. LCD экран 2004", "type": "Reading", "subtype": "Lcd2004", "id": "Lcd", @@ -629,10 +223,10 @@ "size": "20,4", "coord": "0,0", "id2show": "id датчика", - "num": 47 + "num": 16 }, { - "name": "48. LCD экран 1602", + "name": "17. LCD экран 1602", "type": "Reading", "subtype": "Lcd2004", "id": "Lcd", @@ -644,6 +238,6 @@ "size": "16,2", "coord": "0,0", "id2show": "id датчика", - "num": 48 + "num": 17 } ] \ 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..38ef3291 --- /dev/null +++ b/data_svelte_lite/index.html @@ -0,0 +1,41 @@ + + + + + + + + IoT Manager 4.4.1 + + + + + + +
+
+

Настройка WiFi


+
+ +

+
+ +


+ +
+
+ + diff --git a/data_svelte_lite/items.json b/data_svelte_lite/items.json new file mode 100644 index 00000000..fd9eb626 --- /dev/null +++ b/data_svelte_lite/items.json @@ -0,0 +1,243 @@ +[ + { + "name": "Выберите элемент", + "num": 0 + }, + { + "header": "Виртуальные элементы" + }, + { + "name": "1. Таймер", + "type": "Writing", + "subtype": "Timer", + "id": "timer", + "widget": "anydataDef", + "page": "Таймеры", + "descr": "Таймер", + "int": 1, + "countDown": 15, + "ticker": 1, + "repeat": 1, + "needSave": 0, + "num": 1 + }, + { + "name": "2. Окно ввода числа (переменная)", + "type": "Reading", + "subtype": "Variable", + "id": "value", + "widget": "inputDgt", + "page": "Ввод", + "descr": "Введите число", + "int": "0", + "val": "0.0", + "num": 2 + }, + { + "name": "3. Окно ввода времени", + "type": "Reading", + "subtype": "Variable", + "id": "time", + "widget": "inputTm", + "page": "Ввод", + "descr": "Введите время", + "int": "0", + "val": "02:00", + "num": 3 + }, + { + "name": "4. Окно ввода даты", + "type": "Reading", + "subtype": "Variable", + "id": "time", + "widget": "inputDate", + "page": "Ввод", + "descr": "Введите дату", + "int": "0", + "val": "24.05.2022", + "num": 4 + }, + { + "name": "5. Окно ввода текста", + "type": "Reading", + "subtype": "Variable", + "id": "txt", + "widget": "inputTxt", + "page": "Ввод", + "descr": "Введите текст", + "int": "0", + "val": "текст", + "num": 5 + }, + { + "name": "6. Виртуальная кнопка", + "type": "Reading", + "subtype": "VButton", + "id": "vbtn", + "widget": "toggle", + "page": "Кнопки", + "descr": "Кнопка", + "int": "0", + "val": "0", + "num": 6 + }, + { + "header": "Сенсоры" + }, + { + "name": "7. DS18B20 Температура", + "type": "Reading", + "subtype": "Ds18b20", + "id": "dstmp", + "widget": "anydataTmp", + "page": "Сенсоры", + "descr": "DS Температура", + "int": 15, + "pin": 2, + "index": 0, + "addr": "", + "round": 1, + "num": 7 + }, + { + "name": "8. Сканер кнопок 433 MHz", + "num": 8, + "type": "Reading", + "subtype": "RCswitch", + "id": "rsw", + "int": 500, + "pinRx": 12, + "pinTx": 12 + }, + { + "name": "9. HC-SR04 Ультразвуковой дальномер", + "num": 9, + "type": "Reading", + "subtype": "Sonar", + "id": "sonar", + "widget": "anydataTmp", + "page": "Сенсоры", + "descr": "Расстояние (см)", + "pinTrig": 5, + "pinEcho": 4, + "int": 5 + }, + { + "header": "Исполнительные устройства" + }, + { + "name": "10. Кнопка подключенная к пину", + "type": "Writing", + "subtype": "ButtonIn", + "id": "btn", + "widget": "toggle", + "page": "Кнопки", + "descr": "Освещение", + "int": 0, + "pin": 16, + "execLevel": "1", + "pinMode": "INPUT", + "debounceDelay": 50, + "fixState": 0, + "num": 10 + }, + { + "name": "11. Управление пином", + "type": "Writing", + "subtype": "ButtonOut", + "id": "btn", + "widget": "toggle", + "page": "Кнопки", + "descr": "Освещение", + "int": 0, + "inv": 0, + "pin": 2, + "num": 11 + }, + { + "name": "12. Расширитель портов Mcp23017", + "type": "Reading", + "subtype": "Mcp23017", + "id": "Mcp", + "widget": "", + "page": "", + "descr": "", + "int": "0", + "addr": "0x20", + "index": 1, + "num": 12 + }, + { + "name": "13. Расширитель портов Pcf8574", + "type": "Reading", + "subtype": "Pcf8574", + "id": "Pcf", + "widget": "", + "page": "", + "descr": "", + "int": "0", + "addr": "0x20", + "index": 1, + "num": 13 + }, + { + "name": "14. PWM ESP8266", + "type": "Writing", + "subtype": "Pwm8266", + "id": "pwm", + "widget": "range", + "page": "Кнопки", + "descr": "PWM", + "int": 0, + "pin": 15, + "freq": 5000, + "val": 0, + "apin": -1, + "num": 14 + }, + { + "name": "15. Телеграм-Лайт", + "type": "Writing", + "subtype": "TelegramLT", + "id": "tg", + "widget": "", + "page": "", + "descr": "", + "token": "", + "chatID": "", + "num": 15 + }, + { + "header": "Экраны" + }, + { + "name": "16. LCD экран 2004", + "type": "Reading", + "subtype": "Lcd2004", + "id": "Lcd", + "widget": "", + "page": "", + "descr": "T", + "int": 15, + "addr": "0x27", + "size": "20,4", + "coord": "0,0", + "id2show": "id датчика", + "num": 16 + }, + { + "name": "17. LCD экран 1602", + "type": "Reading", + "subtype": "Lcd2004", + "id": "Lcd", + "widget": "", + "page": "", + "descr": "T", + "int": 15, + "addr": "0x27", + "size": "16,2", + "coord": "0,0", + "id2show": "id датчика", + "num": 17 + } +] \ 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/include/Const.h b/include/Const.h index 53535968..a4e065b4 100644 --- a/include/Const.h +++ b/include/Const.h @@ -3,6 +3,14 @@ //Версия прошивки #define FIRMWARE_VERSION 431 +#ifdef esp8266_1mb_ota +#define FIRMWARE_NAME "esp8266_1mb_ota" +#endif + +#ifdef esp8266_1mb +#define FIRMWARE_NAME "esp8266_1mb" +#endif + #ifdef esp8266_4mb #define FIRMWARE_NAME "esp8266_4mb" #endif @@ -32,13 +40,7 @@ #define TELEMETRY_UPDATE_INTERVAL_MIN 60 -#ifdef esp8266_4mb #define USE_LITTLEFS true -#endif - -#ifdef esp32_4mb -#define USE_LITTLEFS true -#endif #define START_DATETIME 1661990400 // 01.09.2022 00:00:00 константа для сокращения unix time diff --git a/myProfile.json b/myProfile.json index 83945fc4..f6656391 100644 --- a/myProfile.json +++ b/myProfile.json @@ -21,12 +21,12 @@ "pinSCL": 0, "pinSDA": 0, "i2cFreq": 100000, + "settings_": "" "wg": "group1" }, "projectProp": { "platformio": { - "default_envs": "esp8266_4mb", - "data_dir": "data_svelte" + "default_envs": "esp8266_1mb_ota" } }, "modules": { diff --git a/platformio.ini b/platformio.ini index 25ee3a54..4660c6a7 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_1mb_ota="esp8266_1mb_ota" +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_1mb="esp8266_1mb" +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} @@ -41,8 +83,8 @@ build_src_filter = ${env:esp32_4mb_fromitems.build_src_filter} [platformio] -default_envs = esp8266_4mb -data_dir = data_svelte +default_envs = esp8266_1mb_ota +data_dir = data_svelte_lite [common_env_data] upload_port = COM4 @@ -50,6 +92,52 @@ lib_deps_external = bblanchon/ArduinoJson @6.18.0 knolleary/PubSubClient +[env:esp8266_1mb_ota_fromitems] +lib_deps = + milesburton/DallasTemperature@^3.9.1 + rc-switch @ ^2.6.4 + adafruit/Adafruit MCP23017 Arduino Library@^2.1.0 + adafruit/Adafruit BusIO @ ^1.13.2 + adafruit/Adafruit BusIO @ ^1.13.2 + marcoschwartz/LiquidCrystal_I2C@^1.1.4 +build_src_filter = + + + + + + + + + + + + + + + + + + + + + + + + + + + +[env:esp8266_1mb_fromitems] +lib_deps = + milesburton/DallasTemperature@^3.9.1 + rc-switch @ ^2.6.4 + adafruit/Adafruit MCP23017 Arduino Library@^2.1.0 + adafruit/Adafruit BusIO @ ^1.13.2 + adafruit/Adafruit BusIO @ ^1.13.2 + marcoschwartz/LiquidCrystal_I2C@^1.1.4 +build_src_filter = + + + + + + + + + + + + + + + + + + + + + + + + + + + [env:esp8266_4mb_fromitems] lib_deps = https://github.com/enjoyneering/AHTxx.git diff --git a/src/UpgradeFirm.cpp b/src/UpgradeFirm.cpp index 48c55fdf..53c6e15b 100644 --- a/src/UpgradeFirm.cpp +++ b/src/UpgradeFirm.cpp @@ -72,7 +72,7 @@ bool upgradeBuild() { handleUpdateStatus(true, PATH_ERROR); return ret; } -#ifdef esp8266_4mb +#if defined (esp8266_4mb) || defined (esp8266_1mb) || defined (esp8266_1mb_ota) ESPhttpUpdate.rebootOnUpdate(false); t_httpUpdate_return retBuild = ESPhttpUpdate.update(wifiClient, getBinPath("firmware.bin")); #endif diff --git a/src/modules/API.cpp b/src/modules/API.cpp index ab864765..4efeb752 100644 --- a/src/modules/API.cpp +++ b/src/modules/API.cpp @@ -1,31 +1,14 @@ #include "ESPConfiguration.h" -void* getAPI_Loging(String subtype, String params); -void* getAPI_LogingDaily(String subtype, String params); void* getAPI_Timer(String subtype, String params); void* getAPI_Variable(String subtype, String params); void* getAPI_VButton(String subtype, String params); -void* getAPI_Acs712(String subtype, String params); -void* getAPI_AhtXX(String subtype, String params); -void* getAPI_AnalogAdc(String subtype, String params); -void* getAPI_Bme280(String subtype, String params); -void* getAPI_Bmp280(String subtype, String params); -void* getAPI_Dht1122(String subtype, String params); void* getAPI_Ds18b20(String subtype, String params); -void* getAPI_GY21(String subtype, String params); -void* getAPI_Hdc1080(String subtype, String params); -void* getAPI_Max6675(String subtype, String params); -void* getAPI_Pzem004(String subtype, String params); void* getAPI_RCswitch(String subtype, String params); -void* getAPI_Sht20(String subtype, String params); -void* getAPI_Sht30(String subtype, String params); void* getAPI_Sonar(String subtype, String params); -void* getAPI_UART(String subtype, String params); void* getAPI_ButtonIn(String subtype, String params); void* getAPI_ButtonOut(String subtype, String params); -void* getAPI_IoTServo(String subtype, String params); void* getAPI_Mcp23017(String subtype, String params); -void* getAPI_Mp3(String subtype, String params); void* getAPI_Pcf8574(String subtype, String params); void* getAPI_Pwm8266(String subtype, String params); void* getAPI_TelegramLT(String subtype, String params); @@ -33,32 +16,15 @@ void* getAPI_Lcd2004(String subtype, String params); void* getAPI(String subtype, String params) { void* tmpAPI; -if ((tmpAPI = getAPI_Loging(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_LogingDaily(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Timer(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Variable(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_VButton(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Acs712(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_AhtXX(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_AnalogAdc(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Bme280(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Bmp280(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Dht1122(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Ds18b20(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_GY21(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Hdc1080(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Max6675(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Pzem004(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_RCswitch(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Sht20(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Sht30(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Sonar(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_UART(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_ButtonIn(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_ButtonOut(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_IoTServo(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Mcp23017(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Mp3(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Pcf8574(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Pwm8266(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_TelegramLT(subtype, params)) != nullptr) return tmpAPI; diff --git a/src/modules/display/Lcd2004/modinfo.json b/src/modules/display/Lcd2004/modinfo.json index 0352ab51..0061faf4 100644 --- a/src/modules/display/Lcd2004/modinfo.json +++ b/src/modules/display/Lcd2004/modinfo.json @@ -108,6 +108,12 @@ ], "esp8266_4mb": [ "marcoschwartz/LiquidCrystal_I2C@^1.1.4" + ], + "esp8266_1mb": [ + "marcoschwartz/LiquidCrystal_I2C@^1.1.4" + ], + "esp8266_1mb_ota": [ + "marcoschwartz/LiquidCrystal_I2C@^1.1.4" ] } } \ No newline at end of file diff --git a/src/modules/exec/ButtonIn/modinfo.json b/src/modules/exec/ButtonIn/modinfo.json index d3b91c71..549eec8c 100644 --- a/src/modules/exec/ButtonIn/modinfo.json +++ b/src/modules/exec/ButtonIn/modinfo.json @@ -42,6 +42,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/exec/ButtonOut/modinfo.json b/src/modules/exec/ButtonOut/modinfo.json index 41f854b8..160527a7 100644 --- a/src/modules/exec/ButtonOut/modinfo.json +++ b/src/modules/exec/ButtonOut/modinfo.json @@ -43,6 +43,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/exec/Mcp23017/modinfo.json b/src/modules/exec/Mcp23017/modinfo.json index ca836d72..7311e462 100644 --- a/src/modules/exec/Mcp23017/modinfo.json +++ b/src/modules/exec/Mcp23017/modinfo.json @@ -45,6 +45,14 @@ "esp8266_4mb": [ "adafruit/Adafruit MCP23017 Arduino Library@^2.1.0", "adafruit/Adafruit BusIO @ ^1.13.2" + ], + "esp8266_1mb": [ + "adafruit/Adafruit MCP23017 Arduino Library@^2.1.0", + "adafruit/Adafruit BusIO @ ^1.13.2" + ], + "esp8266_1mb_ota": [ + "adafruit/Adafruit MCP23017 Arduino Library@^2.1.0", + "adafruit/Adafruit BusIO @ ^1.13.2" ] } } \ No newline at end of file diff --git a/src/modules/exec/Pcf8574/modinfo.json b/src/modules/exec/Pcf8574/modinfo.json index 820923d6..8e95b19e 100644 --- a/src/modules/exec/Pcf8574/modinfo.json +++ b/src/modules/exec/Pcf8574/modinfo.json @@ -37,6 +37,12 @@ ], "esp8266_4mb": [ "adafruit/Adafruit BusIO @ ^1.13.2" + ], + "esp8266_1mb": [ + "adafruit/Adafruit BusIO @ ^1.13.2" + ], + "esp8266_1mb_ota": [ + "adafruit/Adafruit BusIO @ ^1.13.2" ] } } \ No newline at end of file diff --git a/src/modules/exec/Pwm8266/modinfo.json b/src/modules/exec/Pwm8266/modinfo.json index 806e6028..e5a5f478 100644 --- a/src/modules/exec/Pwm8266/modinfo.json +++ b/src/modules/exec/Pwm8266/modinfo.json @@ -41,6 +41,8 @@ "defActive": true, "usedLibs": { - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/exec/TelegramLT/modinfo.json b/src/modules/exec/TelegramLT/modinfo.json index 598441f4..3791ed6f 100644 --- a/src/modules/exec/TelegramLT/modinfo.json +++ b/src/modules/exec/TelegramLT/modinfo.json @@ -51,6 +51,8 @@ "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } diff --git a/src/modules/sensors/Ds18b20/modinfo.json b/src/modules/sensors/Ds18b20/modinfo.json index f3ac951e..96f6af73 100644 --- a/src/modules/sensors/Ds18b20/modinfo.json +++ b/src/modules/sensors/Ds18b20/modinfo.json @@ -43,6 +43,12 @@ ], "esp8266_4mb": [ "milesburton/DallasTemperature@^3.9.1" + ], + "esp8266_1mb": [ + "milesburton/DallasTemperature@^3.9.1" + ], + "esp8266_1mb_ota": [ + "milesburton/DallasTemperature@^3.9.1" ] } } \ No newline at end of file diff --git a/src/modules/sensors/RCswitch/modinfo.json b/src/modules/sensors/RCswitch/modinfo.json index 2fcc452a..916aa31d 100644 --- a/src/modules/sensors/RCswitch/modinfo.json +++ b/src/modules/sensors/RCswitch/modinfo.json @@ -59,6 +59,9 @@ "esp8266_1mb": [ "rc-switch @ ^2.6.4" ], + "esp8266_1mb_ota": [ + "rc-switch @ ^2.6.4" + ], "esp8266_4mb": [ "rc-switch @ ^2.6.4" ] diff --git a/src/modules/sensors/Sonar/modinfo.json b/src/modules/sensors/Sonar/modinfo.json index e944043c..ce43afcb 100644 --- a/src/modules/sensors/Sonar/modinfo.json +++ b/src/modules/sensors/Sonar/modinfo.json @@ -37,6 +37,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/virtual/Timer/modinfo.json b/src/modules/virtual/Timer/modinfo.json index a388be9f..0485564b 100644 --- a/src/modules/virtual/Timer/modinfo.json +++ b/src/modules/virtual/Timer/modinfo.json @@ -69,6 +69,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/virtual/VButton/modinfo.json b/src/modules/virtual/VButton/modinfo.json index fd1811b7..ee31eddf 100644 --- a/src/modules/virtual/VButton/modinfo.json +++ b/src/modules/virtual/VButton/modinfo.json @@ -34,6 +34,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file diff --git a/src/modules/virtual/Variable/modinfo.json b/src/modules/virtual/Variable/modinfo.json index 9aec85e8..c6607ccc 100644 --- a/src/modules/virtual/Variable/modinfo.json +++ b/src/modules/virtual/Variable/modinfo.json @@ -71,6 +71,8 @@ "defActive": true, "usedLibs": { "esp32_4mb": [], - "esp8266_4mb": [] + "esp8266_4mb": [], + "esp8266_1mb": [], + "esp8266_1mb_ota": [] } } \ No newline at end of file