Сегодня мы поговорим об ещё одном изобретении сумрачного китайского гения — устройстве под кодовым номером KC868-ASR. Судя по самоназванию «Sensor Record Extension», компания Kincony предполагает использование этого устройства в качестве беспроводного сенсора с возможностью записи данных на microSD карту памяти, но наличие на борту часов реального времени (RTC), двух реле, microSD карты памяти, свободных GPIO, да и самого микроконтроллера ESP32 как бы намекает нам, что использование его в этом качестве — это что-то вроде стрельбы из пушки по воробьям.

Я бы сказал, что это скорее ESP32 нода с настолько широким диапазоном ролей использования, насколько хватит вашей фантазии, креатива и квалификации в программировании. Тонким местом тут, как всегда, является фантазия (смайл), поскольку возможностей для интеграции в вашу IoT инфраструктуру (у вас ведь есть своя IoT инфраструктура?) у KC868-ASR предостаточно.

Обо всём этом мы и поговорим далее.

Что под капотом


Для начала давайте познакомимся с формальными ТТХ KC868-ASR и расставим всё по полочкам, чтобы потом хорошо представлять о чём идёт речь и какой набор функций мы имеем в своём распоряжении.

Плата KC868- ASR содержит:

  • Микроконтроллер ESP32 (ESP-WROOM-32E)
  • Колодка для подключения датчиков (или сетей 1-Wire) T1, T2, 3V3, GND
  • 2 свободно программируемых светодиода
  • 2 реле 10А 250В (NO, COM)
  • Разъём для microSD карты
  • RTC DS3231
  • Разъём для батарейки CR1220
  • Пьезокерамическая пищалка (Buzzer)
  • Разъём Free GPIO (2 GPIO)
  • USB разъём Type-C
  • Кнопки «Reset» и «Download»
  • Разъём питания 12 (9-18) В
  • Светодиод наличия питания

Всё это хозяйство можно разделить на четыре основные функциональные части:

Ядро:

  • Микроконтроллер ESP32 (ESP-WROOM-32E)
  • Разъём для microSD карты памяти
  • RTC DS3231

Ввод/вывод:

  • Колодка для подключения датчиков (или сетей 1-Wire) T1, T2, 3V3, GND
  • Разъём Free GPIO (2 GPIO)

Управление:

  • 2 реле 10А 250В (NO, COM)

Индикация:

  • 2 свободно программируемых светодиода
  • Пьезокерамическая пищалка (Buzzer)

Так всё становится значительно понятнее, теперь перейдём к «функциональному анализу» возможных ролей KC868-ASR как с точки зрения производителя, так и с нашей (скромной) точки зрения.

Sensor Record Extension


Зная номенклатурный ряд продукции компании Kincony, можно реконструировать ход мысли их инженеров: когда речь зашла о создании беспроводного сенсора — они просто урезали функционал (и печатную плату) своих типовых контроллеров на ESP32 и добавили пару «фишек», которые по их мнению должны присутствовать в таком сенсоре.

И в целом это сработало: на KC868-ASR можно создать беспроводной Wi-Fi сенсор с 1-2 датчиками или 1-2 1-Wire сетями датчиков, например температуры на популярном DS18B20.

Можно также снабдить этот сенсор возможностью создания логов сбора показаний датчиков и сделать его автономным в плане работы с реальным временем.

Другое дело, что возникают вопросы: зачем точное автономное время и microSD карта памяти на борту сенсора, когда он подключается по Wi-Fi и может спокойно сбрасывать любые данные и синхронизировать время с базовым контроллером? Получается, что тут расчёт на какой-то (странный) случай нестабильной работы Wi-Fi (чтобы иметь возможность сохранить большой массив данных на карте) или на то, что KC868-ASR будет являться «сам себе» базой и самостоятельно обрабатывать получаемые данные.

Мой взгляд на проблему


Что касается беспроводных IoT сенсоров, например, температуры, влажности и т. п., то лично я уже давно перешёл на использование батарейных долгоживущих решений (nRF24, LoRa и т. п.) и подобный монстр на ESP32 в качестве беспроводного сенсора для меня выглядит немного диковато — что-то вроде стрельбы из пушки по воробьям (тем более, что к нему нужно проводить стационарное питание).

