Установите систему умного дома с открытым исходным кодом Hassio под Ubuntu
Установите систему умного дома с открытым исходным кодом Hassio под Ubuntu

Что такое Хасс ИО?

Многие люди вообще не знают о взаимосвязи между hassio и homeassistant. Давайте поймем это следующим образом. Hassio — это фреймворк, который использует docker для развертывания homeassistant и предоставляет различные плагины (дополнения) для homeassistant.

В hassio homeassistant развертывается с помощью docker, а связь с hassio и homeassistant осуществляется через их API.

Так что же именно делает хассио и какова его роль?

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

Что такое Хасс ОС?

Это официальная система, созданная HomeAssistant для создания системы, которая может запускать hassio из коробки. Она не основана на каком-либо дистрибутиве Linux. Я понимаю ее как минимальную систему установки докера.

Поскольку он не основан на каком-либо дистрибутиве Linux, в нем нет инструментов управления пакетами. Если вы хотите установить определенные инструменты на хост, вам необходимо создать все цепочки инструментов самостоятельно или сообщить о проблеме официальному лицу и подождать. их обновить.

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

В чем разница между HassOS и Hassio, установленным самостоятельно?

По сути, разницы в использовании нет. Это просто система, которую необходимо построить для работы с их настраиваемой цепочкой инструментов. Другая уже установлена ​​в высокозрелых системах Debian Ubuntu, и вы можете изменить исходный код Docker по своему желанию. В системе также имеется менеджер пакетов. Широкий спектр приложений можно установить одним щелчком мыши.

Кроме того, это мой стереотип о HassOS. Возможно, сейчас он исправлен, но предпочтения официальной команды HA постоянно меняются. Сначала для волшебной модификации они использовали систему Raspberry Pi, а потом. он был переименован в систему Hassio, а теперь изменен на систему Hassio. Он был переименован в Hassos, а Hassio в настоящее время переименован в супервизор. Ну, я не знаю, сколько времени пройдет, прежде чем Хассос будет убит снова.

Что такое Докер?

Рекомендуется взглянуть на докер Учебник хорошо написан《Докер — от вступления к практике

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

Я называю Docker инструментом эксплуатации и обслуживания. Почему? Потому что Docker позволяет сделать это прямо из коробки. Например, если я хочу перенести свой hassio, мне нужно всего лишь скопировать папку hassio (путь по умолчанию /usr/share/hassio), затем скопировать ее на новый компьютер, а затем запустить сценарий одним щелчком мыши, весь файл hassio. Все, включая аддоны, будет работать одинаково благодаря удобству докера.

Что такое аддоны

Hassio разработал уникальный набор спецификаций написания контейнеров аддонов. Поскольку он уникален для hassio, эти аддоны подходят для использования только hassio.

Могу ли я установить дополнения на другие машины с поддержкой Docker (не полагаясь на Hassio)?

Ответ на самом деле да, потому что addons Фактически, все они работают на докере. Итак, пока устройство может установить докер, тогда addons На самом деле, вы можете бежать. Но как уже говорилось выше, аддоны основаны на Спецификации Hassio используются для проектирования контейнеров, поэтому мы можем hassio Используется в случае addons Просто следуйте этому вручную hassio Настройте для начала Аддоны, пожалуйста, ознакомьтесь с тем, как их активировать. addons Официальные производственные документы**Developing an add-on

hassio_install

Сценарий установки hassio в один клик для достижения следующих функций.

  1. Автоматически измените источник системы на источник Университета науки и технологий Китая. (В настоящее время поддерживаются три системы: Debian Ubuntu Raspbian)
  2. Автоматическая установка Docker, вы можете переключиться Docker Источник – внутренний источник.,улучшатьконтейнер Скорость загрузки。
  3. избегать Hassio Невозможно загрузить последнюю версию из-за тайм-аута соединения с Amazon. Homeassistant контейнер。

Поддерживаемые в настоящее время системы

  • Raspbian
  • Ubuntu бета-версия 18.04 LTS проходит, но это само собой разумеющееся 16 Все вышеперечисленное в порядке.
  • Debian бета-версия 9.5 проходить.

Процесс установки

Нет необходимости вводить установку системы Ubuntu, если она пропущена.

Установите службу SSH для удаленного входа (этот шаг можно пропустить для локальных операций)

