Сегодня мы поговорим об очередном контроллере для DIY рынка на ESP32, это красавец JetHome E1 в элегантном корпусе на DIN-рейку. Кроме стильного корпуса, этот контроллер обладает интересной начинкой (тут и Ethernet интерфейс и 5 встроенных реле и прочие атрибуты подобных контроллеров) и хорошей родословной — его выпускает компания, которая специализируется на производстве Linux контроллеров и мини-компьютеров и имеет большой опыт в этом деле и даже собственную производственную линию в Санкт-Петербурге.

То есть это ещё один контроллер отечественного производства (как и Lavritech V7.1 Lite), причём выпускаемый на промышленном оборудовании с «заводским качеством». Ну и по традиции я приглашаю посмотреть, что и как там устроено внутри и что нам предлагает JetHome E1 для решения наших задач по автоматизации.

Продуктовая линейка JetHome E1


Компания (торговая марка) JetHome специализируется на производстве Linux контроллеров, флагманом которых на данный момент является модель JetHome JetHub D1+, но поскольку в сферу наших интересов (сейчас) входят контроллеры на ESP32, то далее мы будем рассматривать линейку JetHome E1 и конкретную модель, имеющуюся в моём распоряжении, JetHub E1 PD76-R5.

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

В этом смысле контроллеры JetHome отличаются необычной архитектурой — в них «процессорный» модуль (плата) отделён от «базовой» (периферийной) платы и соединяется с ней 40-пиновым шлейфом.

Я не могу назвать такой подход ни плохим, ни хорошим, могу только отметить его необычность. Недостатков я в нём не обнаружил, кроме некоторых сомнений по транспортировке практически всех сигналов по 40-пиновому шлейфу — я не уверен как это скажется на помехоустойчивости и стабильности работы контроллера. С другой стороны, на этой архитектуре давно выпускаются различные модели JetHome и никаких проблем (видимо) нет.

Из плюсов такого решения можно отметить большую гибкость использования (сочетания) различных процессорных плат с различными периферийными, вплоть до использования одного периферийного блока с процессорными платами на разных CPU/MCU, например процессорной платы E1-CPU (ESP32) и процессорной платы D1P-CPU (Amlogic A113x).

На данный момент существует 3 варианта периферийных плат: PD76-BASIC, PD76-R5, PD76-UM7. Более подробное представление о них вы можете составить по следующей таблице. Плата PD76-R5, имеющаяся в моём распоряжении, отмечена серым фоном.



В готовом изделии полное название модели складывается из названий её составных частей: JetHome JetHub E1 PD76-R5.

Важное замечание. Разработка и улучшение контроллеров происходит постоянно, на данный момент готовится выпуск усовершенствованной модели, но по запросу всё ещё можно приобрести рассматриваемую модель JetHub E1 PD76-R5.

JetHub E1 PD76-R5





Теперь поговорим о самом контроллере в комплектации JetHub E1 PD76-R5. Прежде всего обращает на себя внимание его внешний вид — разработчикам (вернее китайским дизайнерам) удалось невозможное — JetHub E1 выглядит не хуже (а скорее даже более стильно), чем признанный эталон дизайна DIY контроллера — наш старый знакомый Norvi Сёма из Шри-Ланки.

Фотография этого не передаёт, но JetHub E1 весит больше Сёмы и в целом ощущается как кирпич очень солидное изделие («вещь»). Расплачиваться за столь впечатляющий дизайн приходится нестандартными размерами корпуса, по информации с сайта производителя его ширина составляет 4,3U.

Начинка JetHub E1 PD76-R5 состоит из микроконтроллера ESP32 (Wi-Fi, Bluetooth и т. д.) и прочих компонентов и подсистем:

Процессорная плата E1-CPU


  • Микроконтроллер ESP32-WROOM-32
  • EEPROM AT24C64 8КБ
  • Ethernet на LAN8720A
  • Часы реального времени на PCF8563
  • Элемент питания CR1220
  • Micro-USB разъём
  • USB-UART на CP2102
  • Индикатор питания PWR (зеленый светодиод)
  • Два индикаторных светодиода STAT (зеленый и красный)
  • Кнопка FUNC
  • Кнопка USER
  • Интерфейс JTAG

