KC868-AK: пианино на DIN-рейку (собачий вальс теперь не проблема)
Неуёмный креатив наших китайских друзей из компании Kincony достиг таких масштабов, что даже я, хорошо знакомый почти со всей их продукцией, иногда впадаю в ступор от их изобретений.
Когда я первый раз увидел KC868-AK (креатив начинается прямо с индекса), то долго пытался понять что это и зачем это нужно. Рассматривание фотографий и чтение описаний мало что добавляло к пониманию назначения изделия. Тут и клавиатура на 35 кнопок, и цифровые входы, и проводные интерфейсы и ESP32 — что это вообще? и как это можно применять?
Некоторое понимание добавило ознакомление со схемой изделия, его разборка и осмотр обратной стороны его печатной платы. Что же это такое, для чего это можно применить и как это работает мы и попробуем разобраться далее…
❯ KC868-AK
Как выяснилось в последствии, KC868-AK — это ни что иное, как… контроллер! Это не клавиатура, не беспроводная клавиатура, а именно полноценный ESP32 контроллер, у которого клавиатура, хоть доминирует визуально, является только небольшой «подсистемой» его обширного функционала, характерного для контроллеров на ESP32.
Другими словами, KC868-AK нужно воспринимать не как «клавиатуру», а именно как полноценный контроллер на ESP32, но с дополнительными возможностями по «кнопочному» управлению вашей IoT системой.
❯ Функциональное назначение
Тут нужно понимать и различать две вещи: то, что представляет собой KC868-AK с «железной» точки зрения, как ESP32 контроллер общего назначения и то, как видит его использование производитель.
Это две совершенно разные вещи:
1. Сам по себе KC868-AK — это ESP32 контроллер общего назначения, который мы можем как угодно программировать и как угодно использовать в своих проектах в составе IoT систем. Для нас это основной режим использования KC868-AK и в этом для нас основной смысл его применения.
2. Производитель (компания Kincony) совершенно по другому видит использование KC868-AK: она создавала этот контроллер в первую очередь для управления своими (мощными и функциональными) контроллерами различных серий, например, контроллером KC868-H32B PRO. Для работы в этом режиме, KC868-AK имеет специализированную прошивку с веб-интерфейсом, которая позволяет настраивать работу входов и логику управления другими контроллерами.
Как я уже заметил, для нас второй режим (который является основным и дефолтным с точки зрения Kincony) не имеет особого смысла: у нас нет парка контролеров наподобие Kincony KC868-H32B PRO, да и сама прошивка, насколько она ни была бы хороша, нам не очень интересна, поскольку, владея программированием, мы сами можем создать нужную нам (в каждом конкретном случае) прошивку.
Ниже представлена схема типового использования KC868-AK, с точки зрения производителя.
Поскольку мы «сами себе программисты», то всё дальнейшее повествование я буду посвящать «железному» устройству KC868-AK и режиму самостоятельного его программирования. Обзору фирменной прошивки можно будет посвятить отдельную статью.
❯ Технические характеристики
Теперь давайте познакомимся с техническими характеристиками контроллера KC868-AK.
- Микроконтроллер ESP32 (ESP-WROOM-32E)
- 35 физических кнопок (матрица 7×5)
- 36 цифровых опторазвязанных входов («сухой контакт»)
- Интерфейс RS232
- Интерфейс RS485
- Отдельный I2C разъём
- Отдельный разъём FreeGPIO (4 пина)
- Разъём USB для программирования и заливки прошивок
- Кнопки «Reset» и «Download»
- 2 программируемых светодиода
- Светодиод наличия питания
- Питание от 12/24 В постоянного тока
Исходя из всего вышесказанного, мы имеем контроллер на ESP32 со всеми присущими ему возможностями, 36 цифровых входов с «запараллеленными» 35-ю кнопками и двумя проводными интерфейсами — RS232 и RS485.
Весь этот потенциал можно использовать «как угодно», в соответствии с потребностями ваших проектов, но, если использовать его «по прямому назначению», то вырисовывается такая схема:
К контроллеру KC868-AK на цифровые входы подсоединяются различные выключатели и сенсоры (в соответствии с вашим проектом), части физических кнопок на его борту приписываются какие-то функции, которыми можно будет оперативно управлять, нажимая на эти кнопки, и всё это хозяйство интегрируется в вашу общую IoT систему при помощи доступных интерфейсов: RS232, RS485, Wi-Fi и т. д.
Колпачки кнопок снимаются и могут быть заменены на нужные вам. Вообще, логичным выглядит сделать специализированные для вашей задачи (проекта) колпачки (возможно прямоугольной формы) с нужными надписями и пиктограммами, а также не помешал бы какой-то шильдик (передняя панель) для этих кнопок.
В целом, с KC868-AK всё более-менее понятно, теперь давайте поближе познакомимся с его «железом».
❯ Внешний вид
О вкусах не спорят, но о внешнем виде KC868-AK одно можно можно сказать определённо — это произведение искусства несомненно украсит ваш строгий щиток и вызовет неподдельную зависть у коллег-автоматизаторов и заинтересованное внимание детей и женщин.
— Ой, какие у вас кнопочки…
— Да… Я такой…
Кстати, может быть компании-производителю стоит несколько изменить концепцию устройства и сделать по углам платы отверстия для крепления, а все разъёмы перенести на нижнюю сторону платы. Тогда KC868-AK V2.0 можно будет легко встраивать в любые корпуса различных агрегатов — получится встраиваемая управляющая панель.
KC868-AK без крепления на DIN-рейку и в компании с нашим старым знакомым Norvi Сёмой.
❯ Схемотехника
Вид сверху. Всё сделано в узнаваемом фирменном стиле контроллеров Kincony. Всё чистенько, ровненько, плюс традиционный набор разъёмов. Отдельно радует то, что Kincony прислушалась к нашим советам и стала выводить на плату разъёмы I2C и FreeGPIO.
Вот оно всё где, оказывается, прячется: почти все элементы распаяны на нижней стороне печатной платы KC868-AK.
Далее я не буду приводить принципиальные схемы всех подсистем контроллера, ограничусь только решениями, характерными для KC868-AK.
Цифровые входы и кнопки
Большую часть контроллера занимает подсистема цифровых входов и кнопок. Как вы видите, цифровые входы и кнопки запараллеленны, что определяет возможные варианты их использования.
Контроллер имеет 36 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357, распределённых на 4 колодки по 9 контактов. Для обеспечения их работы в связке с ESP32 в KC868-AK применены расширители цифровых входов/выходов c I2C интерфейсом на 5-и микросхемах PCF8574P.
Чтобы не загромождать схему, показан только один блок из 8-и оптронов и их обвязки, остальные подобные блоки полностью ему аналогичны. Расширители портов на PCF8574P показаны все 5 штук.
Разъём I2C интерфейса
Очень ценный разъём для модернизации и подключения различного оборудования к контроллеру. Можно добавить датчики, дисплей и т. д.
Разъём FreeGPIO
Не менее ценный разъём с четырьмя свободными GPIO, к которым можно подключить различное дополнительное оборудования. Тут можно сказать «хорошо, но мало» — ниже будет показана распиновка KC868-AK, на которой будет видно, что куча GPIO ESP32 на этом контроллере не используется и нет никаких причин не вывести их отдельный разъём на плате.
Почему этого не сделано? Ответ только один: Kincony производит контроллеры, но не делает реальные проекты и просто не имеет представления о полезности выведения свободных пинов в разъёмы на плате.
❯ Распиновка KC868-AK
Распиновка KC868-AK. Куча свободных пинов ESP32, на которые можно было бы повесить какие-то дополнительные компоненты на плате контроллера, или хотя бы вывести их в отдельный разъём, чтобы пользователь имел возможность самостоятельно их использовать.
❯ Схема внешних подключений
Оригинальная схема разъёмов и внешних подключений контроллера KC868-AK. Разъёмы, контакты, элементы, номера кнопок и т. д.
Назначение светодиодов указаны для фирменной прошивки. В нашем случае самостоятельного программирования, мы можем как угодно их использовать и задавать им функции индикации любых событий в системе.
❯ Заключение
В общем, KC868-AK можно использовать как контроллер на ESP32 с цифровыми входами и интерфейсами RS232, RS485 и Wi-Fi или как управляющую панель в каких-то проектах, где необходимо оперативное «кнопочное» управление самим контроллером или другими контроллерами вашей «умной IoT системы».