Pull to refresh
2626.06
Timeweb Cloud
То самое облако

KC868-ASR: креа-нода (креативная для креативных)

Level of difficultyMedium
Reading time7 min
Views3.3K


Сегодня мы поговорим об ещё одном изобретении сумрачного китайского гения — устройстве под кодовым номером 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-щиков с достаточной квалификацией (и с достаточно креативным мышлением).



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


Tags:
Hubs:
Total votes 20: ↑20 and ↓0+20
Comments17

Articles

Information

Website
timeweb.cloud
Registered
Founded
Employees
201–500 employees
Location
Россия
Representative
Timeweb Cloud