мая 062013
 

отсюда http://cxem.net/arduino/arduino48.php

Web-интерфейс для управления Raspberry Pi

В данной статье мы рассмотрим управление входами/выходами (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-доступ

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

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

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

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

Импорт SQL-файла БД

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

Добавляем пользователя в phpMyAdmin

Вбиваем 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

Редактор nano

В строки 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)

p.s.

Вот замена GPIOServer.sh на Python: ссылка
Запуск:
$sudo apt-get install python-mysqldb
$sudo python gpioserver.py

QR Code - Take this post Mobile!
Use this unique QR (Quick Response) code with your smart device. The code will save the url of this webpage to the device for mobile sharing and storage.
Понравилось? Поделитесь:

:

Sorry, the comment form is closed at this time.