Для справки: связка ATmega328 (aka доработанная Arduino Pro Mini) + nRF24 (LoRa) в спящем режиме потребляет 4-10 мкА, что позволяет делать на ней любые (по функционалу) долгоживущие батарейные сенсоры (температура, влажность, контакт, расход воды и т. д. и т. п. ).

Для меня KC868-ASR скорее похож на базу для беспроводных батарейных сенсоров — у него на борту есть всё необходимое для этого — мощный микроконтроллер для анализа и визуализации данных, автономное время, возможность хранить на карте памяти не только данные, но и множество страниц развитого веб-интерфейса и т. д.

Простой ход — подключение к KC868-ASR модуля nRF24L01 или типового SPI LoRa модуля могло бы сразу расширить количество подключаемых датчиков с двух до нескольких десятков и это была бы уже совсем другая история.

Почему этого не сделала компания Kincony? Потому, что этот сценарий вообще не входит в круг понятий их инженеров и потому, что это требует довольно изощрённого программирования как на стороне базы, так и на стороне беспроводных сенсоров, а готового решения «включил и забыл» на рынке не существует.

Поэтому by default мы будем рассматривать «унылый» сценарий использования KC868-ASR как Wi-Fi сенсора на два датчика, а для себя (когда мне это понадобится) я бы сделал из KC868-ASR самодостаточную IoT базу на несколько десятков беспроводных nRF24 или LoRa сенсоров.

(Или это можете сделать вы для своих проектов, если обладаете достаточной квалификацией.)

Немного актуатор


Пока мы разбирались с функциональным назначением KC868-ASR, мы немного упустили ещё одну его ипостась: он имеет на борту два реле и может «немножечко чем-нибудь поуправлять». С двумя реле далеко не разбежишься, но подобная возможность «здесь и сейчас» может оказаться весьма полезной.

Кстати, беспроводные nRF24 или LoRa мини-контроллеры не обязаны быть именно сенсорами, никто не мешает сделать их беспроводными актуаторами (реле, серво, RS485 и т. д. и т. п. и вообще всё, что угодно) и создать небольшое IoT облако с KC868-ASR в центре и несколькими десятками беспроводных сенсоров и актуаторов «на объекте» (почувствуйте, как говорится, разницу с его дефолтным предназначением).

Вишенка на торте


Всю эту благостную картину в качестве вишенки на торте венчают 2 свободно программируемых светодиода и пьезокерамическая пищалка (Buzzer), которыми можно весело помигать и попищать (в нужные, разумеется, моменты) и значительно оживить суровый на вид KC868-ASR.

Корпус на DIN-рейку


Корпус KC868-ASR можно оценить на 10 из 10 по шкале брутальности, как говориться, брутальнее некуда — видимо используется какой-то недорогой типовой корпус на DIN-рейку. С другой стороны, если сделать приличную с точки зрения дизайна наклейку-шильдик, то выглядеть всё будет более-менее пристойно и не испортит вид типового щита автоматики.



Вскрываем пациента


Поскольку корпус типовой, без дизайнерских излишеств, то разбирается всё просто и без особых усилий. В поддоне мы видим примерно то, что и ожидалось увидеть — плату а-ля Wi-Fi реле Sonoff, только в несколько более продвинутом варианте.



Вид платы сверху, на котором хорошо видно расположение всех частей контроллера (сенсора, по версии самого производителя). Все детали на месте, не припаян только разъём J4 с двумя «Free GPIO». Если возникнет желание имплантировать сюда nRF24 или LoRa модуль, то придётся немного поработать паяльником и скальпелем (ну и перед этим ещё и головой конечно же).



По традиции компании Kincony, на обратной стороне платы ничего нет (только разъём для батарейки питания часов реального времени).



Схемотехника


Теперь переходим к рассмотрению схемотехники KC868-ASR и разберём что и как там устройство с точки зрения электроники.

Питание


Питание контроллера KC868-ASR подаётся на совмещённую колодку J2 (контакты 1-2), далее следует Step-Down конвертер BL8032CB6TR (на ток до 2 А), который преобразует входное напряжение до 5 вольт. 3,3-вольтовое питание обеспечивает линейный стабилизатор AMS1117-3.3. В его выходной цепи присутствует светодиод-индикатор подачи питания.



