Содержание

JetHub H1

Внешний вид

Описание

Контроллер предназначен для решения задач домашней автоматизации и мониторинга: опрос датчиков, сбор и передача данных, функции ПЛК в системах «умного дома». Производительный четырехъядерный процессор JetHome JetHub H1 позволит использовать его в качестве центрального контроллера в системах «умного дома» совместно с различными беспроводными датчиками Wi-Fi и ZigBee других производителей. Корпус контроллера выполнен в лаконичном современном дизайне, который позволит вписаться в любой интерьер.

Общие характеристики

Коммуникации

Интерфейсы

Питание

Питание контроллера осуществляется от стабилизированного источника постоянного тока +5В, через разъем MicroUSB. Потребляемая мощность не более 5Вт (без учета внешних потребителей, подключенных к портам USB).

При питании контроллера от порта USB компьютера необходимо учитывать, что стандартный интерфейс USB 2.0 может ограничивать выходной ток на уровне 0,5А, что может быть недостаточно для нормальной работы контроллера под нагрузкой.

Для питания контроллера рекомендуется использовать блок питания, входящий в комплект поставки контроллера. При питании контроллера от компьютера или от другого устройства с интерфейсом USB, а также при использовании стороннего блока питания убедитесь, что данное устройство или блок питания способен обеспечить необходимую выходную мощность: до 5Вт если к контроллеру не будут подключаться дополнительные устройства либо до 10Вт если к USB-портам контроллера будут подключаться дополнительные устройства, питающиеся от USB-порта.

Размеры и масса

Режим эксплуатации

Программное обеспечение

Операционная система Armbian с возможностью установки большого количества дополнительных пакетов из репозитария Ubuntu 20.04, а также других сторонних приложений. Возможно установить такие популярные системы для домашней автоматизации как Home Assistant, openHAB и др.

Последнюю версию прошивки JetHome Armbian можно скачать по адресу http://update.jethome.ru/armbian/ (см. п. «Прошивка контроллера») Для контроллера H1 необходим вариант прошивки Armbian с суффиксом «j80»

Также для контроллера доступны образы операционной системы Home Assistant Operating System (HassOS): http://wiki.jethome.ru/hassos

Контроллер не предназначен для выполнения высоконагруженных задач в режиме «24/7», например, обработки видео.

Общий вид платы контроллера

На рисунке обозначены:

USB

Контроллер имеет два внешних порта USB 2.0 (USB1 и USB2. см. «Общий вид платы контроллера») для подключения дополнительных периферийных устройств. При питании внешнего устройства от USB-порта контроллера, ток, потребляемый данным внешним устройством, не должен превышать 0,5А.

Порт USB1 (расположенный ближе к разъему питания) используется также для прошивки контроллера (см. «Прошивка контроллера»).

UART консоль

Консоль выведена на разъем Micro-USB (используемый также для питания контроллера) через установленный на плате преобразователь интерфейса USB-UART Silicon Labs CP2102.

Драйвер для преобразователя интерфейса USB-UART под ОС Windows можно взять на сайте производителя. Под Linux установка дополнительного драйвера, как правило, не требуется.

Конфигурация порта:

Консоль подключена к порту UART_AO_A процессора Amlogic S905W:

Вывод процессора Функция Описание
GPIOAO_0 UART_AO_A_TX Console TX
GPIOAO_1 UART_AO_A_RX Console RX

Модуль беспроводной связи Zigbee

В контроллере JetHome JetHub H1 установливается модуль беспроводной связи Zigbee на базе чипа TI СС2538 + СС2592 или TI CC2652P1. См. описание модуля: JetHome Zigbee модуль ZB3CX v.1 (CC2538+CC2592) или JetHome Zigbee модуль ZB6C v.1 (CC2652P1)

Модуль подключен к порту UART_AO_B процессора (устройство отображается в системе как /dev/ttyAML2), аппаратное управление приемом/передачей (линии RTS и CTS) не используется. Предусмотрено управление аппаратным сбросом беспроводного модуля (линия RESET) и управление режимом его загрузки (линия BOOT) с помощью GPIO процессора.

Для прошивки модуля с помощью JTAG на плату установлен разъем 2х5 с шагом контактов 1.27мм:

Подключение модуля:

Вывод процессора Функция Описание
GPIOAO_6 GPIOAO_6 Управление аппаратным сбросом модуля
GPIOAO_9 GPIOAO_9 Управление режимом загрузки модуля
GPIOAO_4 UART_AO_B_TX Линия UART TX
GPIOAO_5 UART_AO_B_RX Линия UART RX
GPIOAO_2 UART_AO_B_CTS Линия UART CTS
GPIOAO_3 UART_AO_B_RTS Линия UART RTS

Управление беспроводным модулем из Linux

Управление линией RESET модуля их Linux

Инициализация GPIO:

# cd /sys/class/gpio
# echo 507 > export
# echo out > gpio507/direction

Включение режима аппаратного сброса:

# echo 1 > gpio507/value

Отключение режима аппаратного сброса (рабочий режим):

# echo 0 > gpio507/value

Управление линией BOOT модуля их Linux

Инициализация GPIO:

# cd /sys/class/gpio
# echo 510 > export
# echo out > gpio510/direction

Способ включение режима загрузчика может зависить от типа модуля и от его прошивки. Для ZigBee модулей JetHome СС2538 вход в режим загрузчика осуществляется низким логическим уровнем на линии BOOT:

# echo 0 > gpio510/value

Пользовательский светодиод

