отсюда http://cxem.net/arduino/arduino48.php
В данной статье мы рассмотрим управление входами/выходами (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)
p.s.
Вот замена GPIOServer.sh на Python: ссылка
Запуск:
$sudo apt-get install python-mysqldb
$sudo python gpioserver.py
Sorry, the comment form is closed at this time.