Периферийная плата PD76-R5


  • 6 дискретных входов «сухой контакт»
  • 5 реле 16A
  • EEPROM AT24C64 8КБ
  • Разъём UART1
  • Разъём IO1
  • JXM слот
  • Напряжение питания 9-56 В
  • Питание Passive PoE 12-48 В
  • Опционально PoE IEEE 802.3af Class 0

В целом очень и очень неплохо, есть всё необходимое для контроллера такого класса и области применения. Из пожеланий можно отметить наличие дисплея, ещё пары кнопок, аппаратного Watchdog-а и интерфейса для подключения внешних блоков на DIN-рейку.

В списке пожеланий нет беспроводных модулей, интерфейса RS485 и прочих дополнений, потому, что в контроллере присутствует JXM слот и, теоретически, всё необходимое можно подключить при помощи JXM модулей (при их наличии).

Ложка дёгтя. Производитель в новых моделях решил отказаться от поддержки JXM модулей в пользу новой архитектуры внутренних интерфейсов. Теперь модули расширения будут содержать встроенный микроконтроллер STM32 и унифицировано общаться по специальной шине. Этот подход имеет некоторые достоинства и право на жизнь, но мне больше нравится «старая-добрая» JXM архитектура с прямым доступом (программиста) к подключаемому железу.

Разбираем контроллер


Ну что ж, общее представление о пациенте мы получили, теперь приступаем к его препарированию, я уже достал свой любимый скальпель и расчехлил микротом. Отжимаем 4 защёлки и снимаем верхнюю крышку контроллера. Кстати, JetHub E1 оказался чемпионом по лёгкости разборки — стоит только слегка поддеть отвёрткой защёлки, как верхняя крышка сама «отстреливается» от основания.



На фото видна периферийная плата PD76-R5. Сверху находятся четыре 2-контактных и один 3-контактный разъёмы реле. Снизу, по порядку: разъём питания, разъём JXM модуля и два разъёма входов «сухой контакт».

В центре платы 5 реле, плата (модуль) питания, конденсаторы, и несколько разъёмов: межблочный для 40-контактного шлейфа, два 4-контактных (белые) UART1 и IO1, и две (чёрные) колодки JXM слота.

Фото нижней части контроллера крупнее и с другого ракурса. Хорошо видны разъём Ethernet интерфейса и модуль питания с катушкой индуктивности.



Далее фото верхней части контроллера с её содержимым. Виден 40-контактный шлейф (шаг 1,27 мм) и процессорная плата E1-CPU. Несмотря на субтильность, эта плата содержит множество элементов, включая сам микроконтроллер ESP32-WROOM-32 (чуть позже мы это разберём более подробно).



Откручиваем шурупы и вынимаем процессорную плату из корпуса. Видны: микроконтроллер ESP32-WROOM-32, разъём Micro-USB, кнопки, резервная литиевая батарейка, микросхемы и прочие элементы.



Продолжаем разбирать JetHub E1 PD76-R5 и вынимаем периферийную плату из поддона. С обратной стороны ничего нет, кроме реле, защитных элементов и колодок для подключения нагрузок.



Процессорная плата отдельно крупным планом. Кроме прочих элементов видны контактные площадки 40-пинового разъёма (сам разъём установлен с обратной стороны платы).



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


К сожалению, производитель не раскрывает схему своих контроллеров, поэтому далее мы сможем только немного приоткрыть их схемотехнику, ориентируясь на расположение компонентов на платах. Это не так много, как хотелось бы, но общее представление о начинке JetHub E1 PD76-R5 мы сможем получить.

Примечание. Все производители контроллеров делятся на две категории — тех, кто свободно публикует схему своих изделий и тех, кто делает из неё секрет. По моим наблюдениям, лидеры DIY рынка (Arduino, Adafruit и т. д.) свободно публикуют схемы, что только добавляет им доверия пользователей и репутацию (а также прибыль). Что скрывают те, кто делает секрет из схем своих контроллеров — совершенно непонятно — при наличии образца «нарисовать» его схему и печатные платы — это дело нескольких часов (максимум — дней) для более-менее квалифицированного схемотехника.

