Четверг, 22.11.2018, 12:21
| RSS
Главная | Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения. - Страница 4 - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат ]
Модератор форума: Zoolu  
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.
Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.


yuraivanДата: Вторник, 07.11.2017, 16:19 | Сообщение # 31
Группа: Участники
Сообщений: 3
Статус: Offline
Спасибо заработало. Датчик BMP085 подключён. Ущё была проблема - не произвёл локализацию и было раное время на экране и в журнале. Исправил. Ещё один вопрос. Смотрю на схему новой версии кросс-платы от Zoolu. Реле будут включаться при появлении на соответсвующем выходе GPIO напряжения высокого уровня. У нас по умолчанию в config прописаны высокие уровни на выходах. Нестыковочка(((. В первом варианте кросс-платы это работало. А здесь надо config менять или инверторы ставить. Я прав? Заранее спасибо
 
AdminДата: Вторник, 07.11.2017, 19:14 | Сообщение # 32
Admin
Группа: Администраторы
Сообщений: 4003
Статус: Offline
Есть такое дело smile Ну, поменять в конфиг-файле 1 на 0 это не проблема. Кстати, учитывая что реле электромеханические, можно функцию конфигурации, которая отвечала за ШИМ сделать для инвертирования уровней. Это на случай, если кто собирает не на плате, а использует готовые релейные модули.

Меня больше вопрос волнует, что несмотря на то, что всюду указано, что ВМР085-это обязательный элемент, и если его не подключать, то нужно комментировать строку в конфиг-файле, многие упорно продолжают наступать на эти грабли. Тоже касается и подключения дисплея - если он не используется, комментируется script_lcd.py. Видимо, тут нужно подумать, как сделать, что бы отсутствие ВМР085 и дисплея не влияло на работу системы в целом.
 
popДата: Вторник, 06.02.2018, 16:25 | Сообщение # 33
Группа: Пользователи
Сообщений: 42
Статус: Offline
Люди добрые, помогите. Проблема проявляется как у калинкина.
Raspberri-pi 1 B без плюса, 26 ног, raspbian stretch с офсайта малинки. 
Webiopi при установке спрашивает хочу ли я иметь доступ через и-нет. Если говорю y, требует регистрацию на сацте, который больше не работает. Видимо, что-то типа "облачного сервиса" для доступа за nat? Мне это не нужно. Установил с ответом n.
Загрузил Wget-ом файл сервиса,
Стартовал сервис вручную (как в той статье, на которую ув. Админ ссылается чуть выше).
Статус показывает запущенный webiopi.
При доступе к странице, запрос пользователя-пароля, и пустая страница после ввода.
Никаких датчиков не подключено. Все пины свободны.
В линуксах вообще дуб дубом. Как отредактировать файл http.py пока не знаю (пытался в текстовом редакторе на рабочем столе, он, конечно же, отказался записываться - доступ на запись ёк).
Но вроде, на главной странице webiopi картинок нет, но и она не открывается, точнее, открывается пустая страница.
Что нужно сделать чтобы оно заработало? Как для чайника (как в первой статье) напишите, пожалуйста.
Где чего посмотреть на тему ошибок? (Логи??)
 


Alex2057Дата: Вторник, 06.02.2018, 18:42 | Сообщение # 34
Группа: Участники
Сообщений: 23
Статус: Offline
Цитата pop ()
Люди добрые, помогите.

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

О проблемах с WebIOPi см. мои посты 1 и 3.

Закомментируйте все датчики (раз у Вас они не подключены) в config:
sudo nano /etc/webiopi/config
При редактировании НЕ ИЗМЕНЯТЬ КОДИРОВКУ ФАЙЛА config. Она должна быть - UTF-8 (без BOM)
Предварительно на всякий случай сделайте копию config.

На старых версиях Raspbian сталкивался с тем, что на Raspberry Pi не работает WebIOPi в браузере "Web Brauser", но работает в "Cromiun". Это в случае если работаете непосредственно на RPi, а не по сети.

В домашней папке  WebIOPi /usr/share/webiopi/htdocs помимо файла index.html д.б. 3 файла:
jquery.js
webiopi.css
webiopi.js
Файл jquery.js может находится в папке /usr/share/webiopi/htdocs/js

Что за файл  http.py ?
Странно, но при установке WebIOPi не должен "спрашивать о доступе в Интернет". Возможно я отстал от жизни.

Успехов!
 
popДата: Вторник, 06.02.2018, 20:20 | Сообщение # 35
Группа: Пользователи
Сообщений: 42
Статус: Offline
Цитата Alex2057 ()
Что за файл  http.py ?Странно, но при установке WebIOPi не должен "спрашивать о доступе в Интернет". Возможно я отстал от жизни.

Отредактировать http.py предлагают вот в этой статье http://electromost.com/news....-16-161
Как я понял, актуально для sketch.
В установочном скрипте webiopi 0.7.1, в конце идёт установка сервиса для доступа к нему ИЗ интернета.

Код
# Weaved installer
Файлы в /usr/share/webiopi/htdocs все на месте. config не правил ещё. Завтра займусь. Ночер уже smile
Спасибо за подсказки. Особенно за sudo chmod.


Сообщение отредактировал pop - Вторник, 06.02.2018, 20:23
 
BarmaleyДата: Среда, 07.02.2018, 13:21 | Сообщение # 36
Группа: Участники
Сообщений: 182
Статус: Offline
Цитата pop ()
Webiopi при установке спрашивает хочу ли я иметь доступ через и-нет. Если говорю y, требует регистрацию на сацте, который больше не работает. Видимо, что-то типа "облачного сервиса" для доступа за nat? Мне это не нужно. Установил с ответом n.

Цитата pop ()
В установочном скрипте webiopi 0.7.1, в конце идёт установка сервиса для доступа к нему ИЗ интернета.

Речь идет про сервис weaved? Действительно, через этот сервис организовывается доступ к малине из интернета. Что по мне, так не совсем хорошее решение, разве что у вас "серый" IP.

Цитата pop ()
Загрузил Wget-ом файл сервиса,
Стартовал сервис вручную (как в той статье, на которую ув. Админ ссылается чуть выше).
Статус показывает запущенный webiopi.
При доступе к странице, запрос пользователя-пароля, и пустая страница после ввода.
Никаких датчиков не подключено. Все пины свободны.

А случайно WebIOPI не пропатчена под 40 GPIO? Первая малина с этим патчем работать не будет.
 


popДата: Четверг, 08.02.2018, 16:35 | Сообщение # 37
Группа: Пользователи
Сообщений: 42
Статус: Offline
Цитата Barmaley ()
А случайно WebIOPI не пропатчена под 40 GPIO? Первая малина с этим патчем работать не будет.
Нет. Не пропатчен (наверное).
Одну проблему победил. Странички открываются.
Что делаю собрал в скрипт:

Цитата
wget -nc 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
sudo ./setup.sh
cd /etc/systemd/system
sudo wget -nc https://raw.githubusercontent.com/doubleb....service
sudo cp -i /home/pi/http.py.patch /usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/
cd /usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/
sudo patch http.py http.py.patch
sudo systemctl enable webiopi
sudo systemctl start webiopi


В домашнюю папку закидываю файлик из вложения, этот скрипт, и запускаю на свежеустановленном Stretch.
При появлении вопроса про доступ из и-нета, отвечаю N.

На страничке GPIO Heder получаю вот такую бяку:

sudo systemctl status webiopi выдаёт вот такое

Код
�� webiopi.service - WebIOPi
   Loaded: loaded (/etc/systemd/system/webiopi.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-02-07 19:31:07 +07; 1h 23min ago
Main PID: 319 (python3)
   CGroup: /system.slice/webiopi.service
           ������319 /usr/bin/python3 -m webiopi -l /var/log/webiopi -c /etc/webiopi/config

Feb 07 20:54:33 raspberrypi python3[319]:   File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
Feb 07 20:54:33 raspberrypi python3[319]:     self.RequestHandlerClass(request, client_address, self)
Feb 07 20:54:33 raspberrypi python3[319]:   File "/usr/lib/python3.5/socketserver.py", line 681, in __init__
Feb 07 20:54:33 raspberrypi python3[319]:     self.handle()
Feb 07 20:54:33 raspberrypi python3[319]:   File "/usr/lib/python3.5/http/server.py", line 422, in handle
Feb 07 20:54:33 raspberrypi python3[319]:     self.handle_one_request()
Feb 07 20:54:33 raspberrypi python3[319]:   File "/usr/lib/python3.5/http/server.py", line 410, in handle_one_request
Feb 07 20:54:33 raspberrypi python3[319]:     method()
Feb 07 20:54:33 raspberrypi python3[319]:   File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/http.py", line
Feb 07 20:54:33 raspberrypi python3[319]:     self.processRequest()
lines 1-17/17 (END)

sudo webiopi -d -c /etc/webiopi/config

Цитата
Exception happened during processing of request from ('::ffff:192.168.1.64', 49800, 0, 0)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/http.py", line 244, in processRequest
result = self.server.handler.do_POST(relativePath, self.rfile.read(length), compact)
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/rest.py", line 184, in do_POST
return self.callDeviceFunction("POST", relativePath)
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/rest.py", line 127, in callDeviceFunction
result = func(**args)
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/devices/digital/__init__.py", line 90, in setFunctionString
self.setFunction(channel, self.OUT)
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/devices/digital/__init__.py", line 81, in setFunction
self.__setFunction__(channel, value)
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/devices/digital/gpio.py", line 112, in __setFunction__
GPIO.setFunction(channel, value)
NameError: name 'GPIO' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.5/socketserver.py", line 313, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 341, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.5/socketserver.py", line 681, in __init__
self.handle()
File "/usr/lib/python3.5/http/server.py", line 422, in handle
self.handle_one_request()
File "/usr/lib/python3.5/http/server.py", line 410, in handle_one_request
method()
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/http.py", line 270, in do_POST
self.processRequest()
File "/usr/local/lib/python3.5/dist-packages/WebIOPi-0.7.1-py3.5-linux-armv6l.egg/webiopi/protocols/http.py", line 258, in processRequest
except (GPIO.InvalidDirectionException, GPIO.InvalidChannelException, GPIO.SetupException) as e:
NameError: name 'GPIO' is not defined


Куда дальше копать?

Добавлено (08.02.2018, 16:35)
---------------------------------------------
Цитата pop ()
NameError: name 'GPIO' is not defined
Вобщем, методом тыка выяснил, что
import _webiopi.GPIO as GPIO
Выдаёт ошибку "этот скрипт можно запускать только на raspberry pi" sad
Мою железку webiopi распознавать отказывается. Или проблема с raspbian strech, или поддержки первой малины webiopi лишился, или и то, и другое...
Кто-нибудь, у кого последний strech стоит и малинка работает с webiopi, гляньте наличие файла /proc/cpuinfo в системе. У меня он напроч отсутствует, а в сишных исходниках вижу попытку вычитать из него фамилию проца.
Может у кого завалялась старая версия webiopi - там-то с первой малиной B должно быть всё ОК. Мне всёравно "делать нечего" - поковыряюсь - может заставлю работать smile
Прикрепления: http.py.rar(0.3 Kb) · 0277663.png(16.9 Kb)


Сообщение отредактировал pop - Четверг, 08.02.2018, 17:56
 
BarmaleyДата: Четверг, 08.02.2018, 17:17 | Сообщение # 38
Группа: Участники
Сообщений: 182
Статус: Offline
Насколько я помню, ранее на форуме поднимались вопросы о том, что в WebIOPi были проблемы при работе уже на джессике. Для стреча Михаил делал адаптацию, но насколько я понимаю, это все работает только на "малинах" начиная с В+ (40 GPIO)
Если применяется малина В (26 GPIO), может имеет смысл использовать ОС wheezy?

Добавлено (08.02.2018, 17:12)
---------------------------------------------

Цитата pop ()
гляньте наличие файла /cpu/cpuinfo в системе.

А полный путь можно указать?

Цитата pop ()
Может у кого завалялась старая версия webiopi - там-то с первой малиной B должно быть всё ОК.

Последняя версия WebIOPI - 0.7.1 и она работает с малиной В. Тут дело скорее в ОС.

Добавлено (08.02.2018, 17:17)
---------------------------------------------
pop, а это не тот ли случай? - http://electromost.com/forum/6-124-11502-16-1502700815

 
Alex2057Дата: Четверг, 08.02.2018, 17:29 | Сообщение # 39
Группа: Участники
Сообщений: 23
Статус: Offline
Есть jessie и jessie-lite (без графической оболочки). Дата релиза 2017-04-10
И еще какой-то NOOBS от 2015 г.
 


BarmaleyДата: Четверг, 08.02.2018, 17:37 | Сообщение # 40
Группа: Участники
Сообщений: 182
Статус: Offline
Raspbian Wheezy - https://sourceforge.net/projects/raspbian-wheezy-pi/
 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Глюки и Баги Raspberry Pi и WebIOPi. Проблемы и решения.
Поиск:



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