FAQ Raspberry Pi
Ошибка в pm2 log при нажатии на кнопку

Ошибка возникает только на Node 2. Связана она с тем, что при дребезге кнопки звук вызывается на проигрывание несколько раз, при этом ресурсы сервера, выделенные на проигрывание предыдущего звука еще не освобождены. Таким образом нагружается процессор и заполняется оперативная память из-за чего в pm2 log отображается ошибка, говорящая о том, что не хватает ресурсов для воспроизведения звука.
В Node 3 данная ошибка исправлена. В Node 2 же она не приводит к каким-либо критическим последствиям.
Разные датчики
vcgencmdДля просмотра вариантов ввести
vcgencmd commands
Подключение жесткого диска
Подключение жесткого диска для записи видео.
- Подключить жесткий диск
- Выполнить команды:
sudo apt-get install ntfs-3g sudo mkdir /mnt/videos sudo chmod 777 /mnt/videos sudo nano /etc/fstab
В конец файлы прописать:
/dev/sda1 /mnt/videos ntfs-3g defaults,rw 0 1
Настройки Raspberry Pi
Производятся путем внесения изменений в файл config.txt
Доступ к файлу можно получить введя
sudo nano /boot/config.txt
Также, имеется возможность удаленно менять настройки в более удобоваримом формате (ncurses interface). Для этого необходимо ввести
sudo raspi-config
Интерфейс вполне понятный и в нем несложно разобраться
Форсирование звука через 3.5 Jack
sudo amixer cset numid=3 1
Если звук появился, то надо добавить это в автозагрузку:
sudo nano /etc/rc.localв конец добавить до exit 0
amixer cset numid=3 1
Изменение громкости проигрываемого аудио
amixer cset numid=3 <1-int32>
Просмотр сетевых параметров сервера
ifconfig- информация о сетевых параметрах распберри
arp -a- список клиентов сети, клиентом которой является сервер
ls /dev/tty*- список доступных портов (в основном, интересны порты типа ttyACM0 или ttyAMA0)
###Просмотр загрузки сервера
pm2 monitилиpm2 imonit- загрузка ЦП на сервере, на котором запущен node.js
htop- просмотр всех данных по загрузке сервера, а также - запущенных процессов (htop должен быть предварительно установлен на сервере командойsudo apt-get install htop)
###Проверка наличия установленного пакета (конкретного или нескольких)
sudo apt-get policy <package-name>
###Если не получается установить remot3.it
sudo apt-get install weavedconnectd
###Если в режиме на двух игроков во внутреннем массиве ставить кнопки в порядке убывания, они не будут срабатывать, когда обе нажаты!!!
###Ошибка с alsa.c
Если в pm2 log вылезает ошибка:
0|Maze Ser | [../deps/mpg123/src/output/alsa.c:165] error: cannot open device default ...
Необходимо перезагрузить компьютер
###Ошибка с property ‘response’
TypeError: Cannot read property 'response' of undefined- значит, что возникла ошибка обращения лабиринта к серверу my.stronlaser.ru:
- id лабиринта имеет одинаковый id с еще одним лабиринтом - поменять или создать новый
- Лабиринт не имеет свой id - создать новый
- id лабиринта не соответствует серверу обращения (лабиринт имеет id на my.stronglaser.ru, но обращается к my.teslslasers.com) - поменять параметр
sync:в файлеconfig.json- сервер my.stronglaser.ru упал (но это не точно)
###Ошибка с module ‘duino’
0|Maze Ser | Error: Cannot find module 'duino':
- слетел модуль ‘duino’ - установить, набрав
npm install https://github.com/xpacmanx/duino.gitилиnpm install duino- С большой вероятностью подыхает карта памяти в распберри - при повторении этой ошибки в ближайшее время, подготовить и выслать на замену новую microSD
###Проблема с корректностью проигрывания звуков и музыки
Тормозит музыка или звуки в конце игры, или весь лабиринт во время игры:
Проверить сколько игр уже сыграно в лабиринте. Если более 5к - проблема в этом (после каждой сыгранной игры сервер пробегается по тысячам строк файла
/maze_sercer/db/score, что сильно замедляет его работу). Необходимо удалить/maze_server/db/score, набрав команду
rm maze_server/db/score
а затем перезапустить node.js набрав команду
pm2 restart allили вовсе перезапустить систему полностью
###Ошибка с property ‘forEach’
0|Maze Ser | TypeError: Cannot read property 'forEach' of undefined0|Maze Ser | at Object.<anonymous> (/home/pi/maze_server/hardware.js:65:27)
- Необходимо удалить файл
maze.json, набрав командуrm maze.json- также, удалить
maze.json, если нет возможности подключиться по SSH и при этом комп имеет 2-й айпи, запускается, открывает браузер (работает штатно), но интерфейс не отображается и в панель управления не зайти
###Убрать постоянное свечение RGB-ленты во время игры
Убрать все цвета из параметра
"colors":в файлеconfig.json, то есть поменять все значения на0
###Проблема открытия Панели Управления с комьютера на Windows ####При попытке подключения к Панели управления с “другого компьютера” ничего не получается.
Если даже к роутеру не подключиться, это значит, что за компьютером жестко закреплен какой-то айпи. В Панели управления Windows , Центре управления сетями, Свойствах сети, в ipV4 изменить на “получение адреса автоматически”
###Неверная дата в статистике Лабиринта
- При имеющемся подключении к Интернет ввести
sudo reboot- Или будучи залогиненым на сервере ввести:
sudo date -s “DD MMM YYYY HH:MM:SS”
###Ошибка с b.calibration
Во время калибровки вышла ошибка
.... b.calibration is not a function...
pm2 stop all rm maze.json pm2 start all
###Ошибка с keep and omit fields
Error: cannot both keep and omit fields- arduino хоть и подключена, имеет другой порт. Узнать ее порт, выполнив командуls /dev/tty*и прописать увиденный порт (обычно ttyACM0 или ttyAMA0) в
config.jsonв параметр"ports":
###Проблема с лицензионным соглашением TeamViewer
При включении лабиринта, выскочило лицензионное соглашение тимвьюера - не запустился сервак.
###Иконка молнии на экране
На экране, подключенном к Raspberry Pi может появляться иконка, которая выглядит так:
- Показывает, что не хватает напряжения компьютеру и он перегревается, если показан термометр.
- Такая проблема МОЖЕТ ИСПОРТИТЬ SD КАРТУ!
###Проблемы с отображением таймера во время игры
На экране (у тех лабиринтов, где есть камера) во время игры отображаемое время - 0:
- Плашке не хватает места на экране, перепрошить до последнего обновления.
###Отсутствие microSD карты. Удаленное распознание
Как отличить отсутствие карты памяти в распбери от неподключенной или неработающей меги?
- Распбери будет доступна по удаленке (будет заходить на страницу, но прогружать интерфейс не будет) и по SSH, если просто не работает мега.
В случае же с отсутствием карты памяти, лабиринт будет офф-лайн, как ни крути, к нему никак невозможно будет подключиться, его не будет в карте сети в роутере.
###Остановка Node.js сразу после включения 12В
Почему в старых лабиринтах при включении все гаснет через пару секунд?
- Система старая, требует интернета. Обновить прошивку (пополнив йоту перед этим), перед этим записав номер коммита (git log), чтобы если что можно было откатить.
- КЗ на линии. Искать.
###Остановка Node.js после выбора уровня сложности
- Нет gamepath (последовательность в которой нажимаются кнопки) в config.json - вставить Женину строчку в конфиг.
- Не прописан второй контроллер в конфиге (перед тем, как прописать, узнать какие порты доступны: ls /dev/tty*)
- Вместо 32 лучей прописаны 16
Убрать затупы из-за бд
Единоразово:
rm /home/pi/maze_server/db/score
pm2 restart all
Удаляется путем удаления бд при загрузке.
sudo nano ~/.bashrcВ самом конце добавить
rm /home/pi/maze_server/db/scoreСохранить файл
```
Затупы видео как в Космозаре
Перейти в папку
autostartи поменять файлscreen.desktop:cd ~/.config/autostart/ sudo nano screen.desktop
В строку, начинающуюся со слова
Exec:внести:
/usr/bin/chromium-browser -incognito --noerrdialogs --kiosk http://127.0.0.1:1856/
###Если надо убрать курсор СОВСЕМ:
sudo apt-get install unclutter sudo nano ~/.config/autostart/Maze_browser.desktopСтроку Exec изменить на:
electron /home/pi/maze_browser . | unclutter -idle 0 sudo reboot
###На экране (у тех лабиринтов, где есть камера) во время игры отображаемое время - 0:
Плашке не хватает места на экране - перепрошить до последнего обновления.
###В лабиринтах с хабом кнопок не открывается интерфейс:
Проверить, правильно ли заданы порты в конфиге (см. Инструкцию по прошивке)
###Проблемы с монитором
Общая документация по настройке выходного цифрового видео сигнала с Raspberry
####Моргание экрана при подключенном Raspberry
Если при подключении экрана к распберри через HDMI>DVI переходник первый загорается на несколько секунд, на экране появляется просьба изменить входное разрешение, а потом выключается:
- В raspi-config изменить разрешение на требуемое
- В /boot/config.txt параметр hdmi_drive=1
Инвертировать тачскрин
Для этого нужно модифицировать драйвер X11. Нужно установить в окружение raspbian альтернативный от libinput драйвер - evdev.
sudo apt-get install xserver-xorg-input-evdev
После этого нужно применить драйвер.
cd /usr/share/X11/xorg.conf.d/ ls
Там будут несколько файлов. Что-то типа
40-libinput,11-evdev. Либо что-то похожее. Нужно > будет переименовать11-evdev, командойmv, чтобы номер был больше, чем у libinput. В данном примере, нужно сделать41-evdev(название файла может отличаться).
Калибровка тачскрина
Надо установить xinput.
sudo apt-get install xinput-calibrator
Запустить
DISPLAY=:0 xinput_calibrator
И потыкать на тачкрин по точкам. В конце он выдаст файл, который надо закинуть в ту папку
/usr/share/X11/xorg.conf.d/. С файлом что-то типа98-calibration.conf. Он выдаст как назвать файл. И что туда записать в конце калибровки. Нужно перенести эти данные.
Дополнения:
Можно добавить опции, если не работает:
- Поменять X и Y местами:
Option “SwapAxes” “1”
- Поменять направление оси X:
Option “InvertX” “1”
- Поменять направление оси Y:
Option “InvertY” “1”
Posts
subscribe via RSS