Начнём с общего вида печатных плат «снизу» и «сверху».

Процессорная плата E1-CPU


Вид сверху на процессорную плату. Тут разместился практически весь контроллер, кроме его периферийной части: ESP32, USB-UART, Ethernet LAN8720A и т. д.



Вид снизу. Маркировка платы, 40-контактный разъём для шлейфа, пины JTAG интерфейса и тестовые контактные площадки.



Периферийная плата PD76-R5


Тут хорошо вины интерфейсные разъёмы и их расположение на периферийной плате. Две чёрные колодки — это составные части одного JXM слота, но визуально их можно принять за два разных разъёма.



Обратная сторона периферийной платы содержит множество электронных компонентов, которые и обеспечивают работу всех её функций.



Теперь подробнее по всем подсистемам контроллера JetHub E1 PD76-R5.

Питание


С верхней стороны периферийной платы в подсистему питания входит колодка для подключения источника 9-56 В, сглаживающие конденсаторы и модуль DC-DC преобразователя (на фото виден вертикально). Сам модуль не типовой китайский, а производства JetHome. Также контроллер поддерживает запитку по стандарту PoE.



С нижней стороны периферийной платы подсистема питания содержит транзистор IRFR5410, LDO регулятор напряжения 1117-33, диоды и прочие элементы.



Реле


Большую часть платы занимают 5 реле (16 А). Четыре из них имеют по 2 контакта на выходных колодках, а одно — 3 контакта на переключение. Производитель на своём сайте указывает, что их рекомендуемый номинальный коммутируемый ток 10 А.



Обслуживанием реле занимается микросхема с I2C интерфейсом PCF8575 (адрес 0x22, порты 8-12) и сборка инвертирующих триггеров Шмитта 74HC14D, плюс прочие элементы обвязки.



Дискретные входы


Дискретные входы обслуживает та же микросхема с I2C интерфейсом PCF8575 (адрес 0x22, порты 0-5) и ещё одна сборка инвертирующих триггеров Шмитта 74HC14D.



Производитель указывает: «Замыкание дискретного входа должно производиться на общий контакт (GND). Соблюдайте внимательность при подключении дискретных входов. Не допускайте подачи напряжения на дискретные входы, на плате установлены подтягивающие резисторы к 5 В».

Ethernet


Микросхема «физики» Ethernet интерфейса LAN8720A установлена на верхней плате (мы её рассмотрим чуть позже), а на плате периферии находится разъём для подключения Ethernet кабеля.



И с обратной стороны платы — согласующий трансформатор HB1601SNL.



40-контактный разъём


40-контактный разъём (шаг пинов 1,27 мм) для подключения шлейфа и процессорного модуля (в нашем случае) E1-CPU.



Разъём IO1


В этот разъём выведены два GPIO с микроконтроллера ESP32, предназначенные для обслуживания CAN интерфейса. Соответственно, этот разъём и его контакты можно использовать либо как простые GPIO, либо, дополнив соответствующей обвязкой, как CAN интерфейс.



Разъём UART1


Это дополнительные выводы UART(1) интерфейса (GPIO33, GPI34). К этому разъёму можно подключить какое-то дополнительное оборудование с UART интерфейсом или соединить (шлейфом) этот разъём с JXM модулем, который устанавливается рядом.



JXM слот


JXM слот состоит из двух 12- и 4-контактных разъёмов, которые разделены на плате, но составляют одно целое (как слот). Также на фото ниже видны (аж) четыре отверстия в плате для ключей JXM модуля. Зачем нужно такое их количество и почему нельзя было обойтись 1-2 отверстиями не очень понятно.



Ниже приведено фото типового JXM модуля, в данном случае модуля реле (к сожалению, самого модуля нет в моём распоряжении, поэтому я не могу сделать более качественное фото). Поскольку производитель в новых версиях контроллера решил перейти на другую архитектуру, то JXM модулей в продаже скорее всего уже не появится, но при желании (необходимости) подобный модуль можно сделать самостоятельно.



