Web-управление Raspberry Pi GPIO

Web-управление Raspberry Pi GPIO

В данной статье мы рассмотрим управление входами/выходами (GPIO) микрокомпьютера Raspberry Pi через Web-интерфейс. Это дает возможность управлять различными устройствами через интернет.

Особенности данного проекта:

– серверная программа, запущенная на Raspberry Pi для чтения значений GPIO

– использование MySQL базы данных для хранения состояния GPIO

– использование веб-сервера Apache2 для контроля GPIO через веб-браузер

Итак, первое, что вам необходимо установить на Raspberry Pi, это:

– Apache веб-сервер

– PHP5

– MySQL сервер

– phpMyAdmin (есть русская версия)

Т.к. микрокомпьютер Raspberry Pi работает на Linux-системах, то в интернете полно описаний на русском языке как устанавливать все эти пакеты. Поэтому зацикливаться на этом мы не будем. Есть неплохая инструкция применительно к Raspberry Pi, но на английском языке: почитать.

Полноценный root-доступ

Для получения полного root доступа необходимо в терминале набрать команду sudo -i, которая переводит пользователя в сессию под root-ом.

Если вы уже включили root эккаунт, то дальше можете пропустить, если нет, то после команды sudo -i необходимо задать пароль пользователю root, делается это командой passwd root. После чего введите 2 раза пароль. Теперь можно закрыть SSH-сессию и войти заново уже под root’ом.

Настройка базы данных

Для упрощения работы, все действия с MySQL будем делать из оболочки phpMyAdmin.

Для начала скачайте данный SQL файл. Он содержит команды для создания базы данных, таблиц и их содержимого. Затем, войдите в phpMyAdmin и в вкладках выберите Import (Импорт). Выберите файл gpio.sql на вашем диске и нажмите кнопку Go для импортирования. После этого, phpMyAdmin создаст БД, таблицы и данные в них.

Далее, необходимо создать и добавить пользователя к БД и установить права. Для этого переходим по вкладке Users (Пользователи) и нажимаем ссылку Add User (Добавить пользователя)

Вбиваем User name (Имя пользователя) gpio (желательно, чтобы оно совпадало с именем базы данных), Host – localhost, и 2 раза пароль.

Затем переходим к списку пользователей, находим нашего и нажимаем ссылку Edit Privileges (Редактировать права). В вкладке Database-specific privileges в выпадающем списке находим и выбираем нашу БД gpio. А затем нажимаем Go.

Нажимаем Check All (Выбрать все), чтобы назначить пользователю gpio все права на БД gpio.

На этом установка и настройка БД завершена.

Шелл скрипт

Скачайте скрипт, введя следующие команды:

sudo -i

wget http://raspberrypi-gpio.googlecode.com/files/GPIOServer.sh

После того, как скрипт скачается, выполните команды установки прав на файл и редактирования скрипта в редакторе nano:

chmod +x GPIOServer.sh

nano GPIOServer.sh

В строки mysqlusername="USERNAME HERE" и mysqlpassword="PASSWORD HERE" вы должны вписать имя пользователя (gpio) и пароль к нему.

Затем сохраните изменения в файле нажав ctrl+x, а затем y и ввод.

Настройка Web-страницы

Теперь необходимо скачать файлы для работы веб-интерфейса. Войдите под root’ом и выполните следующие команды:

wget http://raspberrypi-gpio.googlecode.com/files/control.php

wget http://raspberrypi-gpio.googlecode.com/files/off.jpg

wget http://raspberrypi-gpio.googlecode.com/files/on.jpg

После того, как эти файлы скачаются, наберите:

mv control.php /var/www/control.php

chmod 755 /var/www/control.php

mv off.jpg /var/www/off.jpg

chmod 755 /var/www/off.jpg

mv on.jpg /var/www/on.jpg

chmod 755 /var/www/on.jpg

Этими командами мы переместим файлы в папку www и установим для них соответствующие права.

Далее, необходимо сделать правки в РНР-файле:

nano /var/www/control.php

Находим следующие строки:

$MySQLUsername = "USERNAME HERE";

$MySQLPassword = "PASSWORD HERE";

и вписываем имя пользователя и пароль.

Открываем в браузере файл control.php (у меня полный путь выглядит как http://raspberryPi/control.php)

Если спросит авторизацию, то:

Username: admin

Password: gpio

На этом установка и настройка закончены.

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

Для запуска ПО введите следующую команду:

./GPIOServer.sh

Теперь можно войти в веб-интерфейс http://HOSTNAME/control.php, авторизоваться и пользоваться.

Последнюю версию скриптов всегда можно найти на сайте Google.

Скачать файлы проекта

Оригинал статьи на английском языке (перевод Колтыков А.В. для сайта cxem.net)


Категория: Arduino
Метки:

Написать коментарий

*
= 5 + 5

Добавить изображение

Последние статьи