Утилита Flash DownLoad Tool поможет записать на платформу с чипом ESP8266EX
прошивку в формате .bin
.
Программа будет полезна для загрузки интерпретатора JavaScript в чип ESP8266
, а так же восстановить на модулях стандартную AT-прошивку.
Подготовка железа
Подключите управляющую платформу в режиме прошивки:
-
Подключение WiFi Slot — просто подключите платформу к ПК через micro-USB разъём.
Выбор прошивки
Выберите файл прошивки в зависимости от выходного результата.
Прошивка модуля
-
Скачайте утилиту Flash Download Tool.
-
Распакуйте архив с программой для установки прошивки.
При этом конечный путь к программе и файлу прошивки не должен содержать кириллических символов.
-
Запустите файл
ESPFlashDownloadTool
. -
В появившемся окне выберите
ESP8266 DownloadTool
. -
Укажите путь к файлу прошивки, отметьте выбранный файл галочкой в чекбоксе напротив и укажите адрес 0х00, по которому будет записан файл в память модуля.
-
Выберите «СОМ-порт» к которому подключен модуль и установите скорость 115200 бод.
-
Настройте оставшиеся поля и чекбоксы, как показано на картинке.
-
Зажмите кнопку
PROG
модуле и удерживая её нажмите и отпустите кнопкуRESET
. После этого отпустите кнопку PROG. Модуль перейдет в режим ожидания прошивки. -
Жмите кнопку «Start» в окне программы.
Если вы используете платформу «Sonoff Basic» используйте настройки:
-
FLASH SIZE: 8Mbit
-
SPI MODE: DOUT
-
-
Дождитесь окончания прошивки.
Теперь смело приступайте к дальнейшей работы с модулем.
Для работы с RemoteXY модуль ESP8266 должен иметь версию прошивки с поддержкой AT команд не ниже v0.40. Для проверки версии модуля, а так же для изменения прошивки в случае необходимости, подключите модуль к компьютеру через последовательный порт. Модуль можно подключить через плату Arduino или через USB-UART адаптер.
Подключение через плату Arduino
При использовании Arduino основной чип ATmega переводится в режим сброса, активным остается только встроенный USB-UART преобразователь. Для этого контакт RESET соединяется с землей. Контакты RX и TX подключаются к ESP8266 напрямую, а не крест накрест, как если бы они подключались для работы с контроллером.
Подключение через USB-UART адаптер
Преобразователь должен иметь выход источника 3.3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.
Контакт CPIO0 определяет режим работы модуля. При не подключенном контакте модуль работает в штатном режиме и выполняет AT команды. При замыкании контакта на землю, модуль переводится в режим обновления встроенной прошивки. Перевод модуля в режим прошивки требует, что бы контакт CPIO0 был подключен к «земле» в момент подачи питания на модуль. Если замыкать контакт при работающем модуле, перевод модуля в режим обновления прошивки не произойдет.
Проверка текущей версии
Для отправки AT команд и просмотра ответов необходимо использовать любую программу монитора последовательного порта. Очень хорошо подходит терминальная программа из Arduino IDE. В программе необходимо установить режим отправки команд с завершающим символом перевода строки и возвратом каретки. Скорость работы модуля по умолчанию 115200 бит/сек.
Для работы модуля в штатном режиме контакт CPIO0 должен быть отключен.
Проверить текущую версию прошивки можно выполнив AT команду: AT+GMR. Пример ответа модуля:
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK
Так же стоит узнать размер флеш памяти вашего модуля, от этого зависят настройки адресов загрузки данных при обновлении прошивки. В данной инструкции описана прошивка модуля с размером флеш памяти 8Mbit(512KB+512KB) или 16Mbit(1024KB+1024KB), как наиболее распространенных. Размер флеш памяти можно узнать, выполнив AT команду сброса модуля: AT+RST.
AT+RST
OK
ets Jan 8 2013,rst cause:2, boot mode:(3,1)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
#т#n't use rtc mem data
slЏ‚rlМя
Ai-Thinker Technology Co.,Ltd.
ready
Программа для прошивки
Для обновлении прошивки необходимо скачать программу для прошивки и саму прошивку. Программа для прошивки ESP8266 будем использовать Flash Download Tools с официального сайта Espressif Systems. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «Tools».
Прошивка
Прошивку так же можно скачать с официального сайта. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «SDKs & Demos» и загрузить прошивку ESP8266 NONOS SDK версии не менее v1.3.0. Именно с этой версии прошивки реализована поддержка AT команд v0.40 и более.
Все скаченные файлы необходимо распаковать и поместить в каталог, где полный путь к файлам состоит только из латинских символов, то есть без символов локализации языка.
Настройка
Запускаем программу прошивки Flash Download Tools v2.4 (одноименный .exe файл). В открывшемся окне необходимо правильно указать загружаемые файлы и настройку соединения.
Загружаемые файлы располагаются в каталоге bin архива с прошивкой. Для каждого файла необходимо указать правильный адрес загрузки. Используйте следующую таблицу для выбора файлов и назначения адресов:
Файл в каталоге bin | Флеш 8Mbit (512KB+512KB) | Флеш 16Mbit (1024KB+1024KB) |
esp_init_data_default.bin | 0xFC000 | 0x1FC000 |
blank.bin | 0xFE000 | 0x1FE000 |
boot_v1.4(b1).bin или старшей версии | 0x00000 | 0x00000 |
user1.1024.new.2.bin (в подкаталоге at) | 0x01000 | 0x01000 |
user2.1024.new.2.bin (в подкаталоге at) | 0x81000 | 0x81000 |
Установите следующие параметры настройки:
- SPIAutoSet — установлен;
- CrystalFreq — 26M;
- FLASH SIZE – 8Mbit или 16Mbit в зависимости от размера флеш-памяти;
- COM PORT – выберите порт, к которому подключена ESP;
- BAUDRATE – 115200
Для старта прошивки необходимо нажать кнопку «START».
Последовательность шагов для прошивки ESP8266
1. Подключите модуль к компьютеру согласно схеме подключения в этой статье.
2. Запустите монитор последовательного порта. Выполните AT команды AT+RST и AT+GMR для определения текущей версии прошивки и размера памяти модуля. Этот шаг так же позволяет проверить правильность подключения модуля.
3. Запустите программу прошивки Flash Download Tools, правильно настройте загружаемые файлы, установите настройки.
4. Отключите питание модуля ESP8266.
5. Соедините контакт CPIO0 на землю.
6. Подайте питание на модуль ESP8266.
7. Нажмите в программе прошивки кнопку START
8. Дождитесь окончания прошивки модуля. По окончании прошивки появится надпись FINISH зеленого цвета.
9. Отсоедините питание модуля ESP8266. Отсоедините землю с контакта CPIO0.
10. Включите модуль, запустите монитор последовательного порта. Убедитесь в работоспособности модуля и новой версии прошивки выполнив AT команду AT+GMR.
В двух предыдущих статьях на нашем сайте мы рассмотрели начало работы с модулем ESP8266 и его программирование с помощью AT команд. Также мы спроектировали плату для программирования модуля на основе адаптера FTDI, в которой можно легко переключаться между режимами использования AT команд и использования Arduino IDE.
В этой же статье мы рассмотрим программирование модуля ESP8266 с помощью среды Arduino IDE. Но перед этим необходимо рассмотреть ряд важных моментов. Модули ESP8266 поставляются с заранее загруженным в них программным обеспечением (прошивкой, firmware). Эта прошивка может использоваться для взаимодействия с модулем в режиме AT команд. Но если мы будем использовать Arduino IDE для взаимодействия с модулем, то эта прошивка будет перезаписана. После этого для взаимодействия с модулем нельзя будет использовать AT команды. Поэтому чтобы вернуть модулю ESP8266 эту способность мы должны в него снова загрузить его оригинальную прошивку (по умолчанию).
Необходимые компоненты
- Модуль ESP8266 (купить на AliExpress).
- Плата FTDI (3.3V) (купить на AliExpress).
- Arduino IDE.
Схема проекта
Схема для программирования модуля ESP8266 с помощью Arduino IDE представлена на следующем рисунке.
Более подробно назначение ее элементов и правила работы с нею рассмотрены в нашей предыдущей статье про основы работы с модулем ESP8266.
Работа с модулями ESP стала значительно проще после того как сообщество Arduino ввело их поддержку в своих продуктах (в частности, в Arduino IDE) и разработало специальную библиотеку для работы с ними. В результате этого появились легкие и интуитивно понятные механизмы программирования и работы с модулями ESP, что позволило не вдаваться в подробности изучения достаточно сложных для освоения AT команд.
В этой статье мы рассмотрим настройку Arduino IDE для работы с модулями ESP и загрузим в модуль простую программу для мигания светодиодом.
Шаг 1. Если у вас нет Arduino IDE, то вы можете скачать и установить ее по следующей ссылке.
Шаг 2. В Arduino IDE откройте пункт меню File -> Preferences чтобы открыть показанное на рисунке ниже диалоговое окно. В поле “Additional Board managers URL” вставьте ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json как показано на следующем рисунке. После этого нажмите OK.
Шаг 3. Откройте пункт меню Tool -> Boards -> Board Managers. В открывшемся менеджере библиотек выполните поиск библиотеки ESP8266 от сообщества esp8266, после чего установите ее.
Установка займет некоторое время.
Шаг 4. Откройте пункт меню Tools -> Boards -> Generic ESP8266 modules. Вы увидите окно, показанное на следующем рисунке.
Шаг 5. Попробуем загрузить тестовую программу мигания светодиодом в модуль. Эту программу можно найти по адресу: File -> Examples -> ESP8266 -> Blink.
Шаг 6. Подключите модуль ESP8266 и плату FTDI к схеме нашего проекта и убедитесь в том, что контакт GPIO0 замкнут на землю – для этого в нашей схеме достаточно просто переключить джампер, который используется для переключения между режимами AT команд и использования Arduino IDE. Затем подайте питание на модуль и нажмите кнопку сброса (reset) в нашей схеме. В этом случае конструкция нашего проекта должна выглядеть следующим образом:
Шаг 7. Теперь нажмите кнопку загрузки программы (upload) в модуль. Загрузка программы в модуль займет немного больше времени чем загрузка аналогичной программы в плату Arduino. Дождитесь завершения загрузки программы. После этого вы должны увидеть следующий экран:
Вы должны увидеть как на вашем модуле начнет мигать светодиод синего цвета – это будет означать что программа успешно загрузилась в модуль. Более подробно все эти процессы вы можете посмотреть на видео, приведенном в конце статьи.
После этого, если вы снова захотите управлять модулем с помощью AT команд, то они не будут работать. Чтобы они снова заработали, в модуль необходимо загрузить его первоначальную прошивку.
Загрузка прошивки в модуль ESP8266
После того как мы программировали модуль ESP8266 из Arduino IDE или по каким то другим причинам оригинальная прошивка модуля может повреждаться и тогда он уже не сможет работать с AT командами. В данном разделе мы рассмотрим каким образом можно восстановить оригинальную прошивку модуля
Схему проекта мы будем использовать ту же самую, приведенную выше в статье. Для загрузки оригинальной прошивки в модуль ESP8266 выполните следующую последовательность шагов.
Шаг 1. Скачайте инструменты для загрузки прошивки (Flash Download Tools) по этой ссылке. Саму прошивку можно скачать отсюда.
Шаг 2. Откройте программу для загрузки прошивки (Flash Download Tools), которую мы скачали в предыдущем шаге. Внешний вид главного окна этой программы показан на рисунке ниже. В нем нажмите на кнопку ESP8266 Download Tool.
Шаг 3. Откроется диалоговое окно, показанное на следующем рисунке. В нем необходимо установить частоту кристалла (Crystal Freq). Также установите в этом окне параметры Crystal Freq 26M, SPI Speed 40MHz, SPI mode QIO, Flash Size 8-bit, COM порт 20 (в вашем случае номер COM порта может отличаться) и скорость 115200 бод как показано на рисунке.
Шаг 4. Теперь нам необходимо сконфигурировать пути загрузки. В скачанном каталоге прошивки (на шаге 1) находится 5 bin (двоичных) файлов. Имена этих файлов, их расположение и адреса представлены в следующей таблице.
Имя файла | Местоположение | Адрес |
esp_init_data_default.bin | ESP8266_NONOS_SDK_V1.4.0_15_09_18esp_iot_sdk_v1.4.0bin | 0xFC000 |
blank.bin | ESP8266_NONOS_SDK_V1.4.0_15_09_18esp_iot_sdk_v1.4.0bin | 0xFE000 |
boot_v1.4(b1).bin or later | ESP8266_NONOS_SDK_V1.4.0_15_09_18esp_iot_sdk_v1.4.0bin | 0x00000 |
user1.1024.new.2.bin | ESP8266_NONOS_SDK_V1.4.0_15_09_18esp_iot_sdk_v1.4.0binat512+512 | 0x01000 |
user2.1024.new.2.bin | ESP8266_NONOS_SDK_V1.4.0_15_09_18esp_iot_sdk_v1.4.0binat512+512 | 0x81000 |
После конфигурации этих файлов они в программе должны выглядеть следующим образом:
Шаг 5. После этого подайте питание на схему, подключите контакт GPIO0 модуля на землю (ground) и на короткое время замкните контакт RST (сброса) на землю и затем отключите его от земли. В нашей схеме для замыкания GPIO0 на землю достаточно установить переключатель (джампер) в соответствующее положение, а сброс модуля осуществляется нажатием кнопки. Конструкция проекта в данном случае у вас будет выглядеть примерно следующим образом:
Шаг 6. В программе Flash Download Tools нажмите на кнопку START и прошивка начнет загружаться в ваш модуль ESP8266. Экран программы в это время будет выглядеть следующим образом:
После окончания загрузки прошивки вы должны увидеть экран с результатами загрузки, показанный на следующем рисунке. Если вы видите этот экран, это значит, что загрузка прошивки в ваш модуль осуществлена успешно.
После этого вы можете закрыть все окна и отключить подачу питания на модуль. Теперь состояние вашего модуля ESP8266 возвращено в исходное состояние и вы снова можете программировать его с использованием AT команд.
Более подробно все эти процессы вы можете посмотреть в представленном видео.
Видео, демонстрирующее работу проекта
Источник статьи
Загрузка…
2 359 просмотров
Уровень сложности
Простой
Время на прочтение
8 мин
Количество просмотров 11K
У компании Kincony есть обширная линейка контроллеров на основе популярного ESP32. Но контроллеры не работают сами по себе, для них требуется программное обеспечение, и тут просто просится создание «фирменной» прошивки для этой линейки контроллеров.
Идея очевидная, но тут не всё так просто: создание софта — это довольно сложный процесс, нельзя просто так взять и создать прошивку для контроллера (а тем более для линейки контроллеров), — тут нужно иметь представление об архитектуре IoT систем и месте и роли контроллера, работающего под управлением этой прошивки в этих системах и т. д.
Далее мы подробно разберём функционал и принципы работы фирменной прошивки KCS (сокращение от «KinCony Super») компании Kincony и посмотрим, что у неё получилось (и что не получилось) реализовать.
❯ Kincony KCS
Линейка KC868-A серии содержит множество контроллеров, на данный момент поддержка KCS заявлена для моделей A4, A6, A8, A8S, A16, A32, A64, A128, AI, AK и E16S.
Часть контроллеров из линейки KC868-A
На любой из этих контроллеров можно без особых проблем установить KCS и получить из коробки базовый функционал ESP32 контроллера «начинающего любителя домашней автоматизации». Не нужно ничего выдумывать и мудрить со сторонними прошивками — базовый функционал «логических хабов» и интеграция с популярными системами домашней автоматизации присутствует из коробки.
Примечание. Под «логическим хабом» я понимаю контроллер, работающий под управлением прошивки, которая позволяет задать простейшую логику реакции на входные сигналы, без необходимости непосредственного программирования и компиляции кода самой прошивки.
Можно сказать, что это огромный шаг вперёд для всей экосистемы контроллеров Kincony — собственная прошивка в сочетании с собственной линейкой контроллеров — это выглядит очень и очень сильно. Также стоит отметить, что на данный момент актуальная версия прошивки KCS — 1.0.19, что прозрачно намекает на то, что всё ещё только начинается.
Теперь наглядно посмотрим как всё это хозяйство устанавливается на контроллер и как работает.
❯ Установка KCS
Для экспериментов возьмём самый первый контроллер линейки — KC868-A4. Кроме всего прочего, он хорош ещё и тем, что содержит множество различных подсистем и мы сможем наглядно увидеть какие из них поддерживаются стандартной прошивкой, а какие — нет. И сможем сделать соответствующие выводы.
Kincony (бесплатно) предоставляет специализированную прошивку для каждой модели контроллера. То есть установить прошивку от одной модели на другую физически получится, но предопределённый состав оборудования не будет совпадать и из работы такого контроллера ничего хорошего не получится. Поэтому имеет смысл устанавливать на контроллер только предназначенную для него прошивку.
Прошивка бесплатная, но исходный код закрыт, то есть что-то изменить в прошивке мы самостоятельно не сможем — это для нас закрытая «вещь в себе».
Загрузка прошивки
Поставляется прошивка в виде одного файла, который нужно прошивать при помощи утилиты Flash Download Tool, актуальная версия на сегодня 3.9.4.
Последнюю версию KCS можно найти на странице, там же можно ознакомиться с информацией о KCS и задать свои вопросы, если они у вас появятся.
Сам процесс прошивки очень простой: подключаете контроллер к компьютеру, запускаете утилиту Flash Download Tool и производите в ней настройки, согласно этому скриншоту:
Процесс работы Flash Download Tool и прошивки ESP32 отображается в окне:
Предварительная настройка
Далее перезагружаете контроллер и находите на смартфоне в списке Wi-Fi сетей открытую сеть нашего контроллера KC868-A4 с прошивкой KCS.
Подключаетесь к ней и открываете в браузере страницу по адресу 192.168.4.1.
Затем вводите логин и пароль (admin/admin) и попадаете на главную страницу с основными сведениями о контроллере. Поскольку KC868-A4 не имеет проводного Ethernet интерфейса, то часть полей остаются пустыми.
Далее устанавливаем режим работы контроллера AP/STA (нам нужен режим STA) и вводим актуальные логин и пароль от вашей домашней Wi-Fi сети.
Всё, на этом предварительный этап настройки закончен, далее контроллер будет работать в вашей локальной сети штатным образом.
Начало работы
Перезагружаем контроллер и смотрим в Serial мониторе его текущий IP адрес в вашей сети.
Теперь, узнав текущий IP адрес контроллера, вводим его в браузере на компьютере и видим приглашение системы для ввода логина и пароля.
❯ Работа с прошивкой KCS
Теперь давайте посмотрим, какие возможности предоставляет пользователю прошивка KCS. Сразу после входа в систему мы попадаем на информационную страницу, которую компания Kincony назвала «Index». Я бы назвал этот пункт «Home», «Main», «About» или «Info».
Тут представлены основные сведения о системе. Часть полей пустые, поскольку у нас контроллер без поддержки Ethernet интерфейса.
Сам интерфейс представляет собой расположенное слева вертикальное меню и справа поле для загрузки страниц, соответствующих пунктам этого меню.
Input
Страница управления работой и определения логики цифровых входов. В нашем случае контроллера KC868-A4 это 4 цифровых входа для которых можно выставить логический уровень, реакцию на клики и удержание кнопок, привязать реакцию выходных реле (тоже 4 штуки на борту) и т. д.
На других контроллерах KC868-A серии количество входов и выходов может быть значительно больше четырёх, соответственно и списки на веб-страницах будут длиннее.
Тут реализован минимально-достаточный набор функций для работы с цифровыми входами контроллера KC868-A4. Только нужно понимать, что это минимальная достаточность в рамках парадигмы «логического хаба», вся прикладная проблематика просто делегирована «куда-то наверх» распределённой IoT системы в надежде, что старший и мудрый Linux компьютер реализует всю прикладную логику, ассоциированную с общей задачей, веб-интерфейсы, индикаторы, графику, сетевой обмен и т. д.
То есть всё это программировать «ручками» всё равно придётся, только не здесь и сейчас на ESP32, а потом на «старшем брате» (или воспользоваться готовым софтом для «старшего брата»).
Output
Управление выходами в том же духе — определение элементарной логики работы реле, инвертирование, определение задержки срабатывания, группировка и т. д. При помощи такого подхода можно без непосредственно программирования задать базовый слой логики работы выходов «включил-выключил».
Monitor
На этой странице собрана информация по основным подсистемам контроллера: индикация работающих в данной момент подсистем, состояние аналоговых входов, управление выходными уровнями DAC, индикаторы состояния цифровых входов и кнопки управления реле.
Я бы сказал, что это основной экран системы, на котором видно текущее состояние её элементов. Некоторые из этих элементов являются интерактивными, то есть они не только отображают информацию, но и позволяют изменять состояние контроллера. Например, кнопки управления реле можно нажимать и изменять как состояние отдельных реле, так состояние всех реле сразу.
На индикаторах ADC и DAC есть значки шестерёнок — при нажатии на них появляются всплывающие окна с дополнительными настройками: название канала (устройства), единицы измерения, минимальные и максимальные значения, порог срабатывания для посылки сообщений MQTT и т. д. То есть при помощи этого инструментария можно настраивать работу подсистем ADC/DAC.
Schedule
Расписание выполнения задач по управлению реле. Можно задать периодичность срабатывания, реакцию реле и т. д.
Проблема заключается в том, что в системе, кроме реле, присутствует ещё куча сущностей, которые могут потребовать управления по расписанию. А прикладная задача может содержать производные сущности от базовых «железного» уровня, которые тоже могут требовать управления по расписанию, причём не простого, а в зависимости от множества входных параметров.
Концепция «логического хаба» не позволяет реализовать подобное управление и просто «тупо» (в умолчаниях) делегирует решение этой задачи куда-то «наверх» в распределённой IoT системе.
Другими словами — пощёлкать реле по расписанию по предопределённой простой логике вы сможете, но сам функционал вашей IoT системы вам придётся программировать руками, где-то на более высоком уровне.
Network
Сетевые настройки. В данном случае для Wi-Fi, на других контроллера серии KC868-A на этой странице появляются ещё настройки проводного Ethernet интерфейса.
Wi-Fi может работать в качестве AP (точки доступа) или STA — элемента вашей беспроводной Wi-Fi сети.
Protocol (General)
Прошивка поддерживает работу со множеством протоколов, причём эти протоколы можно динамически включать и отключать. Тут же присутствуют типовые настройки этих протоколов.
Поддержка такого количества протоколов выглядит довольно внушительно и несомненно является достоинством рассматриваемой прошивки.
Protocol (Tuya)
Настройки, ассоциированные с Tuya. Любители этой технологии должны остаться довольны. Стоит также заметить, что некоторые контроллеры Kincony имеют на борту специализированные Tuya-чипы.
System
Основные настройки, назначение которых стандартно и понятно из их названия. Тут же присутствует возможность программной перезагрузки контроллера и восстановления заводских настроек (гут).
❯ Как это работает
Теперь давайте посмотрим как это работает с технической точки зрения, так сказать, заглянем системе под капот. Сразу после прошивки KCS разует нас обширным логом, из которого пионеры DIY автоматизации могут извлечь много интересной для себя информации.
После загрузки система начинает сетевую работу, при этом подробно комментируя все свои действия в логе (Serial выводе), откуда тоже можно почерпнуть много полезной информации (для тех, кто понимает (смайл).
Пользователь, в основном, имеет дело с веб-интерфейсом, поэтому уделим ему некоторое внимание.
Судя по доступной нам информации, разработчики KCS являются приверженцами традиционных ценностей в духе ESP-IDF/Bootstrap/jQuery и не в чём себе не отказывают, в результате чего страница собирается за 1,33-1,58 сек. Что, учитывая такой подход, — неплохо и приемлемо для более-менее нормальной работы с контроллером.
Идеологически, все страницы интерфейса KCS являются статическими, то есть загружаются по запросу и далее не проявляют какой-то сетевой активности (что исключает какую-то интерактивность).
Но есть и некоторые исключения, например, страница «Monitor». На этой странице используется динамическое сетевое Websockets взаимодействие между контроллером и веб-браузером пользователя. В результате мы имеем полностью интерактивную страницу, на которой вся информация динамически обновляется и работают всякие «кнопки» и «шестерёнки».
Получить некоторое представление о размахе мысли и творческой потенции разработчиков KCS можно по скриншоту фрагмента одного из Javascript файлов системы.
Это те дополнения технического характера, которые можно сделать из доступной нам информации (сама прошивка закрыта и исходный код нам недоступен).
В целом, для меня, как разработчика подобной системы, «всё понятно». Архитектура, технологии и подход к реализации довольно прозрачны и ожидаемы.
❯ Чего не хватает?
Теперь скажем несколько слов о том, чего не хватает в текущей версии KCS. Как я уже отметил выше, KCS воплощает концепцию «логического хаба», избавляет пользователя от тягот прямого программирования, но взамен низводит функционал контроллера до уровня логического калькулятора с сетевыми функциями.
Тут шаг в сторону не то, что «расстрел», — у пользователя вообще нет возможности сделать шаг в сторону — он может делать только то, что предусмотрено в стандартной прошивке.
В результате:
— Никак не задействована и никак не используется возможность подключения на KC868-A4 температурного(ных) или датчика влажности.
— Никак не задействованы и никак не используются модули приёмника/передатчика 433 МГц.
— Никак не задействованы и никак не используются инфракрасные (IR) приёмник и передатчик.
— Никак не задействован и никак не используется пьезокерамическая пищалка (buzzer).
Я уже не говорю о производной от этого железа логике и логике, ассоциированной с решением общей задачи по автоматизации — при таком подходе это просто невозможно в принципе.
Надеюсь, со временем, в новых версиях прошивки Kincony исправит эти недостатки и даст возможность использовать незадействованные подсистемы в этом и других контроллерах линейки KC868-A. Но в любом случае это будет логический хаб по принципу «взял бит здесь, положил бит туда».
❯ Итого по KCS
В целом можно сказать, что KCS — это большой (и правильный) шаг компании Kincony — теперь «простым» автоматизаторам достаточно купить контроллер Kincony и залить в него фирменную прошивку — и можно получить базовый функционал подобных систем «из коробки».
Сейчас речь идёт о первых версиях системы и в дальнейшем можно ожидать её развития, модернизации и улучшения.
Плюсы:
— Фирменное решение, учитывающее особенности контроллеров линейки KC868-A.
— Отсутствие необходимости в программировании и соответствующей квалификации.
— Устойчивая работа («глюков» во время тестирования не замечено).
— Несложная процедура прошивки.
Минусы:
— «Логический хаб» с жёстко ограниченным элементарным функционалом.
— В более-менее функциональных проектах потребуется «старший брат», который и будет делать всю работу по автоматизации и коммуникации с пользователем.
Описание
Изначально на Wi-Fi модуль ESP-12 загружена прошивка, позволяющая работать с модулем с помощью AT-команд. Однако, если Вы будете использовать модуль как отдельный контроллер, и, например, загрузите на него скетч через Arduino IDE, то изначальная прошивка перезапишется. И с модулем работать с помощью АТ-команд уже не получится. Для того чтобы восстановить прошивку модуля, воспользуйтесь инструкцией приведённой в этой статье.
Инструкция по восстановлению прошивки
Шаг 1. Скачайте файлы
Создайте пустой каталог на диске Вашего компьютера, дайте ему название (например, flashesp).
Скачайте файлы для прошивки Wi-Fi модулей:
Шаг 2. Разархивируйте
Извлеките из архива скаченные файлы в разные подкаталоги, в созданной папке на шаге 1.
Шаг 3. Запустите
В папке, где лежит программа-загрузчик, запустите файл flash_download_tools_v3.6.5.exe.
В предложенном меню выберите пункт ESP8266 DownloadTool.
Шаг 4. Настройки программы
В открывшемся окне, установите файлы для прошивки, используя кнопки с тремя точками и выбирайте файлы из разархивированной папки с прошивкой. Не забудьте указать адрес ячеек по которому будет записываться файл. Также, выставьте все настройки в соответствии с картинкой ниже.
Шаг 5. Подключите модуль к компьютеру
Если вы используете для загрузки плату Smart UNO, то подключение будет выглядеть следующим образом:
Обратите внимание! Чтобы схема с подключением работала, необходимо соединить проводом выводы RESET и GND платы контроллера.
На рисунке показан пример подключения Wi-Fi модуля ESP-12 (5В). Если у вас модуль на 3.3В, то подключайте контакт питания «+» модуля к контакту «3.3V» платы Smart UNO! В противном случае модуль будет испорчен безвозвратно!
После того как вы подключили модуль к контроллеру, подключите контроллер к компьютеру с помощью USB-кабеля.
После подключения контроллера с модулем к компьютеру, обратите внимание какой порт был присвоен контроллеру и выберите его в программе-загрузчике. Также установите скорость загрузки 115200 бод.
Шаг 7. Загрузка скетча
Нажмите на кнопку START в программе. Начнётся синхронизация с контроллером.
В этот момент вам необходимо нажать кнопки на Wi-Fi модуле в следующем порядке:
-
Нажмите кнопку PRG на модуле и держите её нажатой
-
Пока держите нажатой кнопку PRG, нажмите на модуле кнопку RST и отпустите её
-
Отпустите кнопку PRG
Wi-Fi модуль перешёл в режим загрузки (программирования), теперь у вас должна начаться загрузка на модуль прошивки.
Шаг 8. Окончание загрузки
Дождитесь окончания загрузки, пока не увидите в состоянии загрузки надпись «FINISH».
После этого можно отключить кабель от компьютера.
Ваш модуль настроен на работу на скорости 115200 бод. Далее можно работать с модулем с помощью АТ-команд.
Примечание
Во время работы программы будет появляться вспомогательное окно следующего вида (показано на рисунке ниже). Его не нужно закрывать и его не стоит пугаться, туда выводится служебная техническая информация.