Постановка задачи
Для начала давайте определим, какие функции мы хотим получить на выходе.
Основная суть подобного проекта — анализ данных о производственном процессе.
То есть в первую очередь — сбор телеметрии с различных датчиков, отправка её на сервер (например в облако) для централизованной обработки и накопление истории. Дальнейшая судьба собранной статистики зависит от конкретной решаемой задачи и вашей фантазии.
Также неплохо было бы иметь возможность мониторить поступающие данные в реальном времени (хотя бы чтобы понять идут они или нет) и накапливать локальный архив timeseries на шлюзе (например, если нет соединения с интернетом).
В первой части статьи мы реализуем основные функции:
-
сбор телеметрии с промышленных датчиков по протоколу Modbus;
-
передачу данных в облако;
-
локальный мониторинг в реальном времени;
Во второй — разберемся с тем, как можно накапливать и обрабатывать телеметрию в облаке;
А в третьей — доработаем проект дополнительными фичами:
-
локальным хранилищем телеметрии;
-
устройством для прямого считывания аналогового или цифрового сигнала;
В двух словах о SSH и VNC протоколах
SSH (Secure Shell) — сетевой протокол, позволяющий производить удаленное управление операционной системой через шифрованное соединение, а также передавать файлы, транслировать видео- и аудиопотоки и сжимать передаваемые данные на лету.
Говоря простым языком, SSH — это та штука, через которую можно запустить на компьютере терминал для выполнения консольных команд на другом компьютере.
VNC (Virtual Network Computing) — более продвинутый протокол, обеспечивающий удаленный доступ к рабочему столу другого компьютера по сети.
Для этого используются модули сервера и клиента. Серверный модуль запускается на компьютере, который должен управляться удаленно. Клиентский модуль запускается на компьютере, с которого будет осуществляться удаленное управление.
В отличие от SSH, по VNC предоставляется доступ не только к консоли, но ко всему компьютеру, включая графический интерфейс.
Что планируется дальше? Клиент и демоны.
Во-первых эта платформа имеет много возможностей кроме безотказного тонкого клиента и дешевизны. Raspberry Pi стойко ассоциируется с AI-проектами, с обработкой видеопотока, управлением оборудованием через GPIO шину. Я не буду это все встраивать в клиент – нет смысла. Вместо этого я сделаю открытую сервисную архитектуру с подключаемыми скриптами и внешними независимыми сервисам(демонами). Т.е. будет:
- Клиент с открытым API с доступом к UI-потоку (извне можно запускать экраны и управлять логикой приложения) и «демоны» (daemons) каждый для своих целей. Например есть уже голосовой ассистент //infostart.ru/public/1342124/ который вполне может взаимодействовать с UI-интерфейсом. Также например такие вещи как «распознавание лиц» — например вместо логина- распознавание лица, вместо регистрации операций путем сканирования бейджа – опять же распознавание лица. Подобные вещи несложны на пайтоне, но требуют доработки напильником, поэтому планируется только исходный код
- Связь с Postgre как в мобильном клиенте (//infostart.ru/1c/articles/1217831/ )
- Интерпретатор скриптов Python как в мобильном клиенте (начиная с версии 4.20.00)
- Добавление других элементов экрана, например диаграмм
Установка и настройка Time Machine на Raspberry Pi
Согласно Википедии, Time Machine — система резервного копирования, разработанная Apple и встроенная в Mac OS X Leopard и более поздние версии macOS, а также одноименная программа, позволяющая просматривать содержимое резервных копий и восстанавливать как отдельные файлы, так и операционную систему целиком.
Попросту говоря, это система ежечасных бэкапов, встроенная в macOS и требующая наличия совместимого файлового сервера. Именно в такой сервер можно превратить Raspberry Pi, если подключить к нему внешний USB HDD.
Для корректной работы Time Machine подходит только Raspberry Pi 4 или новее, с портами USB 3.0 (в предыдущих моделях порты более медленные) и соответствующий HDD объемом 1-3 терабайта (с внешним питанием, если это диск на 3,5 дюйма).
Важно! Есть два сетевых протокола, по которым macOS может складировать данные Time Machine в локальной сети. Устаревший Netatalk или более современная Samba
Использовать для задач Time Machine, в принципе, можно любой из них. Интернет полон инструкций по организации процесса именно через Netatalk, причем все эти инструкции разной степени вычурности, но моя задача — дать простейший, гарантированно рабочий вариант. А ваша задача — выбрать удобный для себя. Так что в статье рассмотрим оба.
Подготовка HDD
Подключаем HDD в порт USB 3.0 нашей Raspberry Pi, заходим на нее в Терминале по SSH и запускаем команду , которая выведет в консоли список подключенных дисков
Обращаем внимание на размер диска, чтобы точно убедиться, с каким из них будем работать, на его имя и точку монтирования, в моем случае это просто , в вашем будет еще точка монтирования, скорее всего. Она то нам и нужна
Доступ к Raspberry Pi 3 через VNC
Для получения доступа к Raspberry Pi 3 по протоколу VNC нужно открыть инструмент конфигурации raspi-config:
sudo raspi-config
Выбрать в нем Interfacing Options:
И включить VNC:
После чего нужно установить сам VNC-сервер:
sudo apt-get update sudo apt-get install realvnc-vnc-server
И запустить его:
vncserver :1
Теперь посмотрим на каком порту он прописался:
netstat -pan|grep 'vnc'
Скорее всего это будет порт 5901 или 5902:
Теперь скачиваем на основной компьютер (с которого будет осуществляться управление) бесплатный VNC-клиент VNC Viewer.
Запускаем его:
Через File -> New connection создаем подключение к Raspberry Pi, прописывая ее IP-адрес и порт, на котором прописался VNC-сервер.
Порт нужно писать через два двоеточия подряд!
Если IP-адрес и порт указаны верно, то при подключении VNC-клиент запросит имя пользователя и пароль:
И после их ввода мы получаем полный доступ к интерфейсу Raspbian PIXEL:
Которым можно управлять при помощи мыши и клавиатуры.
Добавляем VNC-сервер в автозагрузку
Теперь пропишем запуск VNC-сервера в автозагрузку Raspbian чтобы не приходилось каждый раз вручную запускать его после перезагрузки.
Для этого перейдем в папку, где хранятся конфиги текущего пользователя:
cd /home/pi/.config
И посмотрим ее содержимое:
ls
Интересует наличие папки «autostart». Если ее нет — ее нужно создать, а если она уже есть — просто игнорируем этот шаг и идем дальше:
mkdir autostart
Переходим в только что созданную или уже существующую папку «autostart»:
cd autostart
Создаем новый файл:
nano realvnc.desktop
И прописываем в нем следующее:
Type=Application Name=RealVNCServer Exec=vncserver :1 StartupNotify=false
Этот файл при каждой загрузке графического интерфейса будет выполнять команду «vncserver :1».
Перезагружаем «малину» для применения изменений:
sudo reboot
Если все прошло верно, то VNC-сервер будет запущен автоматически и к нему можно будет подключиться.
Подключение к рабочему столу Raspberry Pi с Android-устройства
Установив VNC-сервер на Raspberry Pi, можно управлять ею не только с компьютера, но и со смартфона или планшета на Android.
Для этого скачиваем VNC Viewer в Google Play и конфигурируем соединение так же, как на компьютере:
Подключаемся, вводим логин и пароль, попадаем в графический интерфейс Raspbian:
Свайпами по экрану перемещается курсор мыши, «клик левой кнопкой мыши» осуществляется тапом по экрану, «клик правой кнопкой мыши» осуществляется тапом двумя пальцами по экрану, ну а средней кнопкой можно «кликнуть» посредством тапа тремя пальцами одновременно.
Подключение к рабочему столу Raspberry Pi с iPhone/iPad
Посредством VNC можно подключаться к рабочему столу Raspberry Pi и с устройств под управлением iOS.
Скачиваем VNC Viewer в App Store и конфигурируем соединение так же, как на компьютере:
Подключаемся, вводим логин и пароль, попадаем в графический интерфейс Raspbian:
Методы управления тут те же самые, что и в случае использования Android-приложения. Те же свайпы, те же тапы.
Но вообще, управлять «малиной» с маленького экрана iPhone — то еще извращение :).
5 Основы командной строки Raspberry Pi
С помощью графического интерфейса, управляемого мышью, вы можете легко переключать каталоги и читать их содержимое. Однако вы можете предпочесть гибкость текстовых команд.
- PWD показывает текущий каталог (распечатать рабочий каталог).
- Ls перечислит содержимое каталога.
- CD используется для изменения каталога. Например, cd edward with переключает вас на дочерний каталог с именем «Edward», а cd .. возвращает фокус на родительский каталог.
- Mkdir Newdir создаст новый каталог, где «newdir» является меткой каталога. Вы также можете создать последовательность новых каталогов с mkdir -p / home / edward / newdir1 / newdir2где и newdir1, и newdir2 созданы, но это будет работать только с -п
- Чисто представляет новый чистый экран, полезный, если ваши предыдущие команды загромождают вещи.
Вы легко поймете эти основы командной строки. Полезно иметь возможность перемещаться через командную строку, поскольку некоторые файлы и папки невидимы для файлового менеджера, управляемого мышью.
Как пользоваться Transmission на Raspberry Pi
Всё в той же предыдущей статье мы раз и навсегда присваивали Raspberry Pi статичный IP в локальной сети. В моем случае это был 192.168.50.10, в вашем — любой другой в рамках настроек вашего роутера.
Для доступа к интерфейсу только что установленного Transmission мы будем использовать этот IP с портом 9091. В адресной строке браузера вводим где вместо все тот же IP из нашей предыдущей инструкции, в моем случае .
Пользователь: pi, пароль: ваш пароль, все как указывали в файле настроек. Если всё сделано правильно, картина будет такой:
Добавляем в список на скачивание сам торрент-файл:
И наблюдаем за процессом. Или не наблюдаем, Transmission справится и без нас.
Добавляем немного комфорта (опционально)
Если нам нужна возможность не только иметь доступ к скачанным файлам (то есть возможность увидеть их и скопировать к себе на компьютер), но и свободно добавлять, изменять или удалять файлы в папке Downloads по сети с компьютеров любого локального пользователя, нужно выполнить такие команды:
cd /mnt/tm sudo chmod a=rwx -R Downloads
Где a — это «все», rwx — «могут читать, записывать и исполнять файлы», -R — «рекурсивно» (то есть на любую глубину вложения) в папке Downloads, расположенной по пути /mnt/tm. Полная свобода.
Теперь удалять и изменять скачанные файлы можно не только через веб-интерфейс самого Transmission, но и просто по сети, в Finder или любом другом файловом менеджере.
- Обзор Moshi Symbus Mini: хаб за $100 — нормально?
- Обзор Apacer PP3480 1TB: NAS-накопитель под систему?
Информация о системе
- : отображает сведения о памяти.
- : показывает размер и количество разделов на SD-карте или жестком диске.
- : показывает к какому типу относится ОС.
- : показывает версию ОС Linux.
- : отобразить архитектуру компьютера.
- : отобразить архитектуру компьютера.
- : отобразить используемую версию ядра
- : выдает число свободных килобайтных блоков и незанятых описателей файлов в смонтированных файловых системах, используя значения соответствующих счетчиков в суперблоках.
- : показывает все установленные пакеты, относящиеся к XXX.
- : показывает все установленные вами пакеты.
- : показывает, сколько свободной памяти доступно.
- : показывает IP-адрес вашего Raspberry Pi, Orange Pi или Banana Pi.
- : список USB-устройств, подключенных к плате.
Интерфейс SPI
SPI — последовательный четырёх-проводной интерфейс передачи данных, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии.
Raspberry Pi имеет одну шину — SPI0. Но более новые версии одноплатника, например Raspberry Pi 3 Model B, обладают двумя шинами: SPI0 и SPI1
Включения шины SPI0
По умолчанию шина SPI0 отключена. Для включения выполните следующие действия.
-
Откройте терминал с рабоче стола Raspberry Pi или
-
Зайдите в настройки Raspberry Pi.
sudo raspi-config
- Выберите пункт
- Далее пункт .
- Нажмите для подтверждения включения шины.
-
Для проверки включения шины SPI0 запустите листинг директории /dev:
ls /dev/
В ответ вы должны увидеть полотно файлов, среди которых два: и .
Это значит что у вас включён SPI0 с возможностью подключения двух ведомых устройств.
Теперь вы можете использовать интерфейс SPI для коммуникации с датчиками и модулями.
Включения шины SPI1
Если вы используете Raspberry Pi 3 Model B, то вам доступно две шины SPI: и .
Для включения шины SPI1, необходимо вручную отредактировать файл настроек загрузки системы.
-
Откройте от пользователя файл настройки загрузки системы.
sudo nano /boot/config.txt
-
В конец файла добавьте команду включения .
dtoverlay=spi1-3cs
- Сохраните файл сочетанием клавиш +.
-
Для вступления изменений в силу перезагрузите Raspberry Pi.
sudo reboot
-
Для проверки включения шины SPI1 запустите листинг директории /dev:
ls /dev/
В ответ вы должны увидеть полотно файлов, среди которых три отвечают за SPI1: , и .
Если у вас включена шина SPI0, то будут ещё два файла: и .
Это значит что у вас включён SPI0 с возможностью подключения двух ведомых устройств и SPI1 с возможностью подключения трёх ведомых устройств.
Команды Raspberry Pi: вы используете Linux
Вы создали образ своей SD-карты, загрузили Raspberry Pi и работаете под операционной системой Raspbian, обновленной и настроенной для оптимизации вашего Raspberry Pi.
Возможно, вы не поняли, что несмотря на рабочий стол в стиле Windows, Raspbian является дистрибутивом Linux. Для Raspberry Pi 23 доступно несколько операционных систем, работающих на вашем Raspberry Pi Независимо от вашего проекта Raspberry Pi, для него есть операционная система. Вот лучшие операционные системы Raspberry Pi! Подробнее, подавляющее большинство из которых Linux.
Это не попытка заставить людей использовать Linux тайком! Вы можете установить Linux на огромный ассортимент устройств. Скорее, Raspberry Pi Foundation опирается на операционные системы Linux из-за их происхождения с открытым исходным кодом и универсальности. Хотя вы можете использовать операционную систему Linux без командной строки, в этом и заключается настоящая сила.
Хотите полный контроль над Raspberry Pi с Raspbian? Начните с запуска LX Terminal или загрузка в командную строку.
Настраивать
Зарегистрироваться
Для использования Ubuntu Core требуется учетная запись SSO. Перейдите на эту страницу и зарегистрируйтесь. Вход в Ubuntu Snappy Core с вашей учетной записью привяжет и зарегистрирует вашу учетную запись на Pi.
Импортировать ключ SSH
После регистрации учетной записи в Ubuntu следующим шагом будет импорт ключа SSH, чтобы при входе в Ubuntu Core SSH работал правильно. Если у вас уже есть открытый ключ SSH (находится в ~ / .ssh и заканчивается на .pub), вставьте его содержимое в эта страница здесь.
В противном случае прочтите наше руководство по созданию ключей SSH. Следуйте только той части статьи, которая посвящена генерации ключей. Игнорируйте раздел, в котором рассказывается, как импортировать ключ. Вместо этого скопируйте содержимое id_rsa.pub, расположенного в ~ / .ssh, на страница Ubuntu.
Создать установочный носитель
Когда вы импортировали свой открытый ключ SSH, следующим шагом будет создание установочного носителя. Загрузите последнюю версию Ubuntu Core для Raspberry Pi 2 или же Raspberry Pi 3. Затем подключите карту Micro SD к компьютеру.
Запишите установочный носитель с помощью Etcher.
Сетевые и интернет-команды Linux
- : выдает информацию о состоянии активных интерфейсов. Команда ifconfig — аналог IPconfig Windows, с другими ключевыми параметрами и более широким функционалом. Используется для назначения сетевого адреса, изменение настроек параметров сетевого адаптера и IP протокола. Она используется в большинстве *nix систем на этапе загрузки операционной системы для настройки сетевых интерфейсов. После этого она обычно используется только при отладке, настройке или восстановлении системы.
- : выдает информацию о состоянии активных беспроводных интерфейсов. iwconfig подобен ifconfig, но предназначен для беспроводных интерфейсов. Он используется для установки параметров сетевых интерфейсов, которые специфичны для беспроводных действий (например, частота). iwconfig также может быть использован для отображения этих параметров, и статистики беспроводных интерфейсов (извлекается из /proc/net/wireless).
- : выводит список доступных беспроводных сетей в настоящее время.
- : используйте grep вместе с именем поля, чтобы перечислять только нужные вам поля (например, просто перечислить ESSID).
- : сканирует вашу сеть и перечисляет подключенные устройства, номер порта, протокол, состояние (открытую или закрытую) операционную систему, MAC-адреса и другую информацию.
- : проверяет связь между двумя устройствами, подключенными к сети. Например, отправит пакет на устройство по IP 192.168.0.100 и ждёт ответа. Она также работает с адресами веб-сайтов.
- : загружает файл example.txt из интернета и сохраняет его в текущем каталоге.
Установка радиаторов на Raspberry Pi
Первым делом при подготовке Raspberry Pi к запуску следует озаботиться его охлаждением.
Как-никак, а перед нами компьютер с процессором и другими чипами, которые имеют свойство нагреваться при работе.
Китайцы производят и продают наборы радиаторов для микрокомпьютеров. Радиаторы бывают алюминиевыми, медными и керамическими. Я выбрал набор из меди, потому что теплоемкость медных радиаторов больше алюминиевых, а керамика в качестве пассивного охлаждения – вещь для меня совершенно непонятная.
2 крупных радиатора крепятся на верхней части платы, а плоская пластина будет закреплена на чипе оперативной памяти с нижней стороны.
Крепятся радиаторы к чипам, судя по всему, обычным двусторонним скотчем. По крайней мере для 3M-ленты этот клейкий материал выглядит уж слишком тонким.
Чипы перед наклейкой радиаторов на всякий случай следует обезжирить спиртом. Крупный чип слева – сердце микрокомпьютера, однокристальная система Broadcom BCM2837 с интегрированным процессором и графическим адаптером. В синтетических тестах греется до 100°C, так что оставлять его без охлаждения никак нельзя.
Правее, возле USB-портов, находится контроллер USB. Он тоже греется, хотя и не так сильно, как SoC Broadcom BCM2837. Второй радиатор из набора будет закреплен на нем.
2 верхних радиатора надежно закреплены на своих местах.
Медная пластина закреплена на модуле 1Гб LDDR2 памяти с нижней стороны. Оперативная память сильно не греется, поэтому полноразмерный радиатор на ней не нужен. Но медная пластина все же пусть будет. На всякий случай. Как минимум, ее наличие способно защитить чип от случайных механических повреждений.
Забегая наперед: радиаторы оказались действительно полезной вещью, когда процессор “малины” находится под нагрузкой, то установленный на нем радиатор начинает обжигать палец. Так что пренебрегать их установкой, думая что “раз производитель не оснастил ими плату – значит и не нужно”, не стоит.
Для тех кто разрабатывает на Simple UI
Есть некоторые отличия и ограничения в конфигурациях для стационарных рабочих мест. В конструкторе я сделал переключалку “Стационарное решение|Мобильное решение ” чтобы конфа сама проверяла что можно а что нет.
Вот список этих отличий:
- Только контейнеры. Экраны размечаются только через контейнеры, причем уровень вложенности – 2. Т.е. вертикальный контейнер с любым количеством строк, в каждой стоке либо один горизонтальный контейнер с любым количеством элементов либо просто элемент. Т.е. получается эдакая 2D таблица.
- Размеры если указывать их числами – в «символах», т.е. высота = 2- это 2 строки
- Только «произвольный запуск экранов» – все переключения через ShowScreen
- Высота в таблице -это количество строк, ширина – высота строки
- В настоящее время не все элементы контейнера доступны, перечень элементов органичен в конструкторе
- Прокрутка корневого контейнера/без прокрутки – работает немного не так как в Андроиде (появляется скролл-бар для мыши), лучше посмотреть в демке
- Пока только «он-лайн» режим через 1С, офлайн не нужен, так как это стационарное рабочее место, позже появится поддержка скриптов Python как в мобильной платформе и на них уже можно делать requests и т.д. и т.п. куда надо, парсить и отображать на экранах — хоть в PostgREST, хоть в свой бэкенд
Интерфейс системы и визуальные эффекты
Чаще всего Linux-дистрибутивы для визуализации используют одну из популярных оболочек, таких как GNOME, Mate и KDE.
Deepin использует оболочку собственной разработки под названием Deepin Desktop Environment на основе библиотек Qt и Go, с полной поддержкой HTML5 и Chromium.
За счет этого достигается максимально близкое внешнее сходство с macOS. Однако логика работы контекстных меню, системные функции копируют Windows.
Многим так привычнее.
При первом включении система предлагает выбрать «красивый» или «быстрый» интерфейс: первый реализует концепцию док-станции, продуманной до мелочей, вторая почти полностью копирует обычный Windows.
Стоит выбрать улучшенное оформление: панель программ находится в нижней части экрана; меню — слева; кнопки быстрого запуска, переключатель задач и системный трей — справа.
С одной стороны, почти классика, но: эффекты крутые, удобно расположенные значки, продуманный трей и системные кнопки действительно улучшают восприятие необычного дистрибутива.
А вот предлагаемые к выбору наборы иконок почти не отличаются друг от друга. Впрочем, для NIX-владельцев и это выглядит неплохо.
Стоит упомянуть: выбор не окончательный. Смена оформления на лету доступна через соответствующее меню в настройках системы.
Навигация по файловой системе
Что ж, давайте приступим!
Для начала впишите в терминал команду pwd (она показывает рабочую директорию):
pi@raspberry:~ $ pwd /home/pi
В результате терминал напишет /home/pi. Прямые слеши всегда используются для обозначения папок и файлов, находящихся внутри папок. В данном случае текущей рабочей директорией является pi, которая находится в директории home, которая находится в корне файловой системы.
Слово pi, стоящее перед @ – это имя пользователя, под которым вы залогинились в систему.
Примечание: Команды Linux чувствительны к регистру, и это значит, что PWD, PwD, pWd и прочие вариации не будут идентичны pwd. То же самое касается и всех остальных команд Linux.
Наиболее часто используемые команды – это ls и cd. Первая используется, чтобы показать содержимое директории, а вторая – чтобы переместиться из одной директории в другую.
Открыв терминал в первый раз, вы окажетесь в домашней директории (той, которую ваше напечатала команда pwd). Итак, чтобы напечатать список папок файлов и папок, находящихся в рабочей директории, нужно вписать в терминал следующее:
pi@raspberry:~ $ ls
В данный момент эта директория пуста, поэтому в ответ команда ls лишь промолчит. Хотите создать новую папку? Воспользуйтесь для этого командой mkdir, написав после нее через пробел название создаваемой папки:
pi@raspberry:~ $ mkdir NewFolder pi@raspberry:~ $ ls NewFolder
Для навигации по файловой системе используется команда cd, после которой через пробел указывается название папки, в которую вы хотите переместиться. На практике этой выглядит примерно следующим образом:
pi@raspberry:~ $ cd NewFolder pi@raspberry:~/NewFolder $
Эти команды переместят вас в папку NewFolder, которую вы создали чуть выше.
При работе с терминалом можно пользоваться одним хитрым приемом, работающим по принципу автодополнения текста. Он использует клавишу Tab ⇆ и позволяет не забивать голову точными названиями директорий и файлов. Чтобы увидеть, как работает этот прием, давайте снова воспользуемся командой cd (впишите cd .., чтобы переместиться на одну папку вверх):
pi@raspberry:~/NewFolder $ cd .. pi@raspberry:~ $ ls NewFolder
Теперь снова впишите cd, а затем через пробел напишите NewF:
pi@raspberry:~ $ cd NewF
Теперь нажмите на клавишу Tab ⇆ , чтобы включить автоматическое дополнение:
pi@raspberry:~ $ cd NewFolder
Готово!
Есть и другие команды Linux, позволяющие манипулировать файлами. Давайте воспользуемся командой touch, чтобы создать новый файл:
pi@raspberry:~/NewFolder $ touch NewFile.txt pi@raspberry:~/NewFolder $ ls NewFile.txt
Отдельные файлы можно копировать при помощи команды cp, после которой через пробел пишется имя файла. Кроме того, этой командой можно пользоваться для переименования файлов:
pi@raspberry:~/NewFolder $ cp NewFile.txt OtherFile.txt pi@raspberry:~/NewFolder $ ls NewFile.txt OtherFile.txt
Удаление файла осуществляется при помощи команды rm, после которой через пробел пишется имя удаляемого файла:
pi@raspberry:~/NewFolder $ rm NewFile.txt pi@raspberry:~/NewFolder $ ls OtherFile.txt
Перемещение файлов осуществляется при помощи команды mv:
pi@raspberry:~/NewFolder $ mv OtherFile.txt /home/pi pi@raspberry:~/NewFolder $ cd .. pi@raspberry:~/NewFolder $ ls NewFolder OtherFile.txt
Это лишь самые основы, но при дальнейшем изучении Linux вы обязательно поймете, как много можно сделать, используя для манипуляции файлами командную строку.
Настройка Lakka на Raspberry Pi
Для комфортной работы с Lakka нужно проделать пару нехитрых манипуляций, прежде чем раз и навсегда отключить клавиатуру.
- Перемещаясь по меню клавишами ←→↑↓, находим пункт Services и активируем SSH и Bluetooth. Свой выбор подтверждаем клавишей Enter, а для отмены используем Backspace.
- Если нет звука, то в меню Audio → Device нажимаем Enter и вводим такое значение:
hdmi:CARD=vc4hdmi1,DEV=0
А затем выбираем пункт Restart RetroArch.
- Подключаем геймпады. В случае с DualShock 4 достаточно ввести геймпад в режим сопряжения, зажав на нем кнопки «PS» и «Share» на несколько секунд, пока геймпад не начнет помаргивать белым светом, а на Raspberry Pi найти в списке доступных Bluetooth-устройств Wireless Controller и нажать Enter. Через несколько секунд геймпад просигналит об успешном подключении постоянным синим свечением. Второй геймпад будет светиться красным.
- В меню Input → Port 1 Controls выставляем такие значения:
Device Type: RetroPad with Analog
Analog to Digital Type: Left Analog
И чуть ниже переназначаем все кнопки и стики геймпада по отдельности, чтобы избежать сложностей в дальнейшем.
Клавиатуру можно отключать, больше она нам не понадобится. - Подправляем часовой пояс. Для этого логинимся в Lakka по SSH (login/pass: root/root) и вводим команду:
echo "TIMEZONE=Europe/Rome" > /storage/.cache/timezone
Где вместо Europe/Rome подставляем любое нужное значение из списка часовых поясов с Википедии. Перезагрузка и вот уже на экране правильное время.
Установка операционной системы
- Вставьте SD карту в картридер и проверьте, какая буква была присвоена диску.
- Откройте Win32DiskImager, возможно понадобится запустить его от имени администратора.
- Выберите образ распакованной Raspbian OS.
- Выберите букву, присвоенную вашей SD карте, в выпадающем списке устройств. Убедитесь в том, что выбрали правильную букву диска, чтобы не повредить данные на каком-либо другом диске.
- Нажмите Записать (Write) и ждите завершения.
- Закройте Win32DiskImager, выньте SD карту и вставьте её в Raspberry Pi.
Примечание: после записи операционной системы вы заметите, что на SD карте осталось лишь несколько мегабайт. Это из-за созданного раздела, остальная часть свободного пространства скрыта. Вы сможете это исправить, как только мы подключимся к Raspberry Pi.