Робот-тележка 2.0. Часть 3. Внутри навигационного стека ROS, немного majordomo
Tutorial
Эта часть цикла статей по навигации домашнего автономного робота на базе open-source linorobot будет суховата на картинки, так как будет большей частью посвящена теории. «Теория, мой друг, суха, но зеленеет жизни древо», -как говорил классик. Заглянем под капот linorobot, разберем подробно составляющие его навигационного стека ROS, а также n-е количество параметров, стандартно используемых в ROS.
В конце небольшой бонус — как прикрутить робота к другому проекту — majordomo и приподнять автоматизацию своего жилища на новый уровень.
Предыдущие статьи цикла:Робот-тележка 2.0. Часть 2. Управление в rviz и без. Элементы красоты в rvizРобот-тележка 2.0. Часть 1. Автономная навигация домашнего робота на базе ROS
Domoticz на Raspberry Pi
Рассмотрим минусы:
- Занимает много места (относительно)
- Создает шум
- Большое энергопотребление
- Не стабильное решение в целом (возможен выход компонентов системного блока из строя)
Работу Domoticz на Windows рекомендую не рассматривать. Самая стабильная и отказоустойчивая система сегодня Linux. Идеальный вариант домашнего сервера давно найден – одноплатный компьютер Raspberry Pi, получивший ласковое прозвище «малинка».
Стоимость изделия ~ 3000р. Не покупайте последнюю модификацию. Весь потенциал работой реализовать не получится. Domoticz будет стабильно работать даже на Raspberry Pi 3.
Не рекомендую покупать устройства бывшие в употреблении. Одноплатники часто используют в терминалах оплаты, банкоматах, линзоматах и других ящиках, которые встречают в торговых центрах. Лучше купить новое устройство во избежании проблем в работе.
Первоначальная настройка
1. Создаем новую учетную запись:
Помимо этого система обнаружила в локальной сети мой телевизор:
Поначалу она будет выглядеть ужасно:
Основные элементы в интерфейсе Home Assistant – это Entities и Glance. Они представляют собой группы сенсоров / кнопок / информеров, оформленные списком (Entities) или панелью иконок с подписями (Glance).
Также есть Badges – круглые значки, выводимые сверху. Именно в них Home Assistant по умолчанию вывел в системе сенсоры.
Первичную настройку я закончу на том, что удалю из интерфейса все бейджи и выведу карточки для мониторинга ситуации с коронавирусом, показателей системы и статуса Transmission. Также я сразу добавил кнопку для управления Xiaomi Mi LED Desk Lamp.
2. Retropie
Retropie — это операционная система для различных версий нанокомпьютера Raspberry Pi. Он основан на Расбиане. Он использует инструмент эмуляции RetroArch, чтобы пользователи могли имитировать и играть почти во все старые игровые консольные игры.
Приложение Retropie — самая известная из всех систем эмуляции на основе Pi. Фактически, он настолько популярен, что нередко можно увидеть его включенным в приобретаемые в Интернете «стартовые наборы Raspberry Pi».
Примечательные особенности
Пользовательский интерфейс Retropie настраивается, и пользователи могут легко изменить его внешний вид благодаря встроенному инструменту установки тем.Retropie поставляется с медиацентром Kodi, и можно довольно легко переключаться между игровой ОС и Kodi.Retropie может эмулировать более 50 игровых консолей и поддерживает большинство контроллеров USB.
Скачать — Retropie
Последняя версия Retropie (версия 4.4) поддерживает Raspberry 0/1, а также 2/3. Кроме того, его можно загрузить на другие устройства нанокомпьютера, такие как Odroid, или установить на ПК в качестве специальной операционной системы.
Если вы хотите заполучить последнюю версию Retropie для создания собственной игровой консоли Raspberry Pi, посетите страницу загрузкии выберите «Готовые изображения для Raspberry Pi» в поле «Содержание».
Зачем использовать Raspberry Pi для изучения основ взлома
У Raspberry Pi уже появилось много фанов, а это означает, что новичок может получить большую поддержку со стороны сообщества. Помимо специалистов по безопасности и хакеров, использующих ее для запуска Kali Linux, многие разработчики используют Pi для научных и промышленных приложений. Первая Pi была сделана для того, чтобы познакомить школьников с программированием. Сегодняшняя Raspberry Pi в умелых руках с соответствующими аксессуарами способна делать совершенно удивительные вещи. При создании прототипов кибероружия Raspberry Pi является основой подтверждения концепции (proof-of-concept) атаки, начиная от захвата дронов и заканчивая созданием массовых помех Wi-Fi.
Небольшие размеры Pi и способность делать некоторые сложные вещи были не раз продемонстрированы на шоу типа Mr.Robot, где она использовалась для удаленного взлома системы климат-контроля датацентра
Тем не менее, нужно понимать, что это не суперкомпьютер и поэтому важно правильно сформировать свои ожидания от этого крошечного, незаметного компьютера. Такие вещи, как брутфорс совершенно не практичны на Pi, за исключением самых простых списков, но в реальной атаке большая часть такой работы может быть переложена на облачный сервис
Изучение Raspberry Pi вовсе не означает, что вы привязаны к операционной системе Kali Linux. Такие проекты как BerryBoot позволяют вам создавать SD-карту со многими операционными системами для Pi, что дает вам возможность загружать любую ОС, с которой вы хотите работать. Это также означает, что вы можете сделать Pi как хакерской рабочей станцией, так и намеренно уязвимым сервером для отработки атак, просто перезагрузив систему и выбрав другой образ диска.
Raspberry Pi также управляется Raspbian, официальной ОС Raspberry Pi. Эта ОС на базе Debian также может быть использована для изучения базовых инструментов Linux и хакинга, хотя для этого потребуется потратить больше времени на ее настройку. Если вы вдруг застряли при изучении программно-определяемой радиосистемы (SDR) или NFC в Kali Linux на Pi, то бывает, что переход на Raspbian может заставить все оборудование работать как единое целое, когда все остальные попытки терпят крах.
5. Гибель
Мы уже видели, как вы можете установить Doom на Pi без эмуляции — но как насчет многопользовательских действий?
Благодаря команде Quake On LAN (также стоящей за QuakeWorld для Pi), Doom On LAN теперь является опцией. Это использует порт Zandronum в качестве игрового клиента, который поддерживает до 64 игроков. Доступно несколько режимов игры, и есть поддержка большого количества модов.
Там также добавлены прыжки, а также привязки клавиш и даже свободный вид! Как всегда, игра будет работать лучше всего с прямым подключением Ethernet к вашему маршрутизатору. Теперь все, что вам нужно сделать, это найти 63 других людей, чтобы играть с ними.
Установите парус с наветренным игровым сервером
Увлекательная корабельная игра про торговлю и пиратов, наветренный редкость в этом списке. Это одно из двух названий, которые не имеют открытого источника. Вы найдете его в Steam всего за 10 долларов, и игра будет играть в одиночном и многопользовательском режимах.
Настройка занимает немного времени; вам нужно установить Моно (реализация Microsoft .NET с открытым исходным кодом) на вашем Pi.
После установки вы найдете сервер Windward на экране лобби игрового клиента
Обратите внимание, что эта установка устанавливает копирование некоторых данных из папки игры на вашем компьютере. Время отплыть!
Перекрестный огонь
Многопользовательская аркадная приключенческая игра, Crossfire напоминает Gauntlet и мошеннические игры. С 3 000 карт, сложной магической системой и 150 типами монстров мир Crossfire подходит для индивидуальной или командной игры.
Клиентское и серверное программное обеспечение доступно для Crossfire, оба доступны на веб-сайте. После настройки сервера на вашем Raspberry Pi могут присоединиться геймеры на любой другой клиентской платформе.
Осторожно, Crossfire массивный, увлекательный и веселый! Здесь есть чему поучиться, как в традиционной игре про подземелья — зайдите на сайт, чтобы узнать о волшебной системе
Питание для одноплатного компьютера
Вопрос питания очень важен для микрокомпьютеров. Дело в том, что это не смартфоны, которые можно заряжать и одноамперным и двухамперным зарядником. Если одноплатнику не хватает питания, он либо начинает тормозить, либо — некорректно работать в принципе. Поэтому, блок питания для вашего сервера — это очень важный компонент.
Лучше искать готовые решения с заявленными характеристиками: 5В, 3А.
Их на самом деле много и стоимость их не так велика, поэтому стоит обратить внимание на отзывы о надежности и стабильности выдаваемых характеристик.
А если вы берете блок питания с USB портом, то вам понадобится еще и провод. А провод, который сможет пропустить через себя 3 ампера — это провод который сложно найти. То есть потребуются тесты или хотя бы обзоры на провода. Или потребуется измеритель тока и эталонная нагрузка чтобы проверить купленный провод. Но все это довольно сложно.
Третье поколение Raspberry Pi 4. Первая “малинка” в клавиатуре
Развитие модельного ряда популярных одноплатников продолжается и сегодня. В актуальном поколении представлено четыре модели под разные задачи и цели.
◉ Летом 2019 года стартовали продажи нового “флагмана” Raspberry Pi 4B. Модель получила долгожданный апгрейд и более технологичную начинку.
Сердцем устройства стал 4-ядерный чип Cortex-A72 (ARM v8), который работает на частоте 1,5 ГГц. Впервые появились разные модификации платы с отличающимся объемом оперативной памяти. Пользователям стали доступны модели с памятью 2, 4 и 8 ГБ.
Один полноразмерный порт HDMI заменили на пару microHDMI. Каждый разъем способен выводить картинку в разрешении до 4K. Питания подается через современный Type-С.
На плате распаян гигабитный LAN-порт, Wi-Fi 802.11ac и Bluetooth 5.0.
Стоимость самой актуальной на данный момент “малинки” составляет от $35 до $75.
◉ Осенью 2020 года в линейке “малинок” появилось самое необычное пополнение. Новый гаджет под названием Compute Module 4 стал самой топовой в плане возможности расширения платой и при этом являлся одним из самых компактных одноплатников.
Производительность схожа с предыдущей моделью Raspberry Pi 4, здесь есть аналогичный 4-ядерный процессор Cortex-A72 с частотой 1.5 ГГц и от 1 до 8 ГБ оперативной памяти. На плате распаяны Wi-Fi 802.11aс и Bluetooth 5.0.
Отличают от всех остальных предшественников новый модуль его размеры и позиционирование. Это компактная плата, которая предназначена для встраивания в небольшие схемы или гаджеты и расширения при помощи пары более прогрессивных разъемов. Для подключения используются два 100-контактных разъема Hirose DF40C-100DS-0.4V.
Компактная модель Compute Module 4 с платой расширения Compute Module 4 IO Board
Это позволяет подключать к Compute Module 4, например, совместимые платы с разъемом PCIe или накопители NVMe. Для получения более привычного набора из 40-пинового разъема, сетевого LAN-интерфейса и классических USB нужно использовать плату расширения Compute Module 4 IO Board.
Стоимость нового одноплатника составляет $25.
◉ Интересным решением стал выпуск самой простой на данный момент модели устройства Raspberry Pi Pico в начале 2021 года. Это еще более компактная плата, чем линейка Zero, которая лишена большей части разъемов и портов.
Она строится на базе 2-ядерного чипа ARM Cortex M0+ с частотой работы 133 МГц. На плате доступно всего 264 КБ оперативной и 2 МБ постоянной памяти.
На торце расположен один разъем USB-для подключения к другим компьютером или гаджетам. Плата не является полноценным компьютером, как все другие “малинки”.
Это гораздо более простой микроконтроллер, который больше схож с популярными платами Arduino. На Pico можно загрузить исполняемый код для управления другими устройствами или умными девайсами.
Привычный для модельного ряда 40-пиновый разъем упразднили, разместив по периметру платы аналогичную контактную область. Это не так удобно с точки зрения быстрого монтажа компонентов, но при этом предоставляет более гибкие возможности модернизации модели.
Цена микроконтроллера составляет всего $4.
◉ Самой последней представленной на данный момент новинкой Raspberry является компактный модуль Raspberry Pi Zero 2 W. Это обновленный компьютер размером с обычную флешку, который неплохо прокачали по сравнению с предшественником.
Вычислительная мощность обеспечивается 4-ядерным 64-разрядным чипом ARM Cortex-A53 с частотой 1 ГГц. На борту 512 МБ оперативной памяти, модуль Wi-Fi с поддержкой частоты 2.4 ГГц и Bluetooth 4.2.
Благодаря переходу на 64-битную архитектуру новая модель “зеро” стала производительнее почти в четыре раза. При этом цена новинки составляет всего $15.
◉ Еще одной новинкой 2021 года в модельном ряду “малинок” стала Raspberry Pi 400. Это первый полноценный десктопный компьютер, который выпускается в корпусе со встроенной клавиатурой.
В таком виде гаджет может выполнять роль простенького ПК для студентов или школьников. Достаточно подключить такую “клаву” к монитору и можно организовать временное рабочее место для школьника или самому пересесть на удаленную работу.
Компьютер может работать не только на специальных сборках Linux, но и на ARM-версии новой Windows 11. Для офисных задач или учебного процесса подходит идеально.
Проверка дисков SMART
Ставим smartmontools
Добавляем параметры SMART в zabbix
Добавляем мониторинг состояния дисков в заббикс — берем скрипты из репозитория https://github.com/v-zhuravlev/zbx-smartctl
Чтобы zabbix мог запускать утилиты smartmontools копируем содержимое файла sudoers_zabbix_smartctl в файл /etc/sudoers.d/sudoers_zabbix_smartctl и ставим права на файл 440
Копируем файл zabbix_smartctl.conf в папку /etc/zabbix/zabbix_agentd.d. В нем удаляем то что выше строчки (они для старых версий zabbix)
Копируем файл discovery-scripts/nix/smartctl-disks-discovery.pl в папку /etc/zabbix/scripts и устанавливаем права на файлы
Тестируем скрипт, проверяем что он возвращает json с инфой о наших дисках.
Если всё норм, то рестартуем агент
Импортируем в zabbix шаблон Template_3.0_HDD_SMARTMONTOOLS_2_WITH_LLD.xml (Настройка->Шаблоны->Импорт) и подключаем его к нашему серверу (Настройка->Узлы сети->server_zabbx->шаблоны).
Преимущества Raspberry Pi 3 Model B
Умный дом на базе Raspberry Pi 3 Model B имеет ряд неоспоримых плюсов:
- Наличие большого выбора интерфейсов, позволяющих максимально расширить возможности системы. Здесь предусмотрен блютуз, имеется Wi-Fi, порты HDMI и USB.
- Возможность подключения модема GSM для выхода на связь с оператором, предоставляющим услуги глобальной сети.
- Наличие мощного процессора с четырьмя ядрами на 1,2 ГГц, способного решать серьезные задачи.
- Полная совместимость новой и предыдущей версии.
- Компактность. Устройство имеет небольшие размеры, а весит всего 45 грамм.
- Доступность разгона. При желании доступно увеличение производительности системы.
- Легкость применения. Программирование Raspberry Pi 3 Model B можно осуществлять на разных языках.
Также стоит выделить ряд преимуществ умного дома, построенного на базе Raspberry Pi 3 Model B:
- Возможность обезопасить здание путем защиты от потопа, установки видеонаблюдения, создания противопожарной и охранной систем.
- Установка систем, повышающих комфорт. Речь идет об электрических приборах, а также специальных устройствах, управляющих шторками.
- Возможность инсталляции системы, обеспечивающей дополнительную экономию. Применяются сенсорные смесители, датчики движения, а также датчики, фиксирующие перемещение человека или животных.
- Доступность инсталляции развлекательных специальных систем. К примеру, к умному дому на Raspberry Pi 3 Model B можно подключить мультирум или домашний кинотеатр.
Для полноты картины стоит учитывать и ряд минусов, характерных для умного дома на Raspberry Pi 3 Model B:
- Монтаж таких устройств подойдет для крупных особняков, расположенных вне черты города и имеющих большую площадь.
- Для установки нужно знать особенности и правила применения каждого из элементов. В крайнем случае, под рукой желательно иметь квалифицированного специалиста, готового в любой момент помочь в интересующем вопросе.
- Со временем умный дом, построенный на Raspberry Pi 3 Model B, устареет. По этой причине возможны трудности с поиском необходимых компонентов (в случае поломки).
В целом, устройство имеет больше положительных качеств, поэтому заслуживает внимание людей, желающих обустроить комфортный и удобный в эксплуатации дом
Что такое GSM розетка для умного дома, устройство, принцип работы, инструкция по подключению, как сделать своими руками
Начальная установка
Качаем и устанавливаем программу для записи образа на SD карту Win32DiskImager (в дальнейшем ее же можно использовать для бакапа этой SD карты в файл образа).
Записываем скачанный образ этой программой на SD карту, вставляем ее в слот и загружаемся.
После загрузки жмем Enter и вводим логин pi и пароль raspberry.
Для первоначальной настройки можно использовать консольную программу настройки:
Через нее можно сразу сменить дефолтный пароль, расширить раздел на весь объем флешки, выставить локаль на ru (после выбора локали будет еще запрос на каком языке выводить сообщения — лучше там выбрать англ. язык, на русском выглядит всё как-то не очень привычно и неудобно), настроить таймзону, включить SSH, если будет используется только через консоль без графической оболочки, то для GPU можно выбрать минимальный размер выделяемой памяти (16Мб).
Ставим сразу для удобства Midnight Commander:
Система управления умным домом
git clone https://bitbucket.org/lordloh/pi-home-automation.git git fetch && git checkout LinuxJournal2015May cd pi-home-automation python relay.py
Файл relayLabel.json содержит необходимые данные конфигурации, такие, как названия реле, значения таймеров для включения и отключения освещения и другие. В Листинге 6 показана базовая схема конфигурации программной части системы. Приведенный шаблон должен повторяться для каждого из реле. Значение свойства формируется побитово для каждого из дней недели начиная с младшего двоичного разряда для понедельника и заканчивая старшим двоичным разрядом для воскресенья.
Листинг 6. Базовая схема конфигурации программной части системы
{ "relay1": { "times": , "end": , "dow": <Понедельник<<0|Вторник<<1|Среда<<2|Четверг<<3| Пятница<<4|Суббота<<5|Воскресенье<<6> } ], "id": 1, "label": "<Название устройства>" } }
На Рисунке 4 показана блочная диаграмма системы с указанием на ее основные функциональные части. В Таблице 2 перечислены все команды, которые клиент может отправить серверу, а также действия, которые сервер должен будет выполнять при их получении. Данные команды передаются от браузера серверу в формате JSON. Для команд используется следующая схема:
{ "c":"<команда из Таблицы 2>", "r":<реле Номер> }
Команды и не принимают номера реле. Помимо файлов relay.py и relayLabel.json единственным необходимым для функционирования системы файлом является файл index.html. Сценарий relay.py осуществляет чтение данного файла и передает его в ответ на HTTP-запросы. Файл index.html содержит код HTML, CSS и JavaScript для формирования пользовательского интерфейса.
Рисунок 4. Блочная диаграмма системы
Таблица 2. Команды
Команда | Описание |
---|---|
Включение реле | |
Выключение реле | |
Передача состояния выводов разъема GPIO и названий реле | |
Сохранение новых названий реле в файлах формата JSON |
После настройки и запуска системы у вас наверняка возникнет желание получить доступ к ней посредством сети Интернет. Для этого вам придется установить постоянный MAC-адрес и зарезервировать IP-адрес в вашей локальной сети для Raspberry Pi, после чего настроить механизм преобразования номеров сетевых портов на уровне вашего маршрутизатора. Процесс выполнения данной последовательности действий значительно отличается в зависимости от используемого маршрутизатора, поэтому руководство по эксплуатации вашего маршрутизатора будет являться в данном случае лучшим руководством. Кроме того, вы можете использовать динамическую службу доменных имен для того, чтобы не вводить IP-адрес каждый раз при возникновении необходимости в доступе к вашему серверу на основе Raspberry Pi. Некоторые модели маршрутизаторов могут поддерживать механизм взаимодействия с определенными динамическими службами доменных имен.
Включение вентилятора при заданной температуре
Ниже приведённые примеры используют WiringPi и, если библиотека у вас не установлена, установите её, инструкции тут: , WiringOP или BPI-WiringPi.
Самый простой пример управления вентилятором — это его включение, при достижении критичной температуры, и выключение, если температура ниже. Если шум вентилятора не мешает, тогда можно использовать такой вариант.
#include <iostream> #include <fstream> #include <wiringPi.h> #include <unistd.h> #define PIN 7 #define TEMPERATURE_MIN 55 using namespace std; static int getTemperature() { static fstream myfile; int temperature = 0; myfile.open("/sys/devices/virtual/thermal/thermal_zone0/temp", ios_base::in); myfile >> temperature; myfile.close(); return temperature; } int main() { int temperature; int pinState = 0; try { if (wiringPiSetup() == 0) { pinMode(PIN, OUTPUT); while (1) { temperature = getTemperature(); if (temperature >= TEMPERATURE_MIN && pinState == 0) { digitalWrite(PIN, HIGH); pinState = 1; } else if (temperature < (TEMPERATURE_MIN - 10) && pinState == 1) { digitalWrite(PIN, LOW); pinState = 0; } usleep(1000 * 1000); } } } catch (exception& e) { cerr << e.what() << endl; } return 0; }
Программа работает следующим образом — при достижении заданной температуры (более 55°С) вентилятор включается, и отключается только когда температура снизится более чем на 10°С от максимального порога (менее 45°С).
Температуру получаем с помощью функции . На Raspberry Pi температура измеряется в миллиградусах, для перевода в градусы Цельсия нужно разделить полученное число на 1000 и необходимо будет внести несколько изменений,
вместо:
static int getTemperature() { static fstream myfile; int temperature = 0; myfile.open("/sys/devices/virtual/thermal/thermal_zone0/temp", ios_base::in); myfile >> temperature; myfile.close(); return temperature; }
использовать:
static int getTemperature() { static fstream myfile; int temperature = 0; myfile.open("/sys/devices/virtual/thermal/thermal_zone0/temp", ios_base::in); myfile >> temperature; myfile.close(); return temperature / 1000; }
Компиляция, сборка и запуск программы
Сознаём файл и вставляем вышеприведённый код:
nano FanPiOnOff.cpp
Компилируем и собираем программу:
g++ -Ofast -Wall FanPiOnOff.cpp -lwiringPi -lpthread -o FanPiOnOff
Запускаем:
./FanPiOnOff
если хотим запустить программу в фоновом режиме:
nohup ./FanPiOnOff &
Интернет вещей
Текущим трендом разработки встраиваемых устройств является подключение всех этих устройств к сети Интернет. Сеть Интернет разрабатывалась с учетом возможных сбоев и может корректно функционировать в случае выхода из строя нескольких узлов. Концепция Интернета вещей (The Internet of Things, IoT) предусматривает аналогичную избыточность. После окончания продолжающейся в данный момент миграции систем на протокол IPv6, пространство IP-адресов будет достаточно емким для обслуживания соединений нескольких триллионов устройств. Кроме того, в случае соединения устройства с сетью будет удобно управлять этим устройством из любой точки мира, принимая данные от различных сенсоров и отвечая на события. Совокупность соединенных с Интернетом вещей домашних устройств может выступать в роли живого существа, реагирующего на раздражители.
Окунитесь с минеральным маслом
Наконец, мы можем пойти дальше воды и избавиться от неудобных кабелей и трубок водяного охлаждения. Вместо этого рассмотрим охлаждение минеральным маслом. Идея этого состоит в том, чтобы погрузить пи в масло таким образом, что вы просто не могли бы с водой.
Поскольку минеральное масло не является проводящим и вытесняет воздух и воду, нет возможности для электрической неисправности или ударов. Тем не менее, здесь все еще есть потенциал для некоторой опасности.
В этом примере Pi подвешен на рыболовной проволоке в аквариуме. Добавлены некоторые светодиоды, и Pi, как обычно, подключается к сетевому кабелю и кабелю HDMI (некоторые прямоугольные адаптеры HDMI могут оказаться полезными для вас). Затем добавляют минеральное масло, Pi погружается в воду, и компьютер загружается. Все должно быть хорошо, температура Пи должна контролироваться жидкостью.
UGREEN 2 шт. HDMI-адаптер под прямым углом 90-градусный позолоченный HDMI-штекер HDMI поддерживает 3D 4K 1080P HDMI-удлинитель для TV Stick, Roku Stick, Chromecast, Xbox, PS4, PS3, Nintendo Switch UGREEN 2 шт. HDMI-адаптер под прямым углом 90-градусный позолоченный HDMI-штекер HDMI поддерживает 3D 4K 1080P HDMI-удлинитель для TV Stick, Roku Stick, Chromecast, Xbox, PS4, PS3, Nintendo Switch Купить сейчас на Amazon $ 7,99
Тем не менее, небольшие повреждения резинового экрана на кабелях могут привести к вытягиванию масла из бака. Это особенно опасно для кабеля HDMI, так как это может привести к растрескиванию масла вокруг кабеля. Следите за этим, если вы попробуете охлаждение минеральным маслом.
Выводы
Если вы осилили столько информации, то выводы будут очевидны.
Самый распространенный и широко используемый вариант — Raspberry Pi 4. Нет проблем с нахождением информации и огромное количество аксессуаров. Одна проблема — слабый GPU и, соответственно, посредственная обработка камер.
Raspberry Pi 4 — пока сырой вариант, так как недостаточно опыта использования и отсутствует обратная совместимость. То есть пока — на ваш страх и риск, но на вырост — отличное решение.
Rock64 — отличный вариант, включая отсутствие проблем с microSD и наличием аппаратного ускорения FFmpeg. Будут нюансы с корпусом из-за разъема питания, но напильником можно доработать.
Odroid C2 и Libre Computer Le Potato — хорошее решение только за счет того, что мощности процессора достаточно для того, чтобы декодировать видео без использования GPU. Да и сами железки неплохие. Правда Odroid C2 более известен чем Le Potato, который вообще сложно заказать, поэтому рассматривать последний, думаю, не стоит.
Самосборные компьютеры, готовые компьютеры и неттопы — отличные и масштабируемые решения, лишенные недостатков архитектуры ARM процессоров. Если потратить немного больше денег на хороший процессор и хорошие компоненты, то этот выбор является лучшим из всех. Просто потому, что он будет мощным, стабильным и надежным. Только большим, шумным и жрущим электричество. Но тут, как говорится, выбирать вам.
NAS от Synology — отличное решение, если он у вас уже есть или вы все равно планируете его покупать. Специально для умного дома — бессмысленно.
Но все равно выбор за вами.