В JXM слот выведены контакты I2C и SPI интерфейсов, а также линии питания и дополнительные GPIO. Распиновка слота есть на сайте производителя. Подробнее о работе с JXM модулями мы, возможно, поговорим в следующих статьях.

EEPROM AT24C64 (1)


В контроллере JetHub E1 PD76-R5 имеются две микросхемы EEPROM памяти AT24C64 (8 КБ), одна из которых установлена на периферийной плате (I2C адрес 0x56), а другая — на процессорной плате (её я опишу чуть ниже). По задумке производителя «данная память может быть использована для хранения конфигурации, настроек и т. д.». Две микросхемы памяти это, видимо, издержки архитектуры контроллера, в которой присутствует деление на процессорную и периферийную платы.



ESP32


Теперь переходим к разбору содержимого процессорной платы. Прежде всего, на ней установлен сам микроконтроллер ESP32-WROOM-32, который является «мозгом» всей системы.



LAN8720A


Рядом с микроконтроллером ESP32 установлен чип «физики» Ethernet интерфейса LAN8720A. Это известное и хорошо изученное, можно сказать типовое, решение по обеспечению ESP32 работой с Ethernet. Соответственно, с программированием этой подсистемы никаких проблем нет.



USB-UART


Разъём Micro-USB, популярная микросхема USB-UART моста CP2102 и соответствующая обвязка — тут всё просто и ожидаемо, никаких сюрпризов производитель не преподнёс.



RTC на PCF8563


Микросхема часов реального времени PCF8563 с I2C интерфейсом, плюс элемент питания CR1220 для поддержания часов в рабочем состоянии при отключении питания контроллера. Для микросхемы PCF8563 имеется хорошая программная поддержка, в частности, популярная Arduino библиотека.



EEPROM AT24C64 (2)


Вторая микросхема EEPROM памяти AT24C64 (8 КБ), установленная на процессорной плате (адрес на I2C шине 0x54). С одной стороны, вторая микросхема памяти — это немного перебор, с другой — кашу маслом не испортишь, пусть будет.



PCF8575 и прочие элементы


На процессорной плате также находится микросхема I2C расширителя портов PCF8575 (адрес 0x20), к которой подключены 2 светодиода STAT (порты 0 и 1) и пользовательская кнопка USER (порт 2). Порты с 8 по 14 выведены в периферийный разъем.



JTAG


На обратной стороне процессорной платы находятся контактные площадки для JTAG разъёма. Так что «профессионалам» будет чем заняться долгими (зимними) вечерами, отлаживая свой код для ESP32 (любители обойдутся простым, но при этом не менее увлекательным и эффективным программированием в Arduino IDE).



Распиновка


Собранная по крохам и приведённая в удобочитаемый формат распиновка контроллера JetHub E1 PD76-R5.



Заключение


Ну вот и закончилось наше путешествие в удивительный мир микроконтроллеров JetHome. Как всегда, мне удалось только немного приоткрыть завесу тайны над содержимым JetHub E1 PD76-R5 и в дальнейшем нас ожидают не менее увлекательные открытия. Как говорится, — оставайтесь с нами — дальше будет ещё интереснее.

P. S.


