Вторник, 27.06.2017, 17:31
| RSS
Главная | Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения. - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат ]
Страница 1 из 212»
Модератор форума: Zoolu 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.
Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.
Alex2057Дата: Пятница, 21.04.2017, 15:21 | Сообщение # 1
Группа: Участники
Сообщений: 19
Статус: Offline
Предлагаю в этой теме делиться проблемами, возникающими при установке и настройке ОС Raspbian и фреймворка WebIOPi, а также в работе «железа» Raspberry Pi.  И, самое главное, предлагать РЕШЕНИЕ этих проблем.
Именно так: ОПИСАТЬ И ПРОБЛЕМУ И ЕЕ РЕШЕНИЕ.
Это сэкономит время, и поможет многим не «наступать» на те-же грабли.
Этот форум наиболее подходит для подобной темы, т.к. всегда оказывается на первых страницах поисковых систем по запросам «Raspberry Pi» и «WebIOPi».
Тема может быть полезна тем, кто самостоятельно собирает и конфигурирует систему «с нуля», и использует собственные настройки WebIOPi и скрипты на Python.
Вопросы и ответы по работе Системы домашней автоматизации на Raspberry Pi «Web Home Pi» приведены в главной теме «Raspberry Pi. Общие вопросы».
Итак, начнем…

Добавлено (21.04.2017, 13:27)
---------------------------------------------
Для начала – мой пример из поста #855 темы «Raspberry Pi. Общие вопросы. Часть 1».
Проблема:
При подключении новых датчиков перестает грузиться WebIOPi. Это можно увидеть, выполнив команду:
sudo /etc/init.d/webiopi status
В моем случае это произошло после очередного обновления ядра.
Решение:
Отсутствует папка /sys/bus/w1
или папка есть, но в ней нет вложенных папок devices, drivers и др.

Отредактируйте файл config.txt:
sudo nano /boot/config.txt
добавьте:
Код
dtparam=i2c1=on
dtparam=spi=on
dtparam=i2s=on
w1-gpio
dtoverlay=w1-gpio-pullup,gpio=4

Сохраните файл, выйдите, перезагрузите Raspberry.
Запустите WebIOPi. Должна появится папка /sys/bus/w1
В последних версиях ядра этого не наблюдалось.


Сообщение отредактировал Zoolu - Понедельник, 24.04.2017, 16:22
 
Alex2057Дата: Понедельник, 24.04.2017, 12:09 | Сообщение # 2
Группа: Участники
Сообщений: 19
Статус: Offline
Проблемы с локализацией.