На плате контроллера установлены два светодиода: один для индикации наличия напряжения питания (светодиод зеленого цвета), второй пользовательский светодиод синего цвета подключен с выводу GPIODV_24 процессора Amlogic S905W.

Управление светодиодом из Linux

Инициализация GPIO:

# cd /sys/class/gpio
# echo 474 > export
# echo out > gpio474/direction

Включение светодиода:

# echo 1 > gpio474/value

Выключение светодиода:

# echo 0 > gpio474/value

Управление светодиодом из Home Assistant

switch: 
  - platform: command_line
    switches:
      led_gpio:
        command_on: "echo 1 > /sys/class/gpio/gpio474/value"
        command_off: "echo 0 > /sys/class/gpio/gpio474/value"
        command_state: "cat /sys/class/gpio/gpio474/value"
        value_template: '{{ value == "1" }}'
        friendly_name: Синий светодиод

Прошивка контроллера

Прошивка из Windows с помощью Amlogic Burning Tool

Для прошивки образа ПО можно использовать программу Amlogic Burning Tool. См. Инструкцию по использованию Burning Tool.

Последнюю прошивку JetHome Armbian можно скачать по адресу http://update.jethome.ru/armbian/

Для контроллера H1 необходим вариант прошивки Armbian с суффиксами «j80» и «burn»

Прошивка осуществляется через порт USB1 контроллера (см. Общий вид платы контроллера).

Для перехода контроллера в режим загрузчика прошивки необходимо:

При установленных прошивках Armbian 20.11 и HAOS 6.x перевести контроллер в режим загрузчика возможно альтернативными методами:

Внимание! Для предотвращения механического повреждения кнопки BOOT при доступе к кнопки через отверстие в корпусе контроллера не используйте острых предметов и не прикладывайте большого усилия при нажатии на кнопку.

Прошивка из Ubuntu Linux

Для прошивки из Linux можно воспользоваться утилитой burn-tool из репозитария https://github.com/khadas/utils

Документация по использованию утилиты https://docs.khadas.com/vim1/UpgradeViaUSBCable.html#Upgrade-On-Ubuntu

Для установки утилиты выполните команды:

$ git clone https://github.com/khadas/utils khadas-utils
$ cd khadas-utils
$ ./INSTALL

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

burn-tool -i <FIRMWARE_IMAGE_FILE>

где <FIRMWARE_IMAGE_FILE> - файл прошивки

Примерный вывод программы:

$ burn-tool -i ~/firmware/H1/JetHome_1.0.12_Armbian_20.08_Arm-64_focal_current_5.7.16_j80.img 
Try to burn Amlogic image...
Burning image '/home/ak/firmware/H1/JetHome_1.0.12_Armbian_20.08_Arm-64_focal_current_5.7.16_j80.img' for 'VIM1/VIM2' to eMMC...
Rebooting the board ........[OK]
Unpacking image [OK]
Initializing ddr ........[OK]
Running u-boot ........[OK]
Create partitions [OK]
Writing device tree [OK]
Writing bootloader [OK]
Wiping  data partition [OK]
Wiping  cache partition [OK]
Writing boot partition [OK]
Writing rootfs partition [OK]
Resetting board [OK]
Time elapsed: 6 minute(s).
Done!

Прошивка с помощью USB-флэш диска

Возможно прошить контроллер с помощью USB-флэш диска. См. инструкцию Прошивка контроллера с помощью USB-флэш диска (только при установленных прошивках Armbian 20.11/HAOS 6.x)

Первый запуск JetHome Armbian

Настройка контроллера при его первом запуске или после его перепрошивки может осуществляться следующими способами:

Для настройки нонтроллера по сети Ethernet подключите контроллер к локальной сети с настроенным и работающим сервером DHCP. Определите новый IP-адрес контроллера (MAC-адрес контроллера указан на нижней части корпуса контроллера). Например, в маршрутизаторах Mikrotik это можно сделать в меню IP → DHCP Server → Leases. Далее подключитесь к контроллеру с помощью любого ssh-клиента, например, Putty под ОС Windows.

Для подключения через UART-консоль подключите контроллер кабелем MicroUSB к компьютеру (см. п. «UART консоль»). Скорость работы интерфейса 115200 КБит/с.

По-умолчанию пароль для пользователя «root» - «1234».

При первом запуске будет предложено:

Настройка WiFi в JetHome Armbian

Для настройки подключения к WiFi-сети можно использовать штатную консольную утилиту armbian-config. Запустив данную утилиту, выберите меню «Network», далее «WiFi».

Прошивка встроенного модуля Zigbee

Для прошивки модуля Zigbee можно использовать python-утилиту cc2538-bsl. См. инструкцию Прошивка модулей и стиков TI CC2538/CC2652 с помощью утилиты cc2538-bsl

Информацию по рекомендованным прошивкам см. ПО модулей, основанных на чипе TI CC2538 или ПО стиков и модулей, основанных на чипе TI CC2652P1

Порядок действий для прошивки:

Перевести модуль в режим SBL (serial bootloader):

# echo 0 > /sys/class/gpio/gpio510/value
# echo 1 > /sys/class/gpio/gpio507/value
# echo 0 > /sys/class/gpio/gpio507/value

Пример команды для прошивки:

# python3 cc2538-bsl/cc2538-bsl.py -p /dev/ttyAML2 -e -w JH_2538_2592_ZNP_UART_20201010.bin

Перезагрузить модуль в «рабочий» режим:

# echo 1 > /sys/class/gpio/gpio510/value
# echo 1 > /sys/class/gpio/gpio507/value
# echo 0 > /sys/class/gpio/gpio507/value

HOWTO