Разрабатываете или продаёте контроллеры для DIY рынка? Свяжитесь со мной (в профиле есть ссылка) и, возможно, через некоторое время читатели Хабра смогут узнать о ваших разработках и продукции.

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


  1. empenoso
    19.10.2022 10:35
    +3

    А можно я задам неудобный вопрос? К чему такие сложности, если есть огромный список совместимых устройств на ESP32 и ESP8266, которые стоят дешево?

    Чем JetHome E1 выгодно отличается от уже имеющихся устройств? И что с ценой?


    1. smart_alex Автор
      19.10.2022 10:42
      +1

      Не совсем понял ваш вопрос и зачем противопоставлять JetHome E1 и устройства из этого списка.

      По поводу цены: на сайте производителя указана цена 3750 руб., что на мой взгляд более чем демократично за такое устройство.


      1. empenoso
        19.10.2022 10:48
        -1

        Я не предлагал противопоставлять.
        Конкретно с этим устройством я не знаком, но похоже что функции схожи.

        3750 руб. это демократично, но тот же Sonoff обойдётся дешевле.


        1. smart_alex Автор
          19.10.2022 10:50

          Дайте ссылку на модель Sonoff, которую вы имеете в виду — сравним.


          1. empenoso
            19.10.2022 10:55

            Например 4CHR3 4-gang Wi-Fi Smart Switch. Насколько они схожи?


            1. smart_alex Автор
              19.10.2022 11:14
              +4

              Посмотрел я Sonoff по ссылке — если коротко, то JetHome E1 — это гораздо более функциональное устройство: там больше реле, 6 дискретных входов, Ethernet интерфейс, часы реального времени (RTC), две микросхемы EEPROM памяти, дополнительные разъёмы, JXM слот с возможностью подключения модулей, возможность запитки от PoE и т. д.

              Это устройства совершенно разного класса, которые даже сравнивать напрямую некорректно.


            1. Pavel7
              19.10.2022 11:15
              +2

              Если говорить про модель 4CHR3 PRO (у не PRO вообще не сухие контакты), то sonoff гораздо скуднее по функционалу и базируется на старом ESP8285. У sonoff нет инпутов (хотя можно наколхозить через кнопки), нет проводной сети, нет PoE, нет расширяемости. 4CHR3 PRO хорош, но за 3750 р. jethome лучше.


              1. JPEGEC
                19.10.2022 12:12
                +1

                Для тех кто в теме наверное таких слов достаточно.

                Прочим, мне кажется, было бы сильно интересно знать о каком именно более богатом функционале идет речь, в чем плюсы проводной сети и о какой расширяемости речь.

                Если я правильно понимаю вопросы идут в контексте бытового а не промышленного применения.


                1. vbifkol
                  19.10.2022 12:56
                  +1

                  о каком именно более богатом функционале идет речь

                  Вроде же дальше написано, ну давайте по пунктам:

                  1. есп 32 - больше памяти, больше портов ИО, больше скорость, стабильней

                  2. есть входы - можно например коммутировать проводку для стационарных выключателей

                  3. проводная сеть - дальше и надежней вайфая

                  4. пое - можно не тянуть 220 в место расположения

                  5. расширяемость - SPI/i2c, можно навешать датчики с соответствующим интерфейсом

                  я бы добавил часы как важное: можно колхозить полностью автономные устройства, например, для автополива, или какой-нибудь даталоггер.


                  1. Melias
                    19.10.2022 17:18
                    +1

                    А еще проводная связь очень важна для устройств под din-рейку, т.к. нередко встречаются металические корпуса электрощитков, которые отлично экранируют WiFi, и без провода в таких ситуациях обойтись сложно


  1. Pest85
    19.10.2022 10:54

    Я предположу что на этот, как и другие приборы производителя, есть сертификат.
    Вот только производитель его тщательно скрывает и на сайте ни в Документах ни в Тех потдержке сертификатов нет.
    А без них, как уже писали выше, в чем преимущество от других сотен устройтв на ESP32?


    1. smart_alex Автор
      19.10.2022 11:00

      И снова я не понял посыл — в статье даже близко не упоминается, что JetHome E1 чем-то лучше «других сотен устройтв на ESP32».

      По поводу сертификатов — я специально не интересовался этим вопросом, но сертификат скорее всего есть.


  1. kenoma
    19.10.2022 11:16
    +1

    А что с интеграцией этого устройства с hass?


    1. smart_alex Автор
      19.10.2022 11:21

      На странице товара упоминаются: «совместимые экосистемы Arduino, ESPHome, PlatformIO», но поскольку контроллер на ESP32, то скорее всего подойдут и другие популярные прошивки для ESP32.


      1. ZPavelZ
        19.10.2022 13:12
        +3

        Если заводится ESPHome, то отлично интегрируется в HASS


  1. Pavel7
    19.10.2022 11:20

    Логичным видится добавление в ассортимент дешёвых модулей расширения (например, 8 реле + 8 инпутов) на mcp23017 или pca9685 (актуально для светодиодного освещения) с подключением по i2c, вместо дорогих stm32.


    1. smart_alex Автор
      19.10.2022 11:25
      +1

      Производитель решил перейти на другую архитектуру с STM32 в каждом подключаемом модуле — возможно это кому-то упростит жизнь, но я бы предпочёл прямой доступ к подключаемому железу по стандартным I2C, SPI, UART.


  1. tandzan
    19.10.2022 19:57

    Извините, если не в тему, но такой вертикальный USB разьем оторвет дорожки с платы при частом использовании. usb-b ван лов.


    1. smart_alex Автор
      19.10.2022 20:05

      Трудно сказать, в принципе, разъём зажат в корпусе и не болтается при использовании. А отвалится он или нет - я не знаю.


    1. MIDdleT
      21.10.2022 07:25

      Не оторвёт. Просто на фото не видно что разъём запаивается не только на сигнальные контакты. В нём еще есть три сквозных, для механической прочности.


      1. tandzan
        21.10.2022 16:55

        Вот видео где разъем с обрывами с четыремя сквозными контактами. Не портативное устройство ж делаете, е-мое.

        https://www.youtube.com/watch?v=6mhIvDArofs


  1. shadrap
    20.10.2022 11:23

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

    Из необычных для меня моментов, хочется отметить шлейф от цпу платы к исполнителям и хочется задать вопрос , какова причина именно гибкого шлейфа , а не например жесткого разъема. Я тихо подозреваю, что решение не спонтанное и может оно вызвано желанием уйти от радиопомех, но может и нет...

    Второй момент - почему ни в одном подобном решении я не видел попытки установить интерфейс с OpenTerm? Мне кажется это та вещь которую обязательно нужно имплементировать в подобные девайсы... Тем более он копеечный , можно даже не распаивать компоненты , а просто оставить в pcb...

    и еще вопрос к профи , насколько я понимаю, весь софт , библиотеки, например , для решений на есп32 опенсорсный под Мит лицензией, вот что бы продавать решения на таком софте, не нужно никак никому платить роялти?


    1. smart_alex Автор
      20.10.2022 11:32

      а что б разместить заказ у китайцев и он был экономически оправдан, нужно заказать много

      Во первых строках статьи я указал, у производителя собственная линия в Санкт-Петербурге, поэтому «размещать заказ у китайцев» не нужно.

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

      Про софт — они продают только контроллеры, про софт пишут, что даже на вопросы не отвечают.


      1. shadrap
        20.10.2022 11:52

        Да это не так и принципиально , делают здесь = косты еще выше.

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

        Про софт вопрос был к сообществу , кто разбирается во всех тонкостях МИТ лицензирования , именно с точки зрения бизнеса.


        1. smart_alex Автор
          20.10.2022 12:34

          Про шлейф всё очевидно - сделали так, как было удобно. Если это работает без проблем - то почему бы и нет?

          В любом случае, если этот вопрос вас так интересует, то вы можете спросить об этом разработчиков напрямую через их сайт.


  1. hackercb
    20.10.2022 15:05
    +2

    JXM модуль старой версии из продакшн партии мы убрали, чтобы никого не смущать :)

    Теперь это выглядит так: jethome.ru/e1

    JXM модули на STM32 с plug-n-play концепцией и единой «точкой входа» будут доступны по 2-3 квартале 2023 года.


    1. smart_alex Автор
      20.10.2022 15:08

      Ну вот и разработчики подтянулись. Предлагаю всем заинтересованным задавать вопросы напрямую.


  1. smart_alex Автор
    20.10.2022 15:06

    del


  1. LAutour
    21.10.2022 15:40

    Дискретные входы без гальванической развязки и защиты? Защита от дурака по входу питанию есть? По описанию релейных выходов: 16А — нужно еще указать максимальный вольтаж.