Ядро ESP32


Распиновка ядра ESP32 по версии производителя. Ниже будет представлена моя, несколько более читабельная и информативная версия.


USB-UART


Подсистема USB-UART в контроллере KC868-ASR сделана в традиционном для Kincony стиле на чипе CH340, правда схема распайки транзисторов Q1, Q2, Q3 и линий EN, IO0, IO2, DTR, RTS выглядит несколько более хитрозакрученной, чем ожидалось — начинающие схемотехники могут поупражняться в разборе принципов работы этого узла.



Реле и Buzzer


Управление двумя реле и пьезокерамической пищалкой (OUT0, OUT1, BEEP) заведено на матрицу транзисторов Дарлингтона ULN2001. К сожалению, у реле доступны только два выхода COM и NO.



Картридер microSD


Схема подключения картридера для microSD карт памяти. Обратите внимание на то, что линия DAT0 (IO2) дополнительно завязана на транзистор Q3, а линия WP не подключена к ESP32 и фактически является ещё одним свободным GPIO.


RTC DS3231


Чип RTC DS3231 не испортит ни один контроллер. Ранее компания Kincony пыталась ставить в свои изделия более простые и дешёвые чипы DS1307 (а ещё раньше вообще игнорировало подсистему RTC в контроллерах), но нам с вами совместными усилиями удалось убедить её сначала в том, что RTC в контроллере никак не помешает, а затем в том, что DS3231 — это более правильное решение, чем DS1307.


Индикаторные светодиоды


Вообще, два светодиода для индикации режимов работы контроллера и происходящих в системе событий — это хорошо. Но, в случае необходимости подключения к KC868-ASR дополнительных компонентов, светодиодами можно пожертвовать и получить в своё распоряжение ещё два свободных GPIO.


Разъём Free GPIO


Два свободных GPIO и можно себе ни в чём не отказывать (смайл).


Распиновка


Несколько более информативная распиновка KC868-ASR (его ядра ESP32) с указанием того что, куда и зачем подключено.


Схема внешних подключений


Немного окультуренная схема внешних подключений контроллера KC868-ASR от производителя:


Указан диапазон входного питающего напряжения 9-24 вольт, но в даташите на BL8032CB6TR написано «9-18V», так что я бы поостерёгся подавать на KC868-ASR больше 18 вольт.

Заключение


Роль KC868-ASR by default: Wi-Fi (Bluetooth) сенсор со стационарным питанием на два датчика и возможностью хранения данных на microSD карте памяти.

Роль KC868-ASR как «базы»: самодостаточная Wi-Fi база с подсистемами получения, хранения, анализа и визуализации данных с десятков беспроводных nRF24 (LoRa) сенсоров/актуаторов. Пример: раскидали по теплице беспроводные сенсоры/актуаторы, установили «базу» KC868-ASR в теплице или в здании рядом и получили полную автоматизацию этой теплицы. Правда для реализации этого сценария нужна «железная» доработка KC868-ASR и соответствующий софт — поэтому этот сценарий доступен только для DIY-щиков с достаточной квалификацией (и с достаточно креативным мышлением).



Возможно, захочется почитать и это:


