Найти в Дзене
МеханикуС

Настройка Raspberry Pi Zero W для MagicMirror

Вот и пришло время настройки моего мини компьютера для работы в информационном зеркале. Я выбрал операционную систему Raspbian с php решением вывода информации от Michael Teeuw под названием Magic Mirror. В интернете есть большое количество вариантов установки Magic Mirror, но проблема в том, что они не подходят для одноплатника Raspbery Pi Zero W. А у меня в наличии была именно эта модификация. Так что все настройки были собраны по частям с разных форумов. Для начала заходим по адресу https://www.raspberrypi.org/downloads/raspbian/ и скачиваем образ Raspbian Stretch with desktop. Берём нашу microSD карту и с помощью программы Win32DiskImager заливаем на неё скаченный образ. Для этого нажимаем кнопку, отмеченную стрелкой, выбираем нужный образ, а затем нажимаем кнопку Write и дожидаемся пока программа выполнит эту операцию. После записи образа первым делом надо зайти на карту и создать там два файла: ssh (только название без расширения) и wpa_supplicant.conf Файл ssh мы оставляем

Вот и пришло время настройки моего мини компьютера для работы в информационном зеркале. Я выбрал операционную систему Raspbian с php решением вывода информации от Michael Teeuw под названием Magic Mirror. В интернете есть большое количество вариантов установки Magic Mirror, но проблема в том, что они не подходят для одноплатника Raspbery Pi Zero W. А у меня в наличии была именно эта модификация. Так что все настройки были собраны по частям с разных форумов.

Для начала заходим по адресу https://www.raspberrypi.org/downloads/raspbian/ и скачиваем образ Raspbian Stretch with desktop.

Берём нашу microSD карту и с помощью программы Win32DiskImager заливаем на неё скаченный образ. Для этого нажимаем кнопку, отмеченную стрелкой, выбираем нужный образ, а затем нажимаем кнопку Write и дожидаемся пока программа выполнит эту операцию.

-2

После записи образа первым делом надо зайти на карту и создать там два файла: ssh (только название без расширения) и wpa_supplicant.conf

Файл ssh мы оставляем совершенно пустым (он нам нужен только для того, чтобы включить SSH доступ, который изначально отключен), а в файле wpa_supplicant.conf забиваем нужные нам данные о сети Wi-Fi. Только надо помнить, что название сети и пароль чувствительны к регистру:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

country=RU

network={

ssid="ИМЯ НАШЕЙ ТОЧКИ ДОСТУПА WI-FI"

psk="ПАРОЛЬ WI-FI"

key_mgmt=WPA-PSK

}

-3

Ну что ж, на этом первый этап настройки можно считать завершённым. Теперь берём нашу microSD карту и вставляем в одноплатник, после чего подключаем питание и радуемся приветливо мигающему зелёному огоньку.

Для дальнейшей настройки мне потребовались программы Advanced_IP_Scanner и PuTTY (https://www.putty.org/). Запускаем IP_Scanner и нажимаем кнопку Сканировать. Программа покажет все устройства, подключенные к нашей сети. Если файл с настройками Wi-Fi был создан правильно, то в списке устройств мы должны увидеть строчку Raspberry. Мой одноплатник получил адрес 192.168.0.2.

-4

Перейдём к запуску программы PuTTY. В поле Host Name вписываем IP адрес, который мы узнали из предыдущего шага, а в поле Port 22. В поле Saved Session напишите, например, MagicMirror. Жмем на кнопку Save. Выбираем в списке подключений MagicMirror.

-5

Жмём на кнопку Open. Откроется окно консольной строки программы, где мы должны ввести логин и пароль. По умолчанию в raspbian логин — pi, а пароль — raspberry. При вводе пароля символы не отображаются, не обращайте на это внимание, просто набираете пароль и жмёте клавишу Enter.

-6

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

sudo nano /etc/sysctl.conf

Нажимаем клавишу Enter. Откроется текстовый редактор для файла sysctl.conf. В конце файла добавляем строки:

#ipv6 disable

net.ipv6.conf.all.disable_ipv6 = 1

Нажимаем Ctrl+О для сохранения изменений в файле, подтверждаем сохранение клавишей Enter. После этого нажимаем Ctrl+Х для выхода из редактора.

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

sudo sysctl -p

sudo /etc/init.d/networking restart

Я очень надеюсь, что у Вас есть опыт работы в командной строке DOS или Linux, либо Вы поняли алгоритм действий при работе с ней, так как далее я не буду описывать каждую настройку так подробно, а просто выделю основные действия для неё.

Обновление системы и пакетов программ:

sudo apt update && sudo apt upgrade

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

Устанавливаем программу Node. Я перепробовал много разных версий этой программы, но для стабильной работы всей системы в целом мне подошла только версия 10.11.0, так что в данном описании я буду ссылаться на неё.

sudo wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-armv6l.tar.xz

Данной командой мы скачали архив Node. Теперь производим его распаковку:

tar xvf node-v10.11.0-linux-armv6l.tar.xz

Ну и соответственно как таковая установка программы:

cd node-v10.11.0-linux-armv6l
sudo cp -R * /usr/local/
sudo reboot

Последней командой мы отправили наш мини компьютер в перезагрузку. Окно программы PuTTY сообщит нам об этом. Закрываем окно, ждём около минуты и снова повторяем запуск PuTTY.

Установка NPM:

sudo apt install npm

Подтверждаем буквой Y и нажатием Enter.

Скачиваем Magic Mirror с портала Github.

git clone https://github.com/MichMich/MagicMirror

По окончанию процесса переходим в папку с файлами Magic Mirror.

cd MagicMirror

Установим программу.

npm install

Если у Вас установка прервалась с ошибкой «npm ERR! Error: EACCES: permission denied, access ‘/home/pi/MagicMirror/node_modules'» удалите папку node_modules командой sudo -rm -rf node_modules и используйте npm install снова.

Копируем файл с настройками в рабочую директорию программы.

cp ~/MagicMirror/config/config.js.sample ~/MagicMirror/config/config.js

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

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Для наших целей в этом файле должно быть такое содержание:

#@xscreensaver -no-splash

@/home/pi/mm_server.sh

@xset s off

@xset -dpms

@xset s noblank

@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/$

@chromium-browser --noerrdialogs --kiosk http://localhost:8080

Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х.

Теперь мы должны создать файл mm_server.sh

sudo nano mm_server.sh

В данном файле прописываем следующие команды:

#!/bin/bash
cd ~/MagicMirror
node serveronly &
sleep 30

Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х.

sudo chmod a+x mm_server.sh

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

sudo nano /boot/config.txt

Добавляем в конце файла строчку:

display_rotate=1

Сохраняем изменения Ctrl+О и выходим из редактора Ctrl+Х. Теперь можно перезагрузить систему командой:

sudo reboot

На этом всё. Если все настройки были сделаны правильно, то в результате перезагрузки Вы увидите на своём мониторе такую страничку.

-7