Проверьте, запущена ли служба SSH

ОткрытьТерминалвходитьк Отдавайте приказы:

Язык кода:javascript
копировать
$ ps -e | grep ssh
 00:00:00 sshd
 pts/1    00:00:00 ssh

Если дисплей после ввода команды аналогичен рисунку выше, это означает, что служба SSH запущена.

Среди них sshd означает, что ssh-сервер запущен, а ssh означает, что ssh-клиент запущен.

Установить службу SSH

Установите SSH-клиент и сервер:

Язык кода:javascript
копировать
$ sudo apt-get install openssh-client
$ sudo apt-get install openssh-server
Запустить службу SSH

После завершения установки запустите ее следующей командой:

Язык кода:javascript
копировать
$ sudo /etc/init.d/ssh start

После запуска используйте следующую команду, чтобы определить, правильно ли запущена служба SSH:

Язык кода:javascript
копировать
$ ps -e | grep ssh

Если запуск прошел успешно, в терминале появится результат, аналогичный первому шагу.

Изменить номер порта SSH

Номер порта SSH по умолчанию — 22. Если вам нужно изменить номер порта SSH, выполните следующую команду, чтобы открыть файл конфигурации SSH.

Язык кода:javascript
копировать
$ sudo gedit /etc/ssh/sshd_config

Вы можете увидеть это, как показано ниже:

Язык кода:javascript
копировать
$ sudo /etc/init.d/ssh restart
передача данных

После завершения настройки службы SSH вы можете реализовать передачу данных на основе SSH. данных,Самая часто используемая и удобная команда — scp.,Вот наиболее часто используемые команды scp:

Язык кода:javascript
копировать
$ scp -r usr@43.224.34.73:/home/lk   /root  //将远程IP地址为43.224.34.73的usr用户下路径为 /home/lk 的所有文件拷贝到本地 /root 文件夹中

$ scp usr@43.224.34.73:/home/lk/test.jar   /root  //将远程IP地址为43.224.34.73的usr用户下路径为 /home/lk 的test.jar文件拷贝到本地 /root 文件夹中

$ scp -r /root  usr@43.224.34.73:/home/lk    //将本地 /root 中的所有文件拷贝到远程IP地址为43.224.34.73的usr用户下路径为 /home/lk 的文件夹中

$ scp /root/test.jar   usr@43.224.34.73:/home/lk   //将本地 /root 中的test.jar文件拷贝到远程IP地址为43.224.34.73的usr用户下路径为 /home/lk 的文件夹中

Общий формат инструкций scp: scp [параметр] [исходный путь] [целевой путь]

Параметр -r означает: рекурсивно скопировать весь каталог.

Установить ХАССИО

Выполните следующие команды от имени пользователя root.

Язык кода:javascript
копировать
wget https://code.aliyun.com/neroxps/hassio_install/raw/master/install.sh
chmod a+x install.sh
./install.sh
Инструкция по эксплуатации
Остановить (но перезапуск все равно запустится автоматически)

systemctl stop hassio-supervisor.service

Перезапуск

systemctl restart hassio-supervisor.service

Отключить автозапуск

systemctl disable hassio-supervisor.service

Включить автозапуск

systemctl enable hassio-supervisor.service

Запрос текущего статуса запуска

systemctl status hassio-supervisor.service

Запросить, текущий ли самозапуск

systemctl is-enabled hassio-supervisor.service

Запрос журналов Hassio

docker logs -f hassio_supervisor

Запрос журналов Хассио последние 20 строк информации

docker logs -f hassio_supervisor --tail 20

Запрос ha бревно

docker logs -f homeassistant

Запрос ha Последние 20 строк информации в журнале

docker logs -f homeassistant --tail 20

> systemctl иллюстрировать : https://linux.cn/article-5926-1.html > docker logs Использование команд:https://docs.docker.com/engine/reference/commandline/logs

Если вы устанавливаете 64-битную систему, скрипт автоматически отфильтрует список устройств, совместимых с 64-битной версией.
Язык кода:javascript
копировать
(1). 是否将系统源切换为中科大(USTC)源(目前支持 Debian Ubuntu Raspbian 三款系统)
请输入 y or n(默认 yes):y