Комментарии (17)


  1. sim2q
    04.10.2023 08:49
    +2

    для ЛЛ : 4500р + 1400р доставка


  1. SUNsung
    04.10.2023 08:49
    +3

    Хрень какая то

    У ttgo давно есть ведрами модули esp32 на любой вкус, цвет и задачу.

    Тут именно интересно что сразу с коробки оно идет на din-рейку,но функционал убог, а учитывая специфику (рейку) нужна как минимум внешняя антена если подразумевалась работа по воздуху (потому как с проводным функционалом вава)

    Из плюсов - пищалка и независимые часы. Но учитывая скудость внешних аналоговых портов и стандартную антену (которая будет тыквой в глубине шкафа) смысла в такой гравицапе ноль.


    1. smart_alex Автор
      04.10.2023 08:49

      Да, дефолтное назначение устройства весьма специфично, мне оно в таком качестве совершенно не интересно (я об этом написал в статье), хотя кому-то может и пригодиться для решения своих задач.

      А вот в качестве ноды для беспроводного облака nRF24/LoRa — на мой взгляд отличная база для соответствующей DIY доработки.


      1. sav13
        04.10.2023 08:49

        Для LoRa/Zigbee точно не ESP32 нужен с его гигантским потреблением и режимом сна через одно место

        В принципе, попробовал ESP32C3 с SX1262 - можно достичь 5мкА в режиме сна, но пробуждение тоже так себе и GPIO мало. Зато цена получается отличная


  1. BARSRAB
    04.10.2023 08:49

    Тонким местом тут, как всегда, является фантазия

    Тонким местом тут является отсутствие JTAG разъема, а значит и возможности отладки хоть сколько-нибудь сложной прошивки. А все, что тут можно сделать - поиграться с ардуйней.

    А вот в качестве ноды для беспроводного облака nRF24/LoRa 

    Вся проблема в отсутствии там как nRF24/LoRa, так и возможности их подключения....


    1. smart_alex Автор
      04.10.2023 08:49

      Там отсутствует «штатная» возможность подключения nRF24/LoRa (что, безусловно, плохо), но при помощи хирургических DIY методов подключить к KC868-ASR беспроводной модуль не составит большой проблемы.

      См. пример подобной инвазии в KC868-Uair:

      https://habr.com/ru/companies/ruvds/articles/656281/


      1. BARSRAB
        04.10.2023 08:49
        +1

        Понятно, что дендро-фекальным методом можно подключить что угодно и куда угодно. Но штатной возможности при этом нет. Да и как-то странно подключать радиомодули при наличии WiFi/Bt на борту...


        1. smart_alex Автор
          04.10.2023 08:49

          Модули можно и не подключать — это только один из возможных примеров использования KC868-ASR.


          1. BARSRAB
            04.10.2023 08:49

            Да, но отсутствие отладки ставит крест на ее использовании в принципе...


  1. smart_pic
    04.10.2023 08:49

    мощный микроконтроллер для анализа и визуализации данных, автономное время, возможность хранить на карте памяти не только данные, но и множество страниц развитого веб-интерфейса

    Прошу , ну покажите хоть один пример этого самого развитого веб-интерфейса


    1. smart_alex Автор
      04.10.2023 08:49

      1. smart_pic
        04.10.2023 08:49

        если это показ специально созданного

        самого развитого веб-интерфейса

        то там смотреть нечего.


        1. smart_alex Автор
          04.10.2023 08:49

          Номинально там есть всё: «взрослые» HTML, CSS, JavaScript, Ajax, ThreeJs, сайты, темы, графики, виджеты, адаптивный дизайн, интеракив в реальном времени, реальная 3D графика и т. д. и т. п. Легче сказать чего там нет.

          Так вот вопрос к вам: что вы там ещё ожидали увидеть и чего вам ещё не хватает для «самого развитого веб-интерфейса»? Или вы не туда смотрели?


  1. K_Chicago
    04.10.2023 08:49

    А какая частота опроса сенсоров?


    1. smart_alex Автор
      04.10.2023 08:49

      О каких сенсорах вы спрашиваете?


    1. sav13
      04.10.2023 08:49

      Это же DIY

      Какую настроите


  1. sav13
    04.10.2023 08:49

    Что касается беспроводных IoT сенсоров, например, температуры, влажности и т. п., то лично я уже давно перешёл на использование батарейных долгоживущих решений (nRF24, LoRa и т. п.) и подобный монстр на ESP32 в качестве беспроводного сенсора для меня выглядит немного диковато — что-то вроде стрельбы из пушки по воробьям (тем более, что к нему нужно проводить стационарное питание).

    Нашел интересный модуль Heltec HT-CT62
    https://heltec.org/project/ht-ct62/

    ESP32C3 + SX1262 (LoRa/LoRaWAN). В режиме сна кушает 5-6мкА и прекрасно живет на Li-SOCL2 батарейках 3.6В. Правда свободных GPIO там маловато, но в ноде и подключается как правило 1-2 датчика