├── .gitignore ├── README.md ├── bin ├── GC97_ESP.bin ├── GC97_ESP.bin.gz ├── README.md ├── previous │ ├── 210820 │ │ ├── GC97_ESP.210507.bin │ │ └── GC97_ESP.210507.spiffs.bin │ ├── 230415 │ │ ├── GC97_ESP.230415.bin │ │ └── GC97_ESP.230415.spiffs.bin │ ├── 230417 │ │ ├── GC97_ESP.230417.bin │ │ └── GC97_ESP.230417.spiffs.bin │ ├── 230418 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.full.4MB.bin │ │ ├── GC97_ESP.spiffs.bin │ │ └── README.md │ ├── 230419 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.full.4MB.bin │ │ ├── GC97_ESP.spiffs.bin │ │ └── README.md │ ├── 230420 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 230526 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 231020 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 231023 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 231130 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 240317 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ ├── 240504 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md │ └── 240612 │ │ ├── GC97_ESP.bin │ │ ├── GC97_ESP.bin.gz │ │ └── README.md └── upgrade.bat ├── manual ├── GC97_ESP.jpg ├── manual_flashing.png ├── manual_flashing_single.png ├── manual_gc97_network.png ├── manual_hass_devices.png ├── manual_hass_esp.png ├── manual_hass_gc97.png ├── manual_json.png ├── manual_options_misc.png ├── manual_options_mqtt.png ├── manual_options_wifi.png ├── manual_scan_networks.png ├── manual_ssdp.png ├── manual_web_main.png ├── manual_web_update.png ├── wiring_GC97_2K.jpg ├── wiring_GC97_ESP.jpg └── wiring_GC97_points.jpg ├── sources └── Sources.zip └── utils ├── SerialMonitor.exe ├── SerialMonitor.ini ├── configure └── esp8266 │ ├── hspi_download.conf │ ├── spi_download.conf │ └── utility.conf └── flash_download_tool_3.9.4.exe /.gitignore: -------------------------------------------------------------------------------- 1 | *.h 2 | *.S 3 | *.ino 4 | *.tmp 5 | *.temp 6 | *.old 7 | *.bak 8 | *tmp*/ 9 | *temp*/ 10 | logs/ 11 | data/ 12 | .vscode/ 13 | build/ 14 | .bat 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Обмен данными кулонометра GC97 через микроконтроллер ESP8266 2 | ### Удаленный мониторинг заряда/разряда/емкости батареи с поддержкой настроек через веб-интерфейс и отправкой данных по MQTT-протоколу 3 | 4 | ![alt GC97 + ESP8266 = MQTT/JSON](manual/GC97_ESP.jpg) 5 | 6 |
7 | Кратко о GC97 8 | 9 | [Кулонометр GC97](https://aliexpress.ru/wholesale?catId=0&SearchText=GC97%20coulometer) -- простое, китайское изделие, предназначенное для подключения к перезаряжаемой батарее (ИБП, устройства на электропитании от Li-Ion, LeFePo4 и т.п. батарей). Позволяет наглядно отслеживать основные характеристики, такие как напряжение, потребляемый ток (мощность), уровень заряда, остаточную емкость и т.п. Имеет возможность настрйки для разных батарей с указанием отдельных параметров и возможностью точных корректирок. Доступен выход "аварийного" сигнала с извещением, например, о критическом разряде или превышении допустимой мощности нагрузки. Но основная прелесть данного кулонометра -- поддержка TTL протокола. Т.е. с устройства можно снимать показания в цифровом виде, что замечательно подходит для разных систем, которые должны мониториться удаленно или быть в составе модного нынче "умного дома". Одним из простых, дешевых и быстрых решений является использование микроконтроллеров на базе [ESP8266 и производных от него](https://aliexpress.ru/wholesale?CatId=0&SearchText=ESP8266+wifi<ype=wholesale&SortType=total_tranpro_desc&groupsort=1). Это позволяет удаленно снимать показания с кулонометра через запросы по локальной сети (веб-интерфейс) или же интегрировать это с системой умного дома посредством MQTT протокола. 10 | 11 | Для создания такой связки Вам необходимо иметь: 12 | - кулонометр GC97 13 | - ESP8266 контроллер (в любом виде, доступном вам, от отладочных версий NodeMCU до миниатюрных D1 mini и т.п.) 14 | - обеспечить питание контроллера ESP (питание можно подавать через порт USB, если таковой имеется, с отдельного источника питания, внешнего или миниатюрного понижающего DC-DC преобразователя; Предпочтительно иметь общую землю с батареей/кулонометром, главное – следите, чтобы подавать разрешенные 3.3 или 5В). 15 | 16 | Подключаете GC97 к батарее согласно приведенной на нем схеме и обеспечиваете питание ESP. Сам GC97 имеет выводы Rx/Tx, которые необходимо подключить к соответствующим выводам ESP (если сразу не заработает, пробуйте поменять местами Rx/Tx). Вполне легко плата ESP (и миниатюрный DC-DC прячутся внутри корпуса GC97 – там достаточно места). 17 | 18 | Обзоры, примеры использования и подключения вы можете найти в Youtubе, например на канале [dima espirans](https://www.youtube.com/watch?v=-X8CvknmFzM). 19 |
20 | 21 | --- 22 | 23 | [**Скачать прошивку**](bin/) 24 | 25 | --- 26 | 27 | ## Последние изменения: 28 | 29 | - [*241012*](bin/) 30 | - небольшие косметические изменения; 31 | - очередная попытка улучшить отзывчивость веб-сервера с применением "Transfer-Encoding: chunked"; 32 | 33 | - [*240612*](bin/previous/240612/) 34 | - исправлено возможное зависание при обрыве соединения в момент передачи большого пакета данных; 35 | - изменения в части подключения клиентов к точке дсотупа; 36 | - добавлена опция авто-отключения точки доступа через 3-5 минут после подключения к WiFi для освобождения эфира; 37 | - улучшен контроль соединения с WiFi, форсированное авто-подключение; 38 | - автоматический запуск точки доступа при проблемах с WiFi подключением (даже если опция отключена в настройках); 39 | - небольшие правки в UI; 40 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 41 | - больше технических данных в json состояния; 42 | 43 | - [*240504*](bin/previous/240504/) 44 | - очередная попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 45 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 46 | 47 | - [*240317*](bin/previous/240317) 48 | - попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 49 | - небольшая оптимизация веб-контента: убраны украшательства в виде иконок статуса, минификация стилей и скриптов, возврат к одностраничному кешированному документу; 50 | - авто-перезагрузка страницы при обнаружении новой версии для обновления кеша; 51 | - небольшие исправления на перезагрузку контроллера (веб интерфейс); 52 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае потери связи (в течение пары минут, кейс #8); 53 | - небольшие изменения в декларировании сенсоров в режиме Hass Discovery (кейс #9); 54 | - обычный режим отдачи данных по MQTT: отдельные сенсоры + общие json; 55 | 56 | - [*231130*](bin/previous/231130/) 57 | - исправлена ошибка с отображением отрицательных температур (#5); 58 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 59 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 60 | 61 | - [*231023*](bin/previous/231023/) 62 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 63 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 64 | 65 | - [*231020*](bin/previous/231020/) 66 | - добавлена опция HASS Discovery; 67 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 68 | 69 | - [*230526*](bin/previous/230526/) 70 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 71 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 72 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 73 | 74 | - [*230420*](bin/previous/230420/) 75 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 76 | - Мелкие исправления в работе веб-сервера; 77 | 78 | - [*230418*](bin/previous/230418/) 79 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 80 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 81 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 82 | - Добавлена версия для прошивки одним файлом; 83 | 84 | - [*230417*](bin/previous/230418/) 85 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 86 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 87 | - Новый способ буферизированной отдачи файлов веб-сервером; 88 | 89 | - [*230415*](bin/previous/230415/) 90 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 91 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 92 | - Исправления на основной веб-странице; 93 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 94 | 95 | --- 96 | 97 | Итак, здесь вы найдете прошивку ESP8266 для работы с кулонометром GC97, которую я создал для личных нужд. Это моя первая прошивка ESP и опыт такого плана, так что могут быть какие-то ошибки и недочеты. Но уж что есть :) 98 | 99 | *В прошивке доступны следующие возможности*: 100 | - AP (wifi точка доступа) -- для независимой работы и первоначальной настройки. По-умолчанию создается открытая (без пароля) сеть с именем GC97-XXXX (где XXXX -- последние знаки mac-адреса ESP), IP адрес 192.168.4.1; 101 | - Подключение к WiFi сети (возможность просканировать и выбрать сеть 2.4GHz, авто-подключение по таймауту); 102 | - Виртуальный хост локальной сети mDNS (<Имя_точки_AP>.local); 103 | - Поддержка SSDP (устройство видно в локальной сети и можно открыть панель управления просто по клику); 104 | - Встроенный веб-сервер с основной информацией кулонометра, возможностью настройки через веб-интерфейс, перезагрузки, сброса и прошивки; адаптация для отображения на мобильных устройствах; 105 | - Поддержка OTA (over-the-air) обновлений; 106 | - Поддержка отправки данных через MQTT-брокера с возможностью указания адреса и порта сервера, имени, пароля, топика и поддержка Retain флага; Авто-подключение; Оптимизация отправки данных только на изменения; 107 | - Для Home Assistant доступна опция Discovery: автоматическое добавление устройств и объектов; 108 | - Запрос данных через веб в формате JSON (по типам, общий запрос); 109 | - Выбор периода опроса кулонометра GC97, контроль и усреднение серии данных для сглаживания "выбросов" в значениях; 110 | - Световая индикация состояния ESP/подключений и режима работы; 111 | - Вывод отладочной информации основных действий и состояния контроллера ESP при подключении по серийному порту (скорость подключения 19200). 112 | 113 | 114 | ## Веб-интерфейс 115 | 116 | ![alt Основной экран веб-сервера](manual/manual_web_main.png) 117 | 118 | Страница доступна: 119 | - по IP адресу встроенной точки доступа (192.168.4.1, после подключения к сети GC97-XXXX); 120 | - по IP адресу, выданному DHCP сети wifi (если указаны корректные SSID и пароль), например 192.168.0.100; 121 | 122 | На данной странице отображается текущее состояние кулонометра и всех подключений (данные обновляются с периодичностью в 10-15 секунд). 123 | 124 | ### Диалог настроек: 125 | 126 | Доступны настройки встроенной точки доступа (AP), (если имя пустое, то будет использовано именование GC97-XXXX, где XXXX последние символы mac-адреса ESP). Также можно задать данные авторизации в сети WiFi (приоритетный, рекомендуемый режим): 127 | 128 | ![alt Настройки Wifi/AP](manual/manual_options_wifi.png) 129 | 130 | Доступно сканирование сетей с возможностью выбора необходимой: 131 | 132 | ![alt Сканирование Wifi сетей](manual/manual_scan_networks.png) 133 | 134 | Можно указать необходимые настройки MQTT брокера: 135 | 136 | ![alt Настройки MQTT](manual/manual_options_mqtt.png) 137 | 138 | Укажите период опроса кулонометра (не чаще 1 раза в секунду), это же является периодом отправки данных по MQTT-протоколу: 139 | 140 | ![alt Дополнительные настройки](manual/manual_options_misc.png) 141 | 142 | Если включена опция "Оправка только изменений", то запросы на MQTT-брокер будут выполняться только в случае изменений и принудительно 1 раз в 10 циклов опроса (для случаев, когда не используется retain). 143 | Также можно отключить поддержку обновлений по воздуху (OTA, требуется перезагрузка для применения опции). 144 | Опция "Всегда включенный светодиод" инвертирует работу встроенного светодиода на плате ESP: постоянное свечение в режиме работы. 145 | 146 | ## LED индикация 147 | 148 | При загрузке ESP идет серия коротких и частых миганий в течение секунды. Далее, с периодичностью раз 2 секунды одиночные вспышки информируют о попытках подключения к сети WiFi, двойные вспышки -- к серверу MQTT (если указаны параметры того и другого). 149 | 150 | С периодичностью опроса кулонометра (по умолчанию раз в 10 секунд) вы мождете видеть вспышки светодиода. Количество означает состояние: 151 | - Одиночная, умеренно продолжительная вспышка -- нормальный режим работы; 152 | - Двойная вспышка говорит о проблеме Wifi подключения; 153 | - Тройная вспышка говорит о проблеме подключения к MQTT-брокеру; 154 | - Четыре вспышки -- невозможно получить данные с кулонометра GC97 (не подключен или данные неверны). 155 | 156 | ## Данные кулонометра 157 | 158 | Вся информацию кулонометра, а также большинство сведений о состоянии ESP и настройки передаются MQTT-брокеру с указанной частотой в виде json. Эти же данные в формате json можно напрямую запросить в любой произвольный момент через постоянный веб-адрес: 159 | - http:///get/all.json -- весь пакет данных 160 | - http:///get/gc97.json -- данные кулонометра 161 | - http:///get/esp.json -- состояние и настройки ESP 162 | - http:///get/state.json -- uptime ESP 163 | 164 | ![alt JSON](manual/manual_json.png) 165 | 166 | ## HASS Discovery 167 | 168 | Если вы используете GC97 в составе умного дома на базе Home Assistant, то доступна опция HASS Discovery. При ее включении MQTT будет отправлять полные описания всех сенсоров и устройств. В результате, в течение нескольких секунд у вас в списке устройств появится 2 новые записи -- для самого кулонометра и для платы ESP: 169 | 170 | ![alt Список устройств](manual/manual_hass_devices.png) 171 | 172 | При этом поддерживается работа с несколькими устройствами одновременно. Так же вы можете удаленно перезапускать устройство прямо из интерфейса умного дома и отслеживать его текущее состояние. 173 | 174 | ![alt GC97](manual/manual_hass_gc97.png) 175 | ![alt ESP](manual/manual_hass_esp.png) 176 | 177 | ## Дополнительные команды 178 | 179 | Для управления через веб доступны команды: 180 | - http:///cmd/reset -- перезагрузка (доступно через веб-интерфейс); 181 | - http:///cmd/factory -- сброс всех настроек (может быть иногда полезно, но если контроллер еще доступен через веб :), иначе только перепрошивка). 182 | 183 | ## Прошивка 184 | 185 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). 186 | - **GC97_ESP.bin** -- Основная прошивка с кодом (адрес 0x0000000) -- можно использовать также для OTA обновления; 187 | 188 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 189 | 190 | ![alt Прошивка](manual/manual_flashing_single.png) 191 | 192 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 193 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 194 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 195 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 196 | 197 | ![alt Настройки Wifi/AP](manual/manual_options_wifi.png) 198 | 199 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 200 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 201 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 202 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 203 | 204 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 205 | В списке сетевых устройств появится GC97: 206 | 207 | ![alt Сетевое устройство](manual/manual_gc97_network.png) 208 | 209 | Контекстное меню: 210 | 211 | ![alt Свойства](manual/manual_ssdp.png) 212 | 213 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 214 | 215 | 216 | ## Старый вариант прошивки (для версий с .spiffs.bin поршивками) 217 | 218 | [Смотрите в описании к старым прошивкам](bin/previous/230419/) 219 | 220 | ## Баги 221 | 222 | Вроде критичных нет :) 223 | Создавайте Issues, если найдете :) 224 | 225 | ## To-Do / Планы 226 | 227 | В данный момент реализован весь базовый функционал. Возможно, при наличии времени, будут добавлены: 228 | - [x] HASS discovery (поддержка Home Assistant Discovery mode); 229 | - [x] MQTT entities -- режим с отдельными параметрами кулонометра при передаче по MQTT (сейчас только в виде пакета данных формата json); 230 | - [ ] Дополнительные опции в UI (в коде поддержка большинства уже есть) для настройки: отдельных блоков данных, отдаваемых MQTT; некоторые таймауты и периоды проверок/обновлений; детализация вывода Debug в серийный порт (для отладки и контроля процессов), а также удаленный просмотр логов контроллера через веб. 231 | - [ ] Поддержка Blynk (вроде как многие пользуются); 232 | - [ ] Перевод описания на английский; 233 | - [ ] Видеоинструкция по первоначальной настройке; 234 | - [ ] Что-то еще, сейчас не вспомню :) 235 | -------------------------------------------------------------------------------- /bin/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*241012*] 38 | - небольшие косметические изменения; 39 | - очередная попытка улучшить отзывчивость веб-сервера с применением "Transfer-Encoding: chunked"; 40 | 41 | - [*240612*](previous/240504/) 42 | - исправлено возможное зависание при обрыве соединения в момент передачи большого пакета данных; 43 | - изменения в части подключения клиентов к точке дсотупа; 44 | - добавлена опция авто-отключения точки доступа через 3-5 минут после подключения к WiFi для освобождения эфира; 45 | - улучшен контроль соединения с WiFi, форсированное авто-подключение; 46 | - автоматический запуск точки доступа при проблемах с WiFi подключением (даже если опция отключена в настройках); 47 | - небольшие правки в UI; 48 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 49 | - больше технических данных в json состояния; 50 | 51 | - [*240504*](previous/240504/) 52 | - очередная попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 53 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 54 | 55 | - [*240317*](previous/240317/) 56 | - попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 57 | - небольшая оптимизация веб-контента: убраны украшательства в виде иконок статуса, минификация стилей и скриптов, возврат к одностраничному кешированному документу; 58 | - авто-перезагрузка страницы при обнаружении новой версии для обновления кеша; 59 | - небольшие исправления на перезагрузку контроллера (веб интерфейс); 60 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае потери связи (в течение пары минут, кейс #8); 61 | - небольшие изменения в декларировании сенсоров в режиме Hass Discovery (кейс #9); 62 | - обычный режим отдачи данных по MQTT: отдельные сенсоры + общие json; 63 | 64 | - [*231130*](previous/231130/) 65 | - исправлена ошибка с отображением отрицательных температур (#5); 66 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 67 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 68 | 69 | - [*231023*](previous/231023/) 70 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 71 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 72 | 73 | - [*231020*](previous/231020/) 74 | - добавлена опция HASS Discovery; 75 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 76 | 77 | - [*230526*](previous/230526/) 78 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 79 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 80 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 81 | 82 | 83 | - [*230420*](previous/230420/) 84 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 85 | 86 | - [*230418*](previous/230418/) 87 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 88 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 89 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 90 | - Добавлена версия для прошивки одним файлом; 91 | 92 | - [*230417*](previous/230418/) 93 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 94 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 95 | - Новый способ буферизированной отдачи файлов веб-сервером; 96 | 97 | - [*230415*](previous/230415/) 98 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 99 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 100 | - Исправления на основной веб-странице; 101 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 102 | 103 | - [*210820*](previous/210820/) 104 | - Исправлены недочеты в упрощенной странице настройки; 105 | 106 | - *210514* 107 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 108 | - Небольшие правки в UI; 109 | 110 | - *210508* 111 | - Исправления в UI, обновление прошивки файловой системы; 112 | 113 | - *210505* 114 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 115 | 116 | - *210503* 117 | - Обновления в данных json; 118 | 119 | - *210430* 120 | - UI: Кастомные диалоги, обновление базового интерфейса; 121 | 122 | - *210429* 123 | - UI: Диалог настроек, кнопка перезагрузки; 124 | 125 | - *210421* 126 | - Тестовая версия прошивки. 127 | -------------------------------------------------------------------------------- /bin/previous/210820/GC97_ESP.210507.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/210820/GC97_ESP.210507.bin -------------------------------------------------------------------------------- /bin/previous/210820/GC97_ESP.210507.spiffs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/210820/GC97_ESP.210507.spiffs.bin -------------------------------------------------------------------------------- /bin/previous/230415/GC97_ESP.230415.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230415/GC97_ESP.230415.bin -------------------------------------------------------------------------------- /bin/previous/230415/GC97_ESP.230415.spiffs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230415/GC97_ESP.230415.spiffs.bin -------------------------------------------------------------------------------- /bin/previous/230417/GC97_ESP.230417.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230417/GC97_ESP.230417.bin -------------------------------------------------------------------------------- /bin/previous/230417/GC97_ESP.230417.spiffs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230417/GC97_ESP.230417.spiffs.bin -------------------------------------------------------------------------------- /bin/previous/230418/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230418/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/230418/GC97_ESP.full.4MB.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230418/GC97_ESP.full.4MB.bin -------------------------------------------------------------------------------- /bin/previous/230418/GC97_ESP.spiffs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230418/GC97_ESP.spiffs.bin -------------------------------------------------------------------------------- /bin/previous/230418/README.md: -------------------------------------------------------------------------------- 1 | # Обмен данными кулонометра GC97 через микроконтроллер ESP8266 2 | ### Удаленный мониторинг заряда/разряда/емкости батареи с поддержкой настроек через веб-интерфейс и оправкой данных по MQTT-протоколу 3 | 4 | ![alt GC97 + ESP8266 = MQTT/JSON](../../../manual/GC97_ESP.jpg) 5 | 6 | > [Кулонометр GC97](https://aliexpress.ru/wholesale?catId=0&SearchText=GC97%20coulometer) -- простое, китайское изделие, предназначенное для подключения к перезаряжаемой батарее (ИБП, устройства на электропитании от Li-Ion, LeFePo4 и т.п. батарей). Позволяет наглядно отслеживать основные характеристики, такие как напряжение, потребляемый ток (мощность), уровень заряда, остаточную емкость и т.п. Имеет возможность настрйки для разных батарей с указанием отдельных параметров и возможностью точных корректирок. Доступен выход "аварийного" сигнала с извещением, например, о критическом разряде или превышении допустимой мощности нагрузки. Но основная прелесть данного кулонометра -- поддержка TTL протокола. Т.е. с устройства можно снимать показания в цифровом виде, что замечательно подходит для разных систем, которые должны мониториться удаленно или быть в составе модного нынче "умного дома". Одним из простых, дешевых и быстрых решений является использование микроконтроллеров на базе [ESP8266 и производных от него](https://aliexpress.ru/wholesale?CatId=0&SearchText=ESP8266+wifi<ype=wholesale&SortType=total_tranpro_desc&groupsort=1). Это позволяет удаленно снимать показания с кулонометра через запросы по локальной сети (веб-интерфейс) или же интегрировать это с системой умного дома посредством MQTT протокола. 7 | > 8 | > Для создания такой связки Вам необходимо иметь: 9 | > - кулонометр GC97 10 | > - ESP8266 контроллер (в любом виде, доступном вам, от отладочных версий NodeMCU до миниатюрных D1 mini и т.п.) 11 | > - обеспечить питание контроллера ESP (питание можно подавать через порт USB, если таковой имеется, с отдельного источника питания, внешнего или миниатюрного понижающего DC-DC преобразователя; Предпочтительно иметь общую землю с батареей/кулонометром, главное – следите, чтобы подавать разрешенные 3.3 или 5В). 12 | > 13 | > Подключаете GC97 к батарее согласно приведенной на нем схеме и обеспечиваете питание ESP. Сам GC97 имеет выводы Rx/Tx, которые необходимо подключить к соответствующим выводам ESP (если сразу не заработает, пробуйте поменять местами Rx/Tx). Вполне легко плата ESP (и миниатюрный DC-DC прячутся внутри корпуса GC97 – там достаточно места). 14 | > 15 | > Обзоры, примеры использования и подключения вы можете найти в Youtubе, например на канале [dima espirans](https://www.youtube.com/watch?v=-X8CvknmFzM). 16 | 17 | --- 18 | 19 | ## Последние изменения: 20 | 21 | - *230418* 22 | - Адаптация UI для моильных устройств, небольшие правки веб страницы настроек; 23 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 24 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 25 | - Добавлена версия для прошивки одним файлом; 26 | 27 | - *230417* 28 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 29 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 30 | - Новый способ буферизированной отдачи файлов веб-сервером; 31 | 32 | - *230415* 33 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 34 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 35 | - Исправления на основной веб-странице; 36 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 37 | 38 | --- 39 | 40 | Итак, здесь вы найдете прошивку ESP8266 для работы с кулонометром GC97, которую я создал для личных нужд. Это моя первая прошивка ESP и опыт такого плана, так что могут быть какие-то ошибки и недочеты. Но уж что есть :) 41 | 42 | *В прошивке доступны следующие возможности*: 43 | - AP (wifi точка доступа) -- для независимой работы и первоначальной настройки. По-умолчанию создается открытая (без пароля) сеть с именем GC97-XXXX (где XXXX -- последние знаки mac-адреса ESP), IP адрес 192.168.4.1; 44 | - Подключение к WiFi сети (возможность просканировать и выбрать сеть 2.4GHz, авто-подключение по таймауту); 45 | - Виртуальный хост локальной сети mDNS (<Имя_точки_AP>.local); 46 | - Поддержка SSDP (устройство видно в локальной сети и можно открыть панель управления просто по клику); 47 | - Встроенный веб-сервер с основной информацией кулонометра, возможностью настройки через веб-интерфейс, перезагрузки, сброса и прошивки; адаптация для отображения на мобильных устройствах; 48 | - Поддержка OTA (over-the-air) обновлений; 49 | - Поддержка отправки данных через MQTT-брокера с возможностью указания адреса и порта сервера, имени, пароля, топика и поддержка Retain флага; Авто-подключение; Оптимизация отправки данных только на изменения; 50 | - Запрос данных через веб в формате JSON (по типам, общий запрос); 51 | - Выбор периода опроса кулонометра GC97, контроль и усреднение серии данных для сглаживания "выбросов" в значениях; 52 | - Световая индикация состояния ESP/подключений и режима работы; 53 | - Вывод отладочной информации основных действий и состояния контроллера ESP при подключении по серийному порту (скорость подключения 19200). 54 | 55 | 56 | ## Веб-интерфейс 57 | 58 | ![alt Основной экран веб-сервера](../../../manual/manual_web_main.png) 59 | 60 | Страница доступна: 61 | - по IP адресу встроенной точки доступа (192.168.4.1, после подключения к сети GC97-XXXX); 62 | - по IP адресу, выданному DHCP сети wifi (если указаны корректные SSID и пароль), например 192.168.0.100; 63 | 64 | На данной странице отображается текущее состояние кулонометра и всех подключений (данные обновляются с периодичностью в 10-15 секунд). 65 | 66 | ### Диалог настроек: 67 | 68 | Доступны настройки встроенной точки доступа (AP), (если имя пустое, то будет использовано именование GC97-XXXX, где XXXX последние символы mac-адреса ESP). Также можно задать данные авторизации в сети WiFi (приоритетный, рекомендуемый режим): 69 | 70 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 71 | 72 | Доступно сканирование сетей с возможностью выбора необходимой: 73 | 74 | ![alt Сканирование Wifi сетей](../../../manual/manual_scan_networks.png) 75 | 76 | Можно указать необходимые настройки MQTT брокера: 77 | 78 | ![alt Настройки MQTT](../../../manual/manual_options_mqtt.png) 79 | 80 | Укажите период опроса кулонометра (не чаще 1 раза в секунду), это же является периодом отправки данных по MQTT-протоколу: 81 | 82 | ![alt Дополнительные настройки](../../../manual/manual_options_misc.png) 83 | 84 | Если включена опция "Оправка только изменений", то запросы на MQTT-брокер будут выполняться только в случае изменений и принудительно 1 раз в 10 циклов опроса (для случаев, когда не используется retain). 85 | Также можно отключить поддержку обновлений по воздуху (OTA, требуется перезагрузка для применения опции). 86 | Опция "Всегда включенный светодиод" инвертирует работу встроенного светодиода на плате ESP: постоянное свечение в режиме работы. 87 | 88 | ## LED индикация 89 | 90 | При загрузке ESP идет серия коротких и частых миганий в течение секунды. Далее, с периодичностью раз 2 секунды одиночные вспышки информируют о попытках подключения к сети WiFi, двойные вспышки -- к серверу MQTT (если указаны параметры того и другого). 91 | 92 | С периодичностью опроса кулонометра (по умолчанию раз в 10 секунд) вы мождете видеть вспышки светодиода. Количество означает состояние: 93 | - Одиночная, умеренно продолжительная вспышка -- нормальный режим работы; 94 | - Двойная вспышка говорит о проблеме Wifi подключения; 95 | - Тройная вспышка говорит о проблеме подключения к MQTT-брокеру; 96 | - Четыре вспышки -- невозможно получить данные с кулонометра GC97 (не подключен или данные неверны). 97 | 98 | ## Данные кулонометра 99 | 100 | Вся информацию кулонометра, а также большинство сведений о состоянии ESP и настройки передаются MQTT-брокеру с указанной частотой в виде json. Эти же данные в формате json можно напрямую запросить в любой произвольный момент через постоянный веб-адрес: 101 | - http:///get/all.json -- весь пакет данных 102 | - http:///get/gc97.json -- данные кулонометра 103 | - http:///get/esp.json -- состояние и настройки ESP 104 | - http:///get/state.json -- uptime ESP 105 | 106 | ![alt JSON](../../../manual/manual_json.png) 107 | 108 | 109 | ## Дополнительные команды 110 | 111 | Для управления через веб доступны команды: 112 | - http:///cmd/reset -- перезагрузка (доступно через веб-интерфейс); 113 | - http:///cmd/factory -- сброс всех настроек (может быть иногда полезно, но если контроллер еще доступен через веб :), иначе только перепрошивка). 114 | 115 | ## Прошивка 116 | 117 | Для корректной работы требуется прошить основной код и данные файловой системы веб-сервера. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). 118 | Существует 3 файла с прошивками: 119 | - **GC97_ESP.full.4MB.bin** -- Полная прошивка (4Мб) в виде единого файла (__предпочтительный вариант__); 120 | - **GC97_ESP.bin** -- Основная прошивка с кодом (адрес 0x0000000) -- можно использовать для OTA; 121 | - **GC97_ESP.spiffs.bin** -- Прошивка с данными файловой системы (адрес 0x00300000) -- можно использовать для OTA; 122 | 123 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с полной прошивкой (первая срока): 124 | 125 | ![alt Прошивка](../../../manual/manual_flashing.png) 126 | 127 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 128 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 129 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключиться к точке доступа (по умолчанию -- без пароля); 130 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 131 | 132 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 133 | 134 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 135 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 136 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 137 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 138 | 139 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 140 | В списке сетевых устройств появится GC97: 141 | 142 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 143 | 144 | Контекстное меню: 145 | 146 | ![alt Свойства](../../../manual/manual_ssdp.png) 147 | 148 | 149 | ## Старый вариант прошивки (или если у вас версия платы с объемом памяти, отличным от 4Мб) 150 | 151 | Для корректной работы требуется прошить основной код (GC97_ESP.bin) и данные файловой системы веб-сервера (GC97_ESP.spiffs.bin). Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). Для первоначальной установки необходимо выполнить ряд шагов: 152 | 1. Прошить GC97_ESP.bin для ESP8266 по адресу 0x0000; Перезагрузить контроллер; 153 | 2. Найти открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключиться к точке доступа (по умолчанию -- без пароля); 154 | 3. Открыть в браузере страницу с первоначальным экраном настройки; 155 | 4. Указать имя сети и пароль (с учетом регистра) для вашей WiFi сети; Сохраните настройки (в случае успешного сохранения вы можете увидеть JSON с данными -- это нормально); 156 | 5. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 157 | 6. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); 158 | 7. Откройте страницу по указанному IP адресу и убедитесь, что OTA работает (повторите с шага 4, если это не так); 159 | 8. Откройте страницу обновления (http://{ip-адрес}/update) и выберите в строке FileSystem скачанный [SPIFFS](https://github.com/alidonet/GC97_ESP/blob/main/bin/GC97_ESP.spiffs.bin.gz) файл. Нажмите "Обновить" и дождитесь окончания прошивки; 160 | 161 | ![alt Страница обновления](../../../manual/manual_web_update.png) 162 | 163 | 9. После перезагрузки повторно подключитесь к ESP: теперь вам доступен полноценный интерфейс с расширенным набором опций. 164 | 165 | В последующем, для обновления по воздуху, используйте встроенный функционал. Для контроля процесса первоначальной настройки/прошивки вы можете использовать любой монитор COM-порта, к которому подключен ваш ESP (19200 baud rate). 166 | 167 | ## Баги 168 | 169 | Вроде критичных нет :) 170 | Создавайте Issues, если найдете :) 171 | 172 | ## To-Do / Планы 173 | 174 | В данный момент реализован весь базовый функционал. Возможно, при наличии времени, будут добавлены: 175 | - [ ] HASS discovery (поддержка Home Assistant Discovery mode); 176 | - [ ] MQTT entities -- режим с отдельными параметрами кулонометра при передаче по MQTT (сейчас только в виде пакета данных формата json); 177 | - [ ] Дополнительные опции в UI (в коде поддержка большинства уже есть) для настройки: отдельных блоков данных, отдаваемых MQTT; некоторые таймауты и периоды проверок/обновлений; детализация вывода Debug в серийный порт (для отладки и контроля процессов), а также удаленный просмотр логов контроллера через веб. 178 | - [x] Мини-сервер для первоначальной настройки и обновления (подключение к Wifi); 179 | - [x] Русская версия (если кому-то надо); 180 | - [ ] Поддержка Blynk (вроде как многие пользуются); 181 | - [ ] Перевод описания на английский; 182 | - [ ] Видеоинструкция по первоначальной настройке; 183 | - [ ] Что-то еще, сейчас не вспомню :) 184 | -------------------------------------------------------------------------------- /bin/previous/230419/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230419/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/230419/GC97_ESP.full.4MB.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230419/GC97_ESP.full.4MB.bin -------------------------------------------------------------------------------- /bin/previous/230419/GC97_ESP.spiffs.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230419/GC97_ESP.spiffs.bin -------------------------------------------------------------------------------- /bin/previous/230419/README.md: -------------------------------------------------------------------------------- 1 | # Обмен данными кулонометра GC97 через микроконтроллер ESP8266 2 | ### Удаленный мониторинг заряда/разряда/емкости батареи с поддержкой настроек через веб-интерфейс и оправкой данных по MQTT-протоколу 3 | 4 | ![alt GC97 + ESP8266 = MQTT/JSON](../../../manual/GC97_ESP.jpg) 5 | 6 | > [Кулонометр GC97](https://aliexpress.ru/wholesale?catId=0&SearchText=GC97%20coulometer) -- простое, китайское изделие, предназначенное для подключения к перезаряжаемой батарее (ИБП, устройства на электропитании от Li-Ion, LeFePo4 и т.п. батарей). Позволяет наглядно отслеживать основные характеристики, такие как напряжение, потребляемый ток (мощность), уровень заряда, остаточную емкость и т.п. Имеет возможность настрйки для разных батарей с указанием отдельных параметров и возможностью точных корректирок. Доступен выход "аварийного" сигнала с извещением, например, о критическом разряде или превышении допустимой мощности нагрузки. Но основная прелесть данного кулонометра -- поддержка TTL протокола. Т.е. с устройства можно снимать показания в цифровом виде, что замечательно подходит для разных систем, которые должны мониториться удаленно или быть в составе модного нынче "умного дома". Одним из простых, дешевых и быстрых решений является использование микроконтроллеров на базе [ESP8266 и производных от него](https://aliexpress.ru/wholesale?CatId=0&SearchText=ESP8266+wifi<ype=wholesale&SortType=total_tranpro_desc&groupsort=1). Это позволяет удаленно снимать показания с кулонометра через запросы по локальной сети (веб-интерфейс) или же интегрировать это с системой умного дома посредством MQTT протокола. 7 | > 8 | > Для создания такой связки Вам необходимо иметь: 9 | > - кулонометр GC97 10 | > - ESP8266 контроллер (в любом виде, доступном вам, от отладочных версий NodeMCU до миниатюрных D1 mini и т.п.) 11 | > - обеспечить питание контроллера ESP (питание можно подавать через порт USB, если таковой имеется, с отдельного источника питания, внешнего или миниатюрного понижающего DC-DC преобразователя; Предпочтительно иметь общую землю с батареей/кулонометром, главное – следите, чтобы подавать разрешенные 3.3 или 5В). 12 | > 13 | > Подключаете GC97 к батарее согласно приведенной на нем схеме и обеспечиваете питание ESP. Сам GC97 имеет выводы Rx/Tx, которые необходимо подключить к соответствующим выводам ESP (если сразу не заработает, пробуйте поменять местами Rx/Tx). Вполне легко плата ESP (и миниатюрный DC-DC прячутся внутри корпуса GC97 – там достаточно места). 14 | > 15 | > Обзоры, примеры использования и подключения вы можете найти в Youtubе, например на канале [dima espirans](https://www.youtube.com/watch?v=-X8CvknmFzM). 16 | 17 | --- 18 | 19 | ## Последние изменения: 20 | 21 | - *230418* 22 | - Адаптация UI для моильных устройств, небольшие правки веб страницы настроек; 23 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 24 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 25 | - Добавлена версия для прошивки одним файлом; 26 | 27 | - *230417* 28 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 29 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 30 | - Новый способ буферизированной отдачи файлов веб-сервером; 31 | 32 | - *230415* 33 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 34 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 35 | - Исправления на основной веб-странице; 36 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 37 | 38 | --- 39 | 40 | Итак, здесь вы найдете прошивку ESP8266 для работы с кулонометром GC97, которую я создал для личных нужд. Это моя первая прошивка ESP и опыт такого плана, так что могут быть какие-то ошибки и недочеты. Но уж что есть :) 41 | 42 | *В прошивке доступны следующие возможности*: 43 | - AP (wifi точка доступа) -- для независимой работы и первоначальной настройки. По-умолчанию создается открытая (без пароля) сеть с именем GC97-XXXX (где XXXX -- последние знаки mac-адреса ESP), IP адрес 192.168.4.1; 44 | - Подключение к WiFi сети (возможность просканировать и выбрать сеть 2.4GHz, авто-подключение по таймауту); 45 | - Виртуальный хост локальной сети mDNS (<Имя_точки_AP>.local); 46 | - Поддержка SSDP (устройство видно в локальной сети и можно открыть панель управления просто по клику); 47 | - Встроенный веб-сервер с основной информацией кулонометра, возможностью настройки через веб-интерфейс, перезагрузки, сброса и прошивки; адаптация для отображения на мобильных устройствах; 48 | - Поддержка OTA (over-the-air) обновлений; 49 | - Поддержка отправки данных через MQTT-брокера с возможностью указания адреса и порта сервера, имени, пароля, топика и поддержка Retain флага; Авто-подключение; Оптимизация отправки данных только на изменения; 50 | - Запрос данных через веб в формате JSON (по типам, общий запрос); 51 | - Выбор периода опроса кулонометра GC97, контроль и усреднение серии данных для сглаживания "выбросов" в значениях; 52 | - Световая индикация состояния ESP/подключений и режима работы; 53 | - Вывод отладочной информации основных действий и состояния контроллера ESP при подключении по серийному порту (скорость подключения 19200). 54 | 55 | 56 | ## Веб-интерфейс 57 | 58 | ![alt Основной экран веб-сервера](../../../manual/manual_web_main.png) 59 | 60 | Страница доступна: 61 | - по IP адресу встроенной точки доступа (192.168.4.1, после подключения к сети GC97-XXXX); 62 | - по IP адресу, выданному DHCP сети wifi (если указаны корректные SSID и пароль), например 192.168.0.100; 63 | 64 | На данной странице отображается текущее состояние кулонометра и всех подключений (данные обновляются с периодичностью в 10-15 секунд). 65 | 66 | ### Диалог настроек: 67 | 68 | Доступны настройки встроенной точки доступа (AP), (если имя пустое, то будет использовано именование GC97-XXXX, где XXXX последние символы mac-адреса ESP). Также можно задать данные авторизации в сети WiFi (приоритетный, рекомендуемый режим): 69 | 70 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 71 | 72 | Доступно сканирование сетей с возможностью выбора необходимой: 73 | 74 | ![alt Сканирование Wifi сетей](../../../manual/manual_scan_networks.png) 75 | 76 | Можно указать необходимые настройки MQTT брокера: 77 | 78 | ![alt Настройки MQTT](../../../manual/manual_options_mqtt.png) 79 | 80 | Укажите период опроса кулонометра (не чаще 1 раза в секунду), это же является периодом отправки данных по MQTT-протоколу: 81 | 82 | ![alt Дополнительные настройки](../../../manual/manual_options_misc.png) 83 | 84 | Если включена опция "Оправка только изменений", то запросы на MQTT-брокер будут выполняться только в случае изменений и принудительно 1 раз в 10 циклов опроса (для случаев, когда не используется retain). 85 | Также можно отключить поддержку обновлений по воздуху (OTA, требуется перезагрузка для применения опции). 86 | Опция "Всегда включенный светодиод" инвертирует работу встроенного светодиода на плате ESP: постоянное свечение в режиме работы. 87 | 88 | ## LED индикация 89 | 90 | При загрузке ESP идет серия коротких и частых миганий в течение секунды. Далее, с периодичностью раз 2 секунды одиночные вспышки информируют о попытках подключения к сети WiFi, двойные вспышки -- к серверу MQTT (если указаны параметры того и другого). 91 | 92 | С периодичностью опроса кулонометра (по умолчанию раз в 10 секунд) вы мождете видеть вспышки светодиода. Количество означает состояние: 93 | - Одиночная, умеренно продолжительная вспышка -- нормальный режим работы; 94 | - Двойная вспышка говорит о проблеме Wifi подключения; 95 | - Тройная вспышка говорит о проблеме подключения к MQTT-брокеру; 96 | - Четыре вспышки -- невозможно получить данные с кулонометра GC97 (не подключен или данные неверны). 97 | 98 | ## Данные кулонометра 99 | 100 | Вся информацию кулонометра, а также большинство сведений о состоянии ESP и настройки передаются MQTT-брокеру с указанной частотой в виде json. Эти же данные в формате json можно напрямую запросить в любой произвольный момент через постоянный веб-адрес: 101 | - http:///get/all.json -- весь пакет данных 102 | - http:///get/gc97.json -- данные кулонометра 103 | - http:///get/esp.json -- состояние и настройки ESP 104 | - http:///get/state.json -- uptime ESP 105 | 106 | ![alt JSON](../../../manual/manual_json.png) 107 | 108 | 109 | ## Дополнительные команды 110 | 111 | Для управления через веб доступны команды: 112 | - http:///cmd/reset -- перезагрузка (доступно через веб-интерфейс); 113 | - http:///cmd/factory -- сброс всех настроек (может быть иногда полезно, но если контроллер еще доступен через веб :), иначе только перепрошивка). 114 | 115 | ## Прошивка 116 | 117 | Для корректной работы требуется прошить основной код и данные файловой системы веб-сервера. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). 118 | Существует 3 файла с прошивками: 119 | - **GC97_ESP.full.4MB.bin** -- Полная прошивка (4Мб) в виде единого файла (__предпочтительный вариант__); 120 | - **GC97_ESP.bin** -- Основная прошивка с кодом (адрес 0x0000000) -- можно использовать для OTA; 121 | - **GC97_ESP.spiffs.bin** -- Прошивка с данными файловой системы (адрес 0x00300000) -- можно использовать для OTA; 122 | 123 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с полной прошивкой (первая срока): 124 | 125 | ![alt Прошивка](../../../manual/manual_flashing.png) 126 | 127 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 128 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 129 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключиться к точке доступа (по умолчанию -- без пароля); 130 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 131 | 132 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 133 | 134 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 135 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 136 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 137 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 138 | 139 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 140 | В списке сетевых устройств появится GC97: 141 | 142 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 143 | 144 | Контекстное меню: 145 | 146 | ![alt Свойства](../../../manual/manual_ssdp.png) 147 | 148 | 149 | ## Старый вариант прошивки (или если у вас версия платы с объемом памяти, отличным от 4Мб) 150 | 151 | Для корректной работы требуется прошить основной код (GC97_ESP.bin) и данные файловой системы веб-сервера (GC97_ESP.spiffs.bin). Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). Для первоначальной установки необходимо выполнить ряд шагов: 152 | 1. Прошить GC97_ESP.bin для ESP8266 по адресу 0x0000; Перезагрузить контроллер; 153 | 2. Найти открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключиться к точке доступа (по умолчанию -- без пароля); 154 | 3. Открыть в браузере страницу с первоначальным экраном настройки; 155 | 4. Указать имя сети и пароль (с учетом регистра) для вашей WiFi сети; Сохраните настройки (в случае успешного сохранения вы можете увидеть JSON с данными -- это нормально); 156 | 5. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 157 | 6. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); 158 | 7. Откройте страницу по указанному IP адресу и убедитесь, что OTA работает (повторите с шага 4, если это не так); 159 | 8. Откройте страницу обновления (http://{ip-адрес}/update) и выберите в строке FileSystem скачанный [SPIFFS](https://github.com/alidonet/GC97_ESP/blob/main/bin/GC97_ESP.spiffs.bin.gz) файл. Нажмите "Обновить" и дождитесь окончания прошивки; 160 | 161 | ![alt Страница обновления](../../../manual/manual_web_update.png) 162 | 163 | 9. После перезагрузки повторно подключитесь к ESP: теперь вам доступен полноценный интерфейс с расширенным набором опций. 164 | 165 | В последующем, для обновления по воздуху, используйте встроенный функционал. Для контроля процесса первоначальной настройки/прошивки вы можете использовать любой монитор COM-порта, к которому подключен ваш ESP (19200 baud rate). 166 | 167 | ## Баги 168 | 169 | Вроде критичных нет :) 170 | Создавайте Issues, если найдете :) 171 | 172 | ## To-Do / Планы 173 | 174 | В данный момент реализован весь базовый функционал. Возможно, при наличии времени, будут добавлены: 175 | - [ ] HASS discovery (поддержка Home Assistant Discovery mode); 176 | - [ ] MQTT entities -- режим с отдельными параметрами кулонометра при передаче по MQTT (сейчас только в виде пакета данных формата json); 177 | - [ ] Дополнительные опции в UI (в коде поддержка большинства уже есть) для настройки: отдельных блоков данных, отдаваемых MQTT; некоторые таймауты и периоды проверок/обновлений; детализация вывода Debug в серийный порт (для отладки и контроля процессов), а также удаленный просмотр логов контроллера через веб. 178 | - [x] Мини-сервер для первоначальной настройки и обновления (подключение к Wifi); 179 | - [x] Русская версия (если кому-то надо); 180 | - [ ] Поддержка Blynk (вроде как многие пользуются); 181 | - [ ] Перевод описания на английский; 182 | - [ ] Видеоинструкция по первоначальной настройке; 183 | - [ ] Что-то еще, сейчас не вспомню :) 184 | -------------------------------------------------------------------------------- /bin/previous/230420/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230420/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/230420/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230420/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/230420/README.md: -------------------------------------------------------------------------------- 1 | # Обмен данными кулонометра GC97 через микроконтроллер ESP8266 2 | ### Удаленный мониторинг заряда/разряда/емкости батареи с поддержкой настроек через веб-интерфейс и оправкой данных по MQTT-протоколу 3 | 4 | ![alt GC97 + ESP8266 = MQTT/JSON](../../../manual/GC97_ESP.jpg) 5 | 6 |
7 | Кратко о GC97 8 | 9 | [Кулонометр GC97](https://aliexpress.ru/wholesale?catId=0&SearchText=GC97%20coulometer) -- простое, китайское изделие, предназначенное для подключения к перезаряжаемой батарее (ИБП, устройства на электропитании от Li-Ion, LeFePo4 и т.п. батарей). Позволяет наглядно отслеживать основные характеристики, такие как напряжение, потребляемый ток (мощность), уровень заряда, остаточную емкость и т.п. Имеет возможность настрйки для разных батарей с указанием отдельных параметров и возможностью точных корректирок. Доступен выход "аварийного" сигнала с извещением, например, о критическом разряде или превышении допустимой мощности нагрузки. Но основная прелесть данного кулонометра -- поддержка TTL протокола. Т.е. с устройства можно снимать показания в цифровом виде, что замечательно подходит для разных систем, которые должны мониториться удаленно или быть в составе модного нынче "умного дома". Одним из простых, дешевых и быстрых решений является использование микроконтроллеров на базе [ESP8266 и производных от него](https://aliexpress.ru/wholesale?CatId=0&SearchText=ESP8266+wifi<ype=wholesale&SortType=total_tranpro_desc&groupsort=1). Это позволяет удаленно снимать показания с кулонометра через запросы по локальной сети (веб-интерфейс) или же интегрировать это с системой умного дома посредством MQTT протокола. 10 | 11 | Для создания такой связки Вам необходимо иметь: 12 | - кулонометр GC97 13 | - ESP8266 контроллер (в любом виде, доступном вам, от отладочных версий NodeMCU до миниатюрных D1 mini и т.п.) 14 | - обеспечить питание контроллера ESP (питание можно подавать через порт USB, если таковой имеется, с отдельного источника питания, внешнего или миниатюрного понижающего DC-DC преобразователя; Предпочтительно иметь общую землю с батареей/кулонометром, главное – следите, чтобы подавать разрешенные 3.3 или 5В). 15 | 16 | Подключаете GC97 к батарее согласно приведенной на нем схеме и обеспечиваете питание ESP. Сам GC97 имеет выводы Rx/Tx, которые необходимо подключить к соответствующим выводам ESP (если сразу не заработает, пробуйте поменять местами Rx/Tx). Вполне легко плата ESP (и миниатюрный DC-DC прячутся внутри корпуса GC97 – там достаточно места). 17 | 18 | Обзоры, примеры использования и подключения вы можете найти в Youtubе, например на канале [dima espirans](https://www.youtube.com/watch?v=-X8CvknmFzM). 19 |
20 | 21 | --- 22 | 23 | ## Последние изменения: 24 | 25 | - [*230420*] 26 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 27 | - Мелкие исправления в работе веб-сервера; 28 | 29 | - [*230418*](../230418/) 30 | - Адаптация UI для моильных устройств, небольшие правки веб страницы настроек; 31 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 32 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 33 | - Добавлена версия для прошивки одним файлом; 34 | 35 | - [*230417*](../230418/) 36 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 37 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 38 | - Новый способ буферизированной отдачи файлов веб-сервером; 39 | 40 | - [*230415*](../230415/) 41 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 42 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 43 | - Исправления на основной веб-странице; 44 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 45 | 46 | --- 47 | 48 | Итак, здесь вы найдете прошивку ESP8266 для работы с кулонометром GC97, которую я создал для личных нужд. Это моя первая прошивка ESP и опыт такого плана, так что могут быть какие-то ошибки и недочеты. Но уж что есть :) 49 | 50 | *В прошивке доступны следующие возможности*: 51 | - AP (wifi точка доступа) -- для независимой работы и первоначальной настройки. По-умолчанию создается открытая (без пароля) сеть с именем GC97-XXXX (где XXXX -- последние знаки mac-адреса ESP), IP адрес 192.168.4.1; 52 | - Подключение к WiFi сети (возможность просканировать и выбрать сеть 2.4GHz, авто-подключение по таймауту); 53 | - Виртуальный хост локальной сети mDNS (<Имя_точки_AP>.local); 54 | - Поддержка SSDP (устройство видно в локальной сети и можно открыть панель управления просто по клику); 55 | - Встроенный веб-сервер с основной информацией кулонометра, возможностью настройки через веб-интерфейс, перезагрузки, сброса и прошивки; адаптация для отображения на мобильных устройствах; 56 | - Поддержка OTA (over-the-air) обновлений; 57 | - Поддержка отправки данных через MQTT-брокера с возможностью указания адреса и порта сервера, имени, пароля, топика и поддержка Retain флага; Авто-подключение; Оптимизация отправки данных только на изменения; 58 | - Запрос данных через веб в формате JSON (по типам, общий запрос); 59 | - Выбор периода опроса кулонометра GC97, контроль и усреднение серии данных для сглаживания "выбросов" в значениях; 60 | - Световая индикация состояния ESP/подключений и режима работы; 61 | - Вывод отладочной информации основных действий и состояния контроллера ESP при подключении по серийному порту (скорость подключения 19200). 62 | 63 | 64 | ## Веб-интерфейс 65 | 66 | ![alt Основной экран веб-сервера](../../../manual/manual_web_main.png) 67 | 68 | Страница доступна: 69 | - по IP адресу встроенной точки доступа (192.168.4.1, после подключения к сети GC97-XXXX); 70 | - по IP адресу, выданному DHCP сети wifi (если указаны корректные SSID и пароль), например 192.168.0.100; 71 | 72 | На данной странице отображается текущее состояние кулонометра и всех подключений (данные обновляются с периодичностью в 10-15 секунд). 73 | 74 | ### Диалог настроек: 75 | 76 | Доступны настройки встроенной точки доступа (AP), (если имя пустое, то будет использовано именование GC97-XXXX, где XXXX последние символы mac-адреса ESP). Также можно задать данные авторизации в сети WiFi (приоритетный, рекомендуемый режим): 77 | 78 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 79 | 80 | Доступно сканирование сетей с возможностью выбора необходимой: 81 | 82 | ![alt Сканирование Wifi сетей](../../../manual/manual_scan_networks.png) 83 | 84 | Можно указать необходимые настройки MQTT брокера: 85 | 86 | ![alt Настройки MQTT](../../../manual/manual_options_mqtt.png) 87 | 88 | Укажите период опроса кулонометра (не чаще 1 раза в секунду), это же является периодом отправки данных по MQTT-протоколу: 89 | 90 | ![alt Дополнительные настройки](../../../manual/manual_options_misc.png) 91 | 92 | Если включена опция "Оправка только изменений", то запросы на MQTT-брокер будут выполняться только в случае изменений и принудительно 1 раз в 10 циклов опроса (для случаев, когда не используется retain). 93 | Также можно отключить поддержку обновлений по воздуху (OTA, требуется перезагрузка для применения опции). 94 | Опция "Всегда включенный светодиод" инвертирует работу встроенного светодиода на плате ESP: постоянное свечение в режиме работы. 95 | 96 | ## LED индикация 97 | 98 | При загрузке ESP идет серия коротких и частых миганий в течение секунды. Далее, с периодичностью раз 2 секунды одиночные вспышки информируют о попытках подключения к сети WiFi, двойные вспышки -- к серверу MQTT (если указаны параметры того и другого). 99 | 100 | С периодичностью опроса кулонометра (по умолчанию раз в 10 секунд) вы мождете видеть вспышки светодиода. Количество означает состояние: 101 | - Одиночная, умеренно продолжительная вспышка -- нормальный режим работы; 102 | - Двойная вспышка говорит о проблеме Wifi подключения; 103 | - Тройная вспышка говорит о проблеме подключения к MQTT-брокеру; 104 | - Четыре вспышки -- невозможно получить данные с кулонометра GC97 (не подключен или данные неверны). 105 | 106 | ## Данные кулонометра 107 | 108 | Вся информацию кулонометра, а также большинство сведений о состоянии ESP и настройки передаются MQTT-брокеру с указанной частотой в виде json. Эти же данные в формате json можно напрямую запросить в любой произвольный момент через постоянный веб-адрес: 109 | - http:///get/all.json -- весь пакет данных 110 | - http:///get/gc97.json -- данные кулонометра 111 | - http:///get/esp.json -- состояние и настройки ESP 112 | - http:///get/state.json -- uptime ESP 113 | 114 | ![alt JSON](../../../manual/manual_json.png) 115 | 116 | 117 | ## Дополнительные команды 118 | 119 | Для управления через веб доступны команды: 120 | - http:///cmd/reset -- перезагрузка (доступно через веб-интерфейс); 121 | - http:///cmd/factory -- сброс всех настроек (может быть иногда полезно, но если контроллер еще доступен через веб :), иначе только перепрошивка). 122 | 123 | ## Прошивка 124 | 125 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](https://www.espressif.com/en/support/download/other-tools). 126 | - **GC97_ESP.bin** -- Основная прошивка с кодом (адрес 0x0000000) -- можно использовать также для OTA обновления; 127 | 128 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 129 | 130 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 131 | 132 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 133 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 134 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 135 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 136 | 137 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 138 | 139 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 140 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 141 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 142 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 143 | 144 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 145 | В списке сетевых устройств появится GC97: 146 | 147 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 148 | 149 | Контекстное меню: 150 | 151 | ![alt Свойства](../../../manual/manual_ssdp.png) 152 | 153 | 154 | ## Старый вариант прошивки (для версий с .spiffs.bin поршивками) 155 | 156 | [Смотрите в описании к старым прошивкам](../230419/) 157 | 158 | ## Баги 159 | 160 | Вроде критичных нет :) 161 | Создавайте Issues, если найдете :) 162 | 163 | ## To-Do / Планы 164 | 165 | В данный момент реализован весь базовый функционал. Возможно, при наличии времени, будут добавлены: 166 | - [ ] HASS discovery (поддержка Home Assistant Discovery mode); 167 | - [ ] MQTT entities -- режим с отдельными параметрами кулонометра при передаче по MQTT (сейчас только в виде пакета данных формата json); 168 | - [ ] Дополнительные опции в UI (в коде поддержка большинства уже есть) для настройки: отдельных блоков данных, отдаваемых MQTT; некоторые таймауты и периоды проверок/обновлений; детализация вывода Debug в серийный порт (для отладки и контроля процессов), а также удаленный просмотр логов контроллера через веб. 169 | - [ ] Поддержка Blynk (вроде как многие пользуются); 170 | - [ ] Перевод описания на английский; 171 | - [ ] Видеоинструкция по первоначальной настройке; 172 | - [ ] Что-то еще, сейчас не вспомню :) 173 | -------------------------------------------------------------------------------- /bin/previous/230526/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230526/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/230526/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/230526/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/230526/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | --- 32 | 33 | ## История изменений 34 | 35 | - [*230526*] 36 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 37 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 38 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 39 | 40 | 41 | - [*230420*] 42 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 43 | 44 | - [*230418*] 45 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 46 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 47 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 48 | - Добавлена версия для прошивки одним файлом; 49 | 50 | - [*230417*] 51 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 52 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 53 | - Новый способ буферизированной отдачи файлов веб-сервером; 54 | 55 | - [*230415*] 56 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 57 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 58 | - Исправления на основной веб-странице; 59 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 60 | 61 | - [*210820*] 62 | - Исправлены недочеты в упрощенной странице настройки; 63 | 64 | - *210514* 65 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 66 | - Небольшие правки в UI; 67 | 68 | - *210508* 69 | - Исправления в UI, обновление прошивки файловой системы; 70 | 71 | - *210505* 72 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 73 | 74 | - *210503* 75 | - Обновления в данных json; 76 | 77 | - *210430* 78 | - UI: Кастомные диалоги, обновление базового интерфейса; 79 | 80 | - *210429* 81 | - UI: Диалог настроек, кнопка перезагрузки; 82 | 83 | - *210421* 84 | - Тестовая версия прошивки. 85 | -------------------------------------------------------------------------------- /bin/previous/231020/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231020/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/231020/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231020/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/231020/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*231020*] 38 | - добавлена опция HASS Discovery; 39 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 40 | 41 | - [*230526*] 42 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 43 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 44 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 45 | 46 | 47 | - [*230420*] 48 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 49 | 50 | - [*230418*] 51 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 52 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 53 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 54 | - Добавлена версия для прошивки одним файлом; 55 | 56 | - [*230417*] 57 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 58 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 59 | - Новый способ буферизированной отдачи файлов веб-сервером; 60 | 61 | - [*230415*] 62 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 63 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 64 | - Исправления на основной веб-странице; 65 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 66 | 67 | - [*210820*] 68 | - Исправлены недочеты в упрощенной странице настройки; 69 | 70 | - *210514* 71 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 72 | - Небольшие правки в UI; 73 | 74 | - *210508* 75 | - Исправления в UI, обновление прошивки файловой системы; 76 | 77 | - *210505* 78 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 79 | 80 | - *210503* 81 | - Обновления в данных json; 82 | 83 | - *210430* 84 | - UI: Кастомные диалоги, обновление базового интерфейса; 85 | 86 | - *210429* 87 | - UI: Диалог настроек, кнопка перезагрузки; 88 | 89 | - *210421* 90 | - Тестовая версия прошивки. 91 | -------------------------------------------------------------------------------- /bin/previous/231023/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231023/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/231023/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231023/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/231023/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*231023*] 38 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 39 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 40 | 41 | - [*231020*] 42 | - добавлена опция HASS Discovery; 43 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 44 | 45 | - [*230526*] 46 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 47 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 48 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 49 | 50 | 51 | - [*230420*] 52 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 53 | 54 | - [*230418*] 55 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 56 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 57 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 58 | - Добавлена версия для прошивки одним файлом; 59 | 60 | - [*230417*] 61 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 62 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 63 | - Новый способ буферизированной отдачи файлов веб-сервером; 64 | 65 | - [*230415*] 66 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 67 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 68 | - Исправления на основной веб-странице; 69 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 70 | 71 | - [*210820*] 72 | - Исправлены недочеты в упрощенной странице настройки; 73 | 74 | - *210514* 75 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 76 | - Небольшие правки в UI; 77 | 78 | - *210508* 79 | - Исправления в UI, обновление прошивки файловой системы; 80 | 81 | - *210505* 82 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 83 | 84 | - *210503* 85 | - Обновления в данных json; 86 | 87 | - *210430* 88 | - UI: Кастомные диалоги, обновление базового интерфейса; 89 | 90 | - *210429* 91 | - UI: Диалог настроек, кнопка перезагрузки; 92 | 93 | - *210421* 94 | - Тестовая версия прошивки. 95 | -------------------------------------------------------------------------------- /bin/previous/231130/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231130/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/231130/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/231130/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/231130/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*231130*] 38 | - исправлена ошибка с отображением отрицательных температур (#5); 39 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 40 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 41 | 42 | - [*231023*] 43 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 44 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 45 | 46 | - [*231020*] 47 | - добавлена опция HASS Discovery; 48 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 49 | 50 | - [*230526*] 51 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 52 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 53 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 54 | 55 | 56 | - [*230420*] 57 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 58 | 59 | - [*230418*] 60 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 61 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 62 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 63 | - Добавлена версия для прошивки одним файлом; 64 | 65 | - [*230417*] 66 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 67 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 68 | - Новый способ буферизированной отдачи файлов веб-сервером; 69 | 70 | - [*230415*] 71 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 72 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 73 | - Исправления на основной веб-странице; 74 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 75 | 76 | - [*210820*] 77 | - Исправлены недочеты в упрощенной странице настройки; 78 | 79 | - *210514* 80 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 81 | - Небольшие правки в UI; 82 | 83 | - *210508* 84 | - Исправления в UI, обновление прошивки файловой системы; 85 | 86 | - *210505* 87 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 88 | 89 | - *210503* 90 | - Обновления в данных json; 91 | 92 | - *210430* 93 | - UI: Кастомные диалоги, обновление базового интерфейса; 94 | 95 | - *210429* 96 | - UI: Диалог настроек, кнопка перезагрузки; 97 | 98 | - *210421* 99 | - Тестовая версия прошивки. 100 | -------------------------------------------------------------------------------- /bin/previous/240317/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240317/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/240317/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240317/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/240317/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*240317*] 38 | - попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 39 | - небольшая оптимизация веб-контента: убраны украшательства в виде иконок статуса, минификация стилей и скриптов, возврат к одностраничному кешированному документу; 40 | - авто-перезагрузка страницы при обнаружении новой версии для обновления кеша; 41 | - небольшие исправления на перезагрузку контроллера (веб интерфейс); 42 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае потери связи (в течение пары минут, кейс #8); 43 | - небольшие изменения в декларировании сенсоров в режиме Hass Discovery (кейс #9); 44 | - обычный режим отдачи данных по MQTT: отдельные сенсоры + общие json; 45 | 46 | - [*231130*] 47 | - исправлена ошибка с отображением отрицательных температур (#5); 48 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 49 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 50 | 51 | - [*231023*] 52 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 53 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 54 | 55 | - [*231020*] 56 | - добавлена опция HASS Discovery; 57 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 58 | 59 | - [*230526*] 60 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 61 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 62 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 63 | 64 | 65 | - [*230420*] 66 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 67 | 68 | - [*230418*] 69 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 70 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 71 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 72 | - Добавлена версия для прошивки одним файлом; 73 | 74 | - [*230417*] 75 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 76 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 77 | - Новый способ буферизированной отдачи файлов веб-сервером; 78 | 79 | - [*230415*] 80 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 81 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 82 | - Исправления на основной веб-странице; 83 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 84 | 85 | - [*210820*] 86 | - Исправлены недочеты в упрощенной странице настройки; 87 | 88 | - *210514* 89 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 90 | - Небольшие правки в UI; 91 | 92 | - *210508* 93 | - Исправления в UI, обновление прошивки файловой системы; 94 | 95 | - *210505* 96 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 97 | 98 | - *210503* 99 | - Обновления в данных json; 100 | 101 | - *210430* 102 | - UI: Кастомные диалоги, обновление базового интерфейса; 103 | 104 | - *210429* 105 | - UI: Диалог настроек, кнопка перезагрузки; 106 | 107 | - *210421* 108 | - Тестовая версия прошивки. 109 | -------------------------------------------------------------------------------- /bin/previous/240504/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240504/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/240504/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240504/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/240504/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*240504*] 38 | - очередная попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 39 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 40 | 41 | - [*240317*] 42 | - попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 43 | - небольшая оптимизация веб-контента: убраны украшательства в виде иконок статуса, минификация стилей и скриптов, возврат к одностраничному кешированному документу; 44 | - авто-перезагрузка страницы при обнаружении новой версии для обновления кеша; 45 | - небольшие исправления на перезагрузку контроллера (веб интерфейс); 46 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае потери связи (в течение пары минут, кейс #8); 47 | - небольшие изменения в декларировании сенсоров в режиме Hass Discovery (кейс #9); 48 | - обычный режим отдачи данных по MQTT: отдельные сенсоры + общие json; 49 | 50 | - [*231130*] 51 | - исправлена ошибка с отображением отрицательных температур (#5); 52 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 53 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 54 | 55 | - [*231023*] 56 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 57 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 58 | 59 | - [*231020*] 60 | - добавлена опция HASS Discovery; 61 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 62 | 63 | - [*230526*] 64 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 65 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 66 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 67 | 68 | 69 | - [*230420*] 70 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 71 | 72 | - [*230418*] 73 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 74 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 75 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 76 | - Добавлена версия для прошивки одним файлом; 77 | 78 | - [*230417*] 79 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 80 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 81 | - Новый способ буферизированной отдачи файлов веб-сервером; 82 | 83 | - [*230415*] 84 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 85 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 86 | - Исправления на основной веб-странице; 87 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 88 | 89 | - [*210820*] 90 | - Исправлены недочеты в упрощенной странице настройки; 91 | 92 | - *210514* 93 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 94 | - Небольшие правки в UI; 95 | 96 | - *210508* 97 | - Исправления в UI, обновление прошивки файловой системы; 98 | 99 | - *210505* 100 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 101 | 102 | - *210503* 103 | - Обновления в данных json; 104 | 105 | - *210430* 106 | - UI: Кастомные диалоги, обновление базового интерфейса; 107 | 108 | - *210429* 109 | - UI: Диалог настроек, кнопка перезагрузки; 110 | 111 | - *210421* 112 | - Тестовая версия прошивки. 113 | -------------------------------------------------------------------------------- /bin/previous/240612/GC97_ESP.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240612/GC97_ESP.bin -------------------------------------------------------------------------------- /bin/previous/240612/GC97_ESP.bin.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/bin/previous/240612/GC97_ESP.bin.gz -------------------------------------------------------------------------------- /bin/previous/240612/README.md: -------------------------------------------------------------------------------- 1 | ## Прошивка 2 | 3 | В теущей версии для корректной работы требуется прошить только основной код. Это можно сделать с помощью любой утилиты для прошивки ESP, через Arduino IDE и т.п. Рекомендую использовать [Flash download tools](../utils/). 4 | - **GC97_ESP.bin** -- Основная прошивка (адрес 0x0000000) -- можно использовать для первичной прошивки и также для обновления; 5 | 6 | 1. Запустить утилиту для прошивки, указать контроллер ESP8266 и выбираем файл с прошивкой (первая срока): 7 | 8 | ![alt Прошивка](../../../manual/manual_flashing_single.png) 9 | 10 | 2. Внизу выбрать COM-порт, к которому подключен контроллер и нажать кнопку "START"; 11 | 3. После окончания прошивки закрываем утилиту и перезагружаем контроллер; При желании работу контроллера можно отслеживать с помощью любой утилиты мониторинга COM-порта; 12 | 4. Находим открытую точку доступа с именем GC97-XXXXXX, где XXXXXX -- последние знаки mac-адреса вашей платы ESP; Подключаемся к этой точке доступа (по умолчанию -- без пароля); 13 | 5. Открыть в браузере страницу ; Должен отобразиться интерфейс -- в верхней строке нажать "Настройки" ("Settings"); 14 | 15 | ![alt Настройки Wifi/AP](../../../manual/manual_options_wifi.png) 16 | 17 | 6. Указать имя сети и пароль (с учетом регистра) вашей WiFi сети; Сохраните настройки, подождите 15-20 секунд; 18 | 7. Перегрузите ESP и дождитесь его появления в сети (может занять до 30 секунд); 19 | 8. Откройте и убедитесь, что WiFi подключен и контроллер получил IP-адрес в вашей сети (например, 192.168.1.100); Иначе -- проверьте настройки вашей сети (пункт 6); 20 | 9. Теперь вы можете отключиться от сети GC97-XXXXXX и открыть полноценный интерфейс по новому адресу, выданному контроллеру в вашей WiFi сети (например, 192.168.1.100). 21 | 22 | Как вариант, если вы используете Windows, можете не выполнять шаги 8-9, а просматривать устройства вашей локальной сети. Обычно это длительный процесс, но так тоже можно узнать адрес контроллера и открыть панель управления просто по клику. 23 | В списке сетевых устройств появится GC97: 24 | 25 | ![alt Сетевое устройство](../../../manual/manual_gc97_network.png) 26 | 27 | Контекстное меню: 28 | 29 | ![alt Свойства](../../../manual/manual_ssdp.png) 30 | 31 | Как вариант, если устройство работает нормально и вы хотите обновить прошивку по воздуху (OTA), то это можно сделать из консоли, запустив из папки, где расположен файл прошивки, команду: `curl -F "image=@GC97_ESP.bin" /update`, где __ нужно заменить на ваш. 32 | 33 | --- 34 | 35 | ## История изменений 36 | 37 | - [*240612*] 38 | - исправлено возможное зависание при обрыве соединения в момент передачи большого пакета данных; 39 | - изменения в части подключения клиентов к точке дсотупа; 40 | - добавлена опция авто-отключения точки доступа через 3-5 минут после подключения к WiFi для освобождения эфира; 41 | - улучшен контроль соединения с WiFi, форсированное авто-подключение; 42 | - автоматический запуск точки доступа при проблемах с WiFi подключением (даже если опция отключена в настройках); 43 | - небольшие правки в UI; 44 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 45 | - больше технических данных в json состояния; 46 | 47 | - [*240504*] 48 | - очередная попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 49 | - исправлено MQTT описание сенсора емкости батареи (кейс #12); 50 | 51 | - [*240317*] 52 | - попытка исправить работу веб-сервера (обрыв при передаче данных, неполная загрузка - кейс #7); 53 | - небольшая оптимизация веб-контента: убраны украшательства в виде иконок статуса, минификация стилей и скриптов, возврат к одностраничному кешированному документу; 54 | - авто-перезагрузка страницы при обнаружении новой версии для обновления кеша; 55 | - небольшие исправления на перезагрузку контроллера (веб интерфейс); 56 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае потери связи (в течение пары минут, кейс #8); 57 | - небольшие изменения в декларировании сенсоров в режиме Hass Discovery (кейс #9); 58 | - обычный режим отдачи данных по MQTT: отдельные сенсоры + общие json; 59 | 60 | - [*231130*] 61 | - исправлена ошибка с отображением отрицательных температур (#5); 62 | - MQTT-сервер можно указать как обычный веб-адрес (было разрешено только как IP-адрес до этого момента); 63 | - небольшая оптимизация подключения к MQTT, повторные попытки подключения в случае неудач (с интервалом от пары минут); 64 | 65 | - [*231023*] 66 | - небольшая оптимизация работы веб-сервера, исправлно кеширование статичных страниц; 67 | - HASS Discovery: изменены названия топиков, добавлена опция частоты опроса; 68 | 69 | - [*231020*] 70 | - добавлена опция HASS Discovery; 71 | - изменения в UI странице: разбивка на html, css, js (все части кешируются), что позволяет немного улучшить отзывчивость; 72 | 73 | - [*230526*] 74 | - исправлена форма настроек (было ограничение длины полей 16 символов, кейс #4); 75 | - авто-включение точки доступа, если не удалось соединиться с wifi сетью; 76 | - исправлено падение при вызове mDNS, когда некорректно инициализированы сетевые протоколы (нет корректных настроек); 77 | 78 | 79 | - [*230420*] 80 | - Оптимизированный вариант прошивки в виде одного файла: не требует наличия SPIFFS, упрощенная первичная прошивка и обновление; 81 | 82 | - [*230418*] 83 | - Адаптация UI для мобильных устройств, небольшие правки веб страницы настроек; 84 | - Ссылки на актуальные файлы прошивок в диалоге обновления; 85 | - Исправлена ошибка с обновлением прошивки/файловой системы через диалог (#1); 86 | - Добавлена версия для прошивки одним файлом; 87 | 88 | - [*230417*] 89 | - Добавлена поддержка мульти-язычного UI, доступные языки: English, Русский; 90 | - Исправлены ошибки в UI с диалогами, сохранением пустых настроек; 91 | - Новый способ буферизированной отдачи файлов веб-сервером; 92 | 93 | - [*230415*] 94 | - Добавлена поддержка SSDP (обнаруживается в сети как устройство GC97); 95 | - Исправлено возможные падение/перезагрузка контроллера при отсутствии соединения с WiFi; 96 | - Исправления на основной веб-странице; 97 | - Расширенный блок настроек (увеличены текстовые поля для адресов, имен и т.п., #3); 98 | 99 | - [*210820*] 100 | - Исправлены недочеты в упрощенной странице настройки; 101 | 102 | - *210514* 103 | - Добавлена упрощенная страница настройки для случаев, когда нет файловой системы; 104 | - Небольшие правки в UI; 105 | 106 | - *210508* 107 | - Исправления в UI, обновление прошивки файловой системы; 108 | 109 | - *210505* 110 | - UI: Сохранение настроек из веб, обновления в диалоге сканирования Wifi сетей; 111 | 112 | - *210503* 113 | - Обновления в данных json; 114 | 115 | - *210430* 116 | - UI: Кастомные диалоги, обновление базового интерфейса; 117 | 118 | - *210429* 119 | - UI: Диалог настроек, кнопка перезагрузки; 120 | 121 | - *210421* 122 | - Тестовая версия прошивки. 123 | -------------------------------------------------------------------------------- /bin/upgrade.bat: -------------------------------------------------------------------------------- 1 | curl -F "image=@GC97_ESP.bin" 192.168.0.142/update -------------------------------------------------------------------------------- /manual/GC97_ESP.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/GC97_ESP.jpg -------------------------------------------------------------------------------- /manual/manual_flashing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_flashing.png -------------------------------------------------------------------------------- /manual/manual_flashing_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_flashing_single.png -------------------------------------------------------------------------------- /manual/manual_gc97_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_gc97_network.png -------------------------------------------------------------------------------- /manual/manual_hass_devices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_hass_devices.png -------------------------------------------------------------------------------- /manual/manual_hass_esp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_hass_esp.png -------------------------------------------------------------------------------- /manual/manual_hass_gc97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_hass_gc97.png -------------------------------------------------------------------------------- /manual/manual_json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_json.png -------------------------------------------------------------------------------- /manual/manual_options_misc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_options_misc.png -------------------------------------------------------------------------------- /manual/manual_options_mqtt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_options_mqtt.png -------------------------------------------------------------------------------- /manual/manual_options_wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_options_wifi.png -------------------------------------------------------------------------------- /manual/manual_scan_networks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_scan_networks.png -------------------------------------------------------------------------------- /manual/manual_ssdp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_ssdp.png -------------------------------------------------------------------------------- /manual/manual_web_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_web_main.png -------------------------------------------------------------------------------- /manual/manual_web_update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/manual_web_update.png -------------------------------------------------------------------------------- /manual/wiring_GC97_2K.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/wiring_GC97_2K.jpg -------------------------------------------------------------------------------- /manual/wiring_GC97_ESP.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/wiring_GC97_ESP.jpg -------------------------------------------------------------------------------- /manual/wiring_GC97_points.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/manual/wiring_GC97_points.jpg -------------------------------------------------------------------------------- /sources/Sources.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/sources/Sources.zip -------------------------------------------------------------------------------- /utils/SerialMonitor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/utils/SerialMonitor.exe -------------------------------------------------------------------------------- /utils/SerialMonitor.ini: -------------------------------------------------------------------------------- 1 | [MainForm] 2 | Left=109 3 | Top=100 4 | Width=1440 5 | Height=759 6 | Maximized=0 7 | 8 | [Font] 9 | Name=Courier New 10 | Size=10 11 | Color=clWindowText 12 | 13 | [Settings] 14 | AutoScroll=1 15 | AutoConnect=0 16 | DTR=0 17 | Postfix=0 18 | Speed=5 19 | HookUpload=1 20 | Encoding=1 21 | GameMode=0 22 | Port=COM10 23 | 24 | [Visible] 25 | ToolBar=1 26 | TopPanel=1 27 | AutoScroll=1 28 | Encoding=0 29 | DTR=0 30 | Postfix=0 31 | Port=1 32 | Speed=1 33 | BottomPanel=1 34 | 35 | -------------------------------------------------------------------------------- /utils/configure/esp8266/hspi_download.conf: -------------------------------------------------------------------------------- 1 | [EFUSE CHECK] 2 | efuse_mode = 1 3 | efuse_err_halt = 1 4 | 5 | [DOWNLOAD PATH] 6 | file_sel0 = 0 7 | file_path0 = 8 | file_offset0 = 9 | file_sel1 = 0 10 | file_path1 = 11 | file_offset1 = 12 | file_sel2 = 0 13 | file_path2 = 14 | file_offset2 = 15 | file_sel3 = 0 16 | file_path3 = 17 | file_offset3 = 18 | file_sel4 = 0 19 | file_path4 = 20 | file_offset4 = 21 | file_sel5 = 0 22 | file_path5 = 23 | file_offset5 = 24 | file_sel6 = 0 25 | file_path6 = 26 | file_offset6 = 27 | file_sel7 = 0 28 | file_path7 = 29 | file_offset7 = 30 | file_sel8 = 0 31 | file_path8 = 32 | file_offset8 = 33 | file_sel9 = 0 34 | file_path9 = 35 | file_offset9 = 36 | file_sel10 = 0 37 | file_path10 = 38 | file_offset10 = 39 | file_sel11 = 0 40 | file_path11 = 41 | file_offset11 = 42 | file_sel12 = 0 43 | file_path12 = 44 | file_offset12 = 45 | file_sel13 = 0 46 | file_path13 = 47 | file_offset13 = 48 | default_path = C:\git\gc97_esp\utils 49 | 50 | [FLASH_CRYSTAL] 51 | spicfgdis = 1 52 | spispeed = 0 53 | spimode = 0 54 | 55 | [LOG_CHECK] 56 | log_check_enable = False 57 | log_check_baud = 115200 58 | log_check_str = 1.0.0 59 | log_check_delaytime = 3 60 | log_check_timeout = 3 61 | log_check_cmd_str = AT+GMR 62 | log_check_enable_cmd = False 63 | 64 | [MAC_SAVE] 65 | mac_save_enable = False 66 | 67 | [ESPTOOL_PARAM] 68 | after = no_reset 69 | before = default_reset 70 | compress = True 71 | flash_size = keep 72 | no_stub = False 73 | verify = True 74 | flash_freq = keep 75 | flash_mode = keep 76 | 77 | [DOWNLOAD] 78 | autostart1 = 0 79 | com_port1 = 80 | baudrate1 = 0 81 | checkmac1 = 1 82 | 83 | -------------------------------------------------------------------------------- /utils/configure/esp8266/spi_download.conf: -------------------------------------------------------------------------------- 1 | [EFUSE CHECK] 2 | efuse_mode = 1 3 | efuse_err_halt = 1 4 | 5 | [DOWNLOAD PATH] 6 | file_sel0 = 1 7 | file_path0 = ..\bin\GC97_ESP.bin 8 | file_offset0 = 0x00000000 9 | file_sel1 = 0 10 | file_path1 = 11 | file_offset1 = 12 | file_sel2 = 0 13 | file_path2 = 14 | file_offset2 = 15 | file_sel3 = 0 16 | file_path3 = 17 | file_offset3 = 18 | file_sel4 = 0 19 | file_path4 = 20 | file_offset4 = 21 | file_sel5 = 0 22 | file_path5 = 23 | file_offset5 = 24 | file_sel6 = 0 25 | file_path6 = 26 | file_offset6 = 27 | file_sel7 = 0 28 | file_path7 = 29 | file_offset7 = 30 | file_sel8 = 0 31 | file_path8 = 32 | file_offset8 = 33 | file_sel9 = 0 34 | file_path9 = 35 | file_offset9 = 36 | file_sel10 = 0 37 | file_path10 = 38 | file_offset10 = 39 | file_sel11 = 0 40 | file_path11 = 41 | file_offset11 = 42 | file_sel12 = 0 43 | file_path12 = 44 | file_offset12 = 45 | file_sel13 = 0 46 | file_path13 = 47 | file_offset13 = 48 | default_path = ..\ 49 | 50 | [FLASH_CRYSTAL] 51 | spicfgdis = 1 52 | spispeed = 0 53 | spimode = 0 54 | 55 | [LOG_CHECK] 56 | log_check_enable = False 57 | log_check_baud = 115200 58 | log_check_str = 1.0.0 59 | log_check_delaytime = 3 60 | log_check_timeout = 3 61 | log_check_cmd_str = AT+GMR 62 | log_check_enable_cmd = False 63 | 64 | [MAC_SAVE] 65 | mac_save_enable = False 66 | 67 | [ESPTOOL_PARAM] 68 | after = no_reset 69 | before = default_reset 70 | compress = True 71 | flash_size = keep 72 | no_stub = False 73 | verify = True 74 | flash_freq = keep 75 | flash_mode = keep 76 | 77 | [DOWNLOAD] 78 | autostart1 = 0 79 | com_port1 = COM10 80 | baudrate1 = 3 81 | checkmac1 = 1 82 | 83 | -------------------------------------------------------------------------------- /utils/configure/esp8266/utility.conf: -------------------------------------------------------------------------------- 1 | [LOG_LEVEL] 2 | utility_log_level = ERROR 3 | spi_log_level = ERROR 4 | hspi_log_level = ERROR 5 | 6 | [MAC SAVE] 7 | mac_save_enable = False 8 | 9 | [SECTOR_PROTECT] 10 | sector_protect_enable = False 11 | sector_protect_start = 0xe000 12 | sector_protect_end = 0x3000 13 | 14 | -------------------------------------------------------------------------------- /utils/flash_download_tool_3.9.4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alidonet/GC97_ESP/918169268adc0d6f6fb82aedfc68b104f42057b7/utils/flash_download_tool_3.9.4.exe --------------------------------------------------------------------------------