Не работает переключение раскладки клавиатуры латиница-кириллица.
В другом случае переключение на латиницу пропало после обновления системы.
Настройки в raspi-config результата не дают.
При выходе из raspi-config может выдаваться ошибка:
"update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults"
(Внимание: Запуск и установка действий больше не поддерживается.")
То-же сообщение после установки (если он не установлен) языкового пакета console-cyrillic:
$ sudo aptitude install console-cyrillic
Аналогично, и при выполнения настройки языкового пакета:
sudo dpkg-reconfigure console-cyrillic

Для восстановления переключения раскладки. ЭТО РАБОТАЕТ ТОЛЬКО ДЛЯ ТЕКУЩЕЙ СЕССИИ (!):
setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle, grp_led:caps'

Иногда помогает отредактировать файл /etc/default/keyboard
Дописать для параметра XKBLAYOUT через запятую ru. Должно быть примерно так:
XKBLAYOUT="us,ru"
или
XKBLAYOUT="gb,ru"

А вот это решило проблему:
Редактируем файл /home/pi/.config/lxkeymap.cfg.
Там должно быть так:

Код
[Global]layout = us,ru
variant = [здесь может быть legacy]
option = grp:alt_shift_toggle


Параметр layout содержит перечень языков, а параметр option определяет сочетания клавиш для переключения языков.

Продолжение следует...


Сообщение отредактировал Zoolu - Понедельник, 24.04.2017, 16:23
 


Alex2057Дата: Понедельник, 24.04.2017, 15:52 | Сообщение # 3
Группа: Участники
Сообщений: 19
Статус: Offline
Не работает WebIOPi

WebIOPi загружается, но страницы проекта в браузере не доступны.
Команда
sudo /etc/init.d/webiopi status
выдает, что WebIOPi загружен и активен.
Произошло это после очередных "экспериментов" с файлом настроек config.
Причина: в файл /etc/webiopi/config добавлены комментарии на кириллице, и кодировка изменена на ANSI.
В этом случае команда
sudo webiopi -d -c /etc/webiopi/config
выдает сообщение в последней строке:
"UnicodeDecoderError: 'utf-8' codec can't  decode byte 0xf1 in position NNN: invalid continuation byte"

Файл config удобнее редактировать в Notapad++, подключившись к Raspberry через программу WinSCP.
Предварительно в консоли разрешить доступ к файлу:
sudo chmod 777 /etc/webiopi/config
В Notepad++, в меню "Кодировки" выбрать "Кодировать в UTF-8  (без BOM)" или "Преобразовать в UTF-8  (без BOM)"
и сохранить файл.
После редактирования восстановить права доступа "по-умолчанию":
sudo chmod 755 /etc/webiopi/config

Перегрузить WebIOPi :
sudo /etc/init.d/webiopi restart
Все должно заработать.

Если в меню Notepad++ выбрать "Кодировать в UTF-8" или "Преобразовать в UTF-8",
в начало файла config будут добавлены 3 байта - EF BB BF. Эти байты представляют один символ BOM -  Byte Order Mark из набора UNICODE.
В этом случае:
sudo webiopi -d -c /etc/webiopi/config
выдаст другое сообщение об ошибке:
"configparser.MissingSectionHeaderError: File contains no section headers.
file: '/etc/webiopi/config', line: 1
'\ufeff[GPIO]\n"
- отсутствует секция заголовков в первой строке, хотя реально эта секция есть, но в начале в ней стоит символ BOM - \ufeff, который не отображается в редакторе.
В этом случае WebIOPi также работать не будет!

Продолжение следует...


Сообщение отредактировал Alex2057 - Понедельник, 24.04.2017, 16:06
 
ZooluДата: Понедельник, 24.04.2017, 16:22 | Сообщение # 4
Группа: Модераторы
Сообщений: 292
Статус: Offline
Цитата Alex2057 ()
Файл config удобнее редактировать в Notapad++, подключившись к Raspberry через программу WinSCP
Я сейчас активно использую плагин для Notepad++. Называется NppFTP. Позволяет подключаться по протоколу FTP/SFTP. То есть получается в дереве ищем нужный файл, кликом открываем его, редактируем, сохраняем. Телодвижений минимум и все это прямо из блокнота.
 
TetronДата: Вторник, 25.04.2017, 14:56 | Сообщение # 5
Группа: Пользователи
Сообщений: 4
Статус: Offline
Доброго времени суток. Подскажите, почему при выполнении команды "sudo /etc/init.d/webiopi stop" webiopi продолжает работать и я могу зайти в интерфейс GPIO? И еще, после изменения скрипта (myscript = /home/pi /myproject/python/script.py) и его перезапуска (sudo /etc/init.d/webiopi restart) продолжает выполнение старый скрапт.
Использую:
- Raspberry Pi 3 Model B;
- WebIOPi-0.7.1;
- 2017-04-10-raspbian-jessie.
Устанавливал по следующей инструкции:
- $ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz;
- $ tar xvzf WebIOPi-0.7.1.tar.gz;
- $ cd WebIOPi-0.7.1;
- $ wget https://raw.githubusercontent.com/doubleb.....patch;
- $ patch -p1 -i webiopi-pi2bplus.patch;
- $ sudo ./setup.sh;
- $ sudo update-rc.d webiopi defaults.
Прикрепления: 9657954.jpg(298Kb) · 6363941.jpg(290Kb)


Сообщение отредактировал Tetron - Среда, 26.04.2017, 07:17
 


Alex2057Дата: Вторник, 25.04.2017, 16:11 | Сообщение # 6
Группа: Участники
Сообщений: 19
Статус: Offline
Цитата Tetron ()
при выполнении команды "sudo /etc/init.d/webiopi stop" webiopi продолжает работать
А что показывает:
sudo /etc/init.d/webiopi status

Цитата
и его перезапуска (sudo /etc/init.d/webiopi restart) продолжает выполнение старый скрапт.
Получается WebIOPi не только не останавливается но и не перезапускается


Сообщение отредактировал Alex2057 - Вторник, 25.04.2017, 16:19
 
TetronДата: Вторник, 25.04.2017, 17:27 | Сообщение # 7
Группа: Пользователи
Сообщений: 4
Статус: Offline
Цитата Alex2057 ()
А что показывает:sudo /etc/init.d/webiopi status
Код
Loaded: loaded (/etc/init.d/webiopi)
Active: inactive
Process: ExecStop=/etc/init.d/webiopi stop (code=exited, status=0/SUCCESS)
Process: ExecStart=/etc/init.d/webiopi start (code=exited, status=0/SUCCESS)
Прикрепления: 4014628.jpg(298Kb)


Сообщение отредактировал Tetron - Среда, 26.04.2017, 07:18
 
Alex2057Дата: Вторник, 25.04.2017, 17:32 | Сообщение # 8
Группа: Участники
Сообщений: 19
Статус: Offline
Сейчас нет под рукой RPi посмотреть. Если время терпит, подождите..
 
TetronДата: Вторник, 25.04.2017, 17:36 | Сообщение # 9
Группа: Пользователи
Сообщений: 4
Статус: Offline
Цитата Alex2057 ()
Сейчас нет под рукой RPi посмотреть. Если время терпит, подождите..
Спасибо. Время терпит. Пока еще сам посмотрю. Раньше без проблем использовал первую RPi и webiopi 0.6, а сегодня и на второй и на третьей версии попробовал и обе косячат.
 
Alex2057Дата: Четверг, 27.04.2017, 21:25 | Сообщение # 10
Группа: Участники
Сообщений: 19
Статус: Offline
Проверил, работает, т.е. после остановки WebIOPi страница в браузере уже не загружается. Это на мониторе подключенном непосредственно к RPi. По сети на другом ПК страница какое-то время еще доступна (из кэша?), потом перестает.
После запуска WebIOPi через какое-то время все восстанавливается.
Все также, как на Вашем скрине.

Правда у меня по cron 1 раз в минуту запускается скрипт, который проверяет загружен ли WebIOPi, есть ли доступ к странице и пр., и если нет, он перезапускает WebIOPi, но это отдельная тема.
Попробуйте обновить WebIOPi.

Для справки: RPi 3, версия ядра 4.4.34 (#930 от 23.11.2016), версия WebIOPi 0.7.1. С тех пор больше не обновлялся, так как с каждым обновлением вылезают новые глюки, см. посты выше.

Добавлено (27.04.2017, 16:26)
---------------------------------------------
Обнаружил другой глюк WebIOPi.
Если остановить WebIOPi и дать команду:
sudo webiopi -d -c /etc/webiopi/config - это тест загрузки,
то после запуска, страница уже не загрузится, хотя статус WebIOPi активен. Приходится перегружаться.

У WebIOPi помимо очевидных достоинств, есть определенные недостатки
Я долго не хотел переходить на этот фреймворк. Причины:
- плохо документирован, особенно в части взаимодействия HTML/JS со скриптами Python,
- мало подробной информации по его работе в русскоязычном Интернете. В основном общая информация, копипасты.
- автор не обновляет софт с 2015г. (занят другим, сменил работу), но правда поддерживает в форуме.
- софт не "прозрачен",
- иногда глючит по непонятным причинам.
Но увы, альтернативы пока не нашел. Пробовал Flask, но нормально он не запустился.

Как вариант решения, найти программиста заинтересованного в проекте "Домашней автоматизации" и попросить написать WEB-сервер с поддержкой Python скриптов и под конкретную конфигурацию.
"Расплатиться" можно железом.

Добавлено (27.04.2017, 21:25)
---------------------------------------------

Цитата Zoolu ()
Я сейчас активно использую плагин для Notepad++. Называется NppFTP.
Попробовал, удобно.
А какой плагин нужен для подключения консоли в Notepad++?


Сообщение отредактировал Alex2057 - Четверг, 27.04.2017, 16:52
 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.
Страница 1 из 212»
Поиск:



T2M © 2017
Сайт управляется системой uCoz