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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


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



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

  • ➤ Lavritech L1: полная версия контроллера на платформе LavriBoard7
  • ➤ Starting Electronics: руководство по веб-серверам на Arduino. HTML теги, CSS и JavaScript
  • ➤ Наследник АЦПУ внутри калькулятора
  • ➤ Причуды эволюции: необычное «железо», которое не должно было появиться
  • ➤ Как создавалась System Shock

Источник: https://habr.com/ru/companies/timeweb/articles/760396/


Интересные статьи

Интересные статьи

Материал подготовлен пресс-службой ГК CSoft, золотого партнёра GRAPHISOFTКарантинные ограничения и вынужденная необходимость удаленной работы поставили перед всей архитек...
Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я р...
C технологиями многое может пойти (и идет) не так, как хотелось бы. Доктор Терри Ролин, аналитик сбоев электронных систем в Центре космических полетов Маршалла, знает об этом не понаслышке. ...
Вот представьте, купили вы автомобиль, что вы будете делать? Своевременно проводить ТО, искать АЗС, где нет палёного бензина, мыть, полировать, покрывать воском  и всякими там нано-растворами и з...
Как сделать падение мягким? Я не нашел исчерпывающего руководства по обработке ошибок в React приложениях, поэтому решил поделиться полученным опытом в этой статье. Статья рассчитана на начи...