Как установить WebIOPi на Raspberry

Posted by

Моя плата и сейчас на установленную операционную систему я разберу, как установить Webинтерфейс, точнее фреймворк ,

pi@raspberrypi:~ $ uname -a && lsb_release -a

Linux raspberrypi 4.4.48-v7+ #964 SMP Mon Feb 13 16:57:51 GMT 2017 armv7l GNU/Linux

No LSB modules are available.

Distributor ID: Raspbian

Description: Raspbian GNU/Linux 8.0 (jessie)

Release: 8.0

Codename: jessie

для доступа к портам GPIO посредством которого можно будет контролировать состояние и управление всеми портами GPIO как локально так и удаленно.

Возможности фреймворка WebIOPiА что же умеет данный фреймворк WebIOPi:

  • REST API через HTTP и CoAP с поддержкой мультикаста;
  • работа с GPIO, Serial, I 2 C, SPI, 1-Wire;
  • встроенная поддержка более чем 30 устройств, включая ЦАП, АЦП, датчики;
  • совместимость с Python 2 и 3;
  • защита логином/паролем;
  • множество примеров.

Проект имеет свой сайт: http://webiopi.trouch.com/

Скачиваю и устанавливаю на систему Raspbian:

pi@raspberrypi:~ $ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz

pi@raspberrypi:~ $ tar xzf WebIOPi-0.7.1.tar.gz

pi@raspberrypi:~ $ cd WebIOPi-0.7.1/

pi@raspberrypi:~/WebIOPi-0.7.1 $ sudo ./setup.sh

Do you want to access WebIOPi over Internet ? [y/n] y

WebIOPi successfully installed

pi@raspberrypi:~/WebIOPi-0.7.1 $ cd ~

Файлы с примерами можно найти здесь:

/home/pi/WebIOPi-0.7.1/examples

Запускаю WebIOPi вместе с загрузкой системы:

pi@raspberrypi:~ $ sudo update-rc.d webiopi defaults

Запускаю установленный фреймворк как сервис:

pi@raspberrypi:~ $ sudo /etc/init.d/webiopi start

[….] Starting webiopi (via systemctl): webiopi.serviceFailed to start webiopi.service: Unit webiopi.service failed to load: No such file or directory.

Failed!

pi@raspberrypi:~ $ cd WebIOPi-0.7.1/

pi@raspberrypi:~/WebIOPi-0.7.1 $ sudo /etc/init.d/webiopi start

[ ok ] Starting webiopi (via systemctl): webiopi.service.

pi@raspberrypi:~/WebIOPi-0.7.1 $ sudo /etc/init.d/webiopi status

webiopi.service — LSB: WebIOPi initscript

Loaded: loaded (/etc/init.d/webiopi)

Active: active (running) since Sat 2017-02-18 17:44:46 MSK; 5s ago

Process: 2337 ExecStart=/etc/init.d/webiopi start (code=exited, status=0/SUCCESS)

CGroup: /system.slice/webiopi.service

└─2345 /usr/bin/python3 -m webiopi -l /var/log/webiopi -c /etc/web…

Feb 18 17:44:46 raspberrypi systemd[1]: Started LSB: WebIOPi initscript.

Затем открываю в браузере (со своей рабочей станции под управлением Ubuntu Trusty Gnome Classic) Raspberry Pi 3 Model B URL ссылку на доступ к Web-оснастке взаимодействия с GPIO: http://IP&DNS:8000/webiopi/

и вижу, что для доступа нужно авторизоваться введя логин и пароль, где дефолтные:

  • Login: webiopi
  • Password: raspberry

И вот Web-панель по управлению:

Web-панель управления фреймворком WebIOPiПоходя по различным меню наблюдаю, что да, это будет полезно мне в дальнейшем и хорошо что такой инструмент придумали.

Чтобы в панель управления WebIOPi не мог зайти ни кто из не идентифицированных в локальной сети, доступ следует обезопасить заменой дефолтных логина и пароля на свои:

pi@raspberrypi:~ $ sudo webiopi-passwd

WebIOPi passwd file generator

Enter Login: ekzorchik

Enter Password: 712mbddr@

Confirm password: 712mbddr@

Hash: dbd0084d653fee62f1c15a8ae00480c850cdc131e98191fb32e9783ec3360efa

Saved to /etc/webiopi/passwd

Чтобы изменения вступили в силу прямо сейчас, перезапускаю сервис webiopi:

pi@raspberrypi:~ $ sudo /etc/init.d/webiopi restart

[....] Restarting webiopi (via systemctl): webiopi.serviceWarning: Unit file of webiopi.service changed on disk, 'systemctl daemon-reload' recommended.

. ok

Если же при вводе своей пары логина и пароля Вы что-то напортачили, то сбрасываем все путем когда еще раз ставим логин и пароль на запрос просто ничего не вводим, а нажимаем клавишу Enter, хотя проще удалить файл /etc/webiopi/passwd:

pi@raspberrypi:~ $ sudo rm /etc/webiopi/passwd

pi@raspberrypi:~ $ sudo /etc/init.d/webiopi restart

Дабы не загромождать заметку я завершу свое повествование, путь намечен. В следующих заметках я покажу что-нибудь еще по работе с интерфейсом GPIO, а пока прощаюсь, с уважением Олло Александр aka ekzorchik.