Глобальное имя GPIO не определено ошибками в WebIOPi

У меня есть Raspberry Pi 2 Model B v1.1 (NOOSBS v1.4.2 Raspbian загружен), и я установил WebIOPi 0.7.1, чтобы использовать его, чтобы мигать светодиод, прикрепленный к GPIO24 и GND с помощью страницы WebIOPi.

Пока я пытался использовать WebIOPi 192.168.n.n /8000 в моем браузере, я не мог изменить контакты, чтобы моргнуть мой светодиод. Терминал говорит кратко:

global name "GPIO" is not defined

Но мой GPIO загружен правильно. Я уже пробовал этот код для обновления:

sudo apt-get install rpi.gpio
python3-rpi.gpio

Ничего не загрузилось, и со мной ничего не изменилось. Это экран моего терминала:

Exception happened during processing of request from ('::ffff:192.168.1.110', 43952, 0, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 655, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "build/bdist.linux-armv7l/egg/webiopi/protocols/http.py", line 267, in do_GET
    self.processRequest()
  File "build/bdist.linux-armv7l/egg/webiopi/protocols/http.py", line 258, in processRequest
    except (GPIO.InvalidDirectionException, GPIO.InvalidChannelException, GPIO.SetupException) as e:
NameError: global name 'GPIO' is not defined
----------------------------------------

 введите описание изображения здесь>> </a>
<a href=введите описание изображения здесь

4 голоса | спросил Bay 15 +03002015-10-15T22:49:29+03:00312015bEurope/MoscowThu, 15 Oct 2015 22:49:29 +0300 2015, 22:49:29

3 ответа


3

Вот лучшее решение для решения этой проблемы. На загрузочном терминале Raspberry Pi 2 Model B v1.1 Raspbian, как обычно, для настройки сначала:

 cd /home/pi
 sudo wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
 sudo tar xvzf WebIOPi-0.7.1.tar.gz
 cd WebIOPi-0.7.1
 sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
 patch -p1 -i webiopi-pi2bplus.patch
 sudo ./setup.sh

Затем продолжайте с этими кодами:

 cd /home/pi
 sudo wget https://github.com/weaved/installer/raw/master/binaries/weaved-nixinstaller_1.2.13.bin
 sudo chmod +x weaved-nixinstaller_1.2.13.bin
 sudo ./weaved-nixinstaller_1.2.13.bin

В меню выбора протокола введите 3, затем введите, затем введите y для продолжения

Теперь оставьте терминал как работающий, вам нужно зарегистрироваться на Weaved.com, чтобы продолжить. [Click here to sign up][1] Вам нужно написать свое новое имя пользователя в качестве своего почтового адреса и пароль от Weaved.com

Затем вы увидите номера UID как 80: 00: 00: 05: 46: nn: nn: nn

Затем вы увидите автоматическое имя имени Weaved Backend Service как псевдоним, чтобы позвонить вам с этим именем для распознавания.

Вы можете проверить статус и начать, а также остановить службу с помощью этого кода:

sudo /usr/bin/Weavedwebiopi8000.sh start|status|stop

Примечание. Вы хотите получить доступ к типу Интернета, затем введите

Перейдите на свою новую страницу веб-сайта Weaved.com, войдите в свой новый идентификатор и пароль, нажмите на мои услуги и нажмите на имя, которое мы уже дали ему как псевдоним.

Наконец, дождитесь соединения, которое было создано. Вам нужно ввести имя пользователя и пароль с идентификатором Webiopi и паролем, чтобы просмотреть статус Webiopi. Это ваш идентификатор webiopi и пароль. В качестве основного, это было бы как

name: webiopi 
password: raspberry

Тогда наслаждайся! Yiha!

Примечание. Запуск и остановка сотканной службы можно выполнить, набрав:

$ sudo /usr/bin/Weavedwebiopi8000.sh start|stop|restart

Примечание. Мой источник зависит от форумов Google

ответил Bay 18 +03002015-10-18T01:27:36+03:00312015bEurope/MoscowSun, 18 Oct 2015 01:27:36 +0300 2015, 01:27:36
3

Из инструкций и screendumps похоже, что вы используете версию RPi.GPIO Python3, но вывод WebIOPi показывает, что он использует Python2.7. Python2 и Python3 НЕ совместимы с eachother. Вам нужно будет найти версию RPi.GPIO Python2, такую ​​как этот . Этот пакет должен был быть установлен по умолчанию на Raspbian, но если это не так, или если вы его испортили, вы можете переустановить его, выпустив sudo apt-get install python-rpi.gpio.

ОБНОВЛЕНИЕ . Для патчей установки на RPI2, пожалуйста, проверьте этот раздел форума WebIOPi со ссылкой на патч, который заставляет WebIOPi работать с B + и 2B.

ответил Phil B. 16 +03002015-10-16T14:44:35+03:00312015bEurope/MoscowFri, 16 Oct 2015 14:44:35 +0300 2015, 14:44:35
0

У меня была такая же проблема. Запуск WebIOPi с помощью python3 вместо python решил немедленно. (У меня даже была открыта страница сервера в браузере, и как только я запустил правильную команду, все индикаторы «IN» и «OUT» заполнились рядом с контактами).

Итак, вместо:

sudo python -m webiopi 8000

Использование:

sudo python3 -m webiopi 8000
ответил personguy 8 Jam1000000amSun, 08 Jan 2017 10:31:15 +030017 2017, 10:31:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132