(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。
请输入 yes 或者 no (默认 yes):y
将nero用户添加至 docker 用户组。

(3).是否需要替换 docker 默认源?
请输入 yes 或者 no(默认:yes):y

(4).请选择你设备类型(默认:qemux86-64)
    [1]: raspberrypi3-64
    [2]: qemuarm-64
    [3]: qemux86-64
输入数字 (1-3):
你选择了 qemux86-64
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86-64
 ################################################################################
请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。
Если вы устанавливаете 32-битную систему, скрипт автоматически отфильтрует список устройств, подходящих для 32-битной системы.
Язык кода:javascript
копировать
请输入 y or n(默认 yes):y

(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。
请输入 yes 或者 no (默认 yes):y
将nero用户添加至 docker 用户组。

(3).是否需要替换 docker 默认源?
请输入 yes 或者 no(默认:yes):y

(4).请选择你设备类型(默认:qemux86)
    [1]: raspberrypi
    [2]: raspberrypi2
    [3]: raspberrypi3
    [4]: qemuarm
    [5]: qemux86
    [6]: intel-nuc
输入数字 (1-6):
你选择了 qemux86
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86
 ################################################################################
请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。

> Цитата: "Hass-neroxps" > Цитата: "cnblogs-HM шоколадный соус"

boy illustration
3 Бесплатные системы управления складом (WMS) .NET с открытым исходным кодом
boy illustration
Глубокое погружение в библиотеку Python Lassie: мощный инструмент для автоматизации извлечения метаданных
boy illustration
Объяснение прослушивателя серии Activiti7 последней версии 2023 года
boy illustration
API-интерфейс Jitu Express для электронных счетов-Express Bird [просто для понимания]
boy illustration
Каковы архитектуры микросервисов Java. Серверная часть плавающей области обслуживания
boy illustration
Описание трех режимов жизненного цикла службы внедрения зависимостей Asp.net Core.
boy illustration
Java реализует пользовательские аннотации для доступа к интерфейсу без проверки токена.
boy illustration
Серверная часть Unity добавляет поддержку .net 8. Я еще думал об этом два дня назад, и это сбылось.
boy illustration
Проект с открытым исходным кодом | Самый элегантный метод подписки на публичные аккаунты WeChat на данный момент
boy illustration
Разрешения роли пользователя Gitlab Гость, Репортер, Разработчик, Мастер, Владелец
boy illustration
Spring Security 6.x подробно объясняет механизм управления аутентификацией сеанса в этой статье.
boy illustration
[Основные знания ASP.NET] — Аутентификация и авторизация — Использование удостоверений для аутентификации.
boy illustration
Соединение JDBC с базой данных MySQL в jsp [легко понять]
boy illustration
[Уровень няни] Полный процесс развертывания проекта Python (веб-страницы Flask) в Docker.
boy illustration
6 способов чтения файлов свойств, рекомендуем собрать!
boy illustration
Графическое объяснение этапа строительства проекта IDEA 2021 Spring Cloud (базовая версия)
boy illustration
Подробное объяснение технологии междоменного запроса данных JSONP.
boy illustration
Учебное пособие по SpringBoot (14) | SpringBoot интегрирует Redis (наиболее полный во всей сети)
boy illustration
Подробное объяснение механизма подтверждения выпуска сообщений RabbitMQ.
boy illustration
На этот раз полностью поймите протокол ZooKeeper.
boy illustration
Реализуйте загрузку файлов с использованием минимального WEB API.
boy illustration
Демо1 Laravel5.2 — генерация и хранение URL-адресов
boy illustration
Spring boot интегрирует Kafka и реализует отправку и потребление информации (действительно при личном тестировании)
boy illustration
Мысли о решениях по внутренней реализации сортировки методом перетаскивания
boy illustration
Междоменный доступ к конфигурации nginx не может вступить в силу. Междоменный доступ к странице_Page
boy illustration
Как написать текстовый контент на php
boy illustration
PHP добавляет текстовый водяной знак или водяной знак изображения к изображениям – метод инкапсуляции
boy illustration
Интерпретация быстрой таблицы (TLB)
boy illustration
Интерфейс WeChat API (полный) — оплата WeChat/красный конверт WeChat/купон WeChat/магазин WeChat/JSAPI
boy illustration
Преобразование Java-объекта в json string_complex json-строки в объект