воскресенье, 28 июля 2013 г.

Веб-контроль Raspberry Pi GPIO

Доброго времени суток! В этом посте я хочу показать, как управлять электроникой через Интернет используя Raspberry Pi. Выглядеть это будет примерно вот так.
Краткое описание:



  • Серверная программа, которая работает на Raspberry Pi, для того чтобы читать переменные

    • Базы данных MySQL для хранения переменных
    • Веб-страница Apache2, для того чтобы контролировать переменные



    Шаг 1. База знаний



    Это уже должно быть на вашем Raspberry Pi:
    • Веб-сервер Apache
    • PHP5
    • Сервер MySQL
    • phpMyAdmin


    Шаг 2. Создание root аккаунта



    Пропустите это, если у вас уже есть аккаунт, а если нет — продолжайте прочтение :)

    Войдите в Raspberry Pi используя следующую команду:
    sudo -i
    passwd root

    Теперь введите и подтвердите пароль для учётной записи.
    Затем нужно закрыть SSH сессии и перезапустить его, войдя в систему как root.

    Шаг 3. Настройка баз данных и phpMyAdmin


    Это решение основано на базах данных MySQL, сейчас мы их и настроем.

    Итак, для начала скачайте этот файл.

    Залогиньтесь в панели управления phpMyAdmin и нажмите кнопку "Import" в верхнем меню.
    Теперь, в пункте "File to Import", нажмите кнопку "Choose File" и выберите файл, который скачали до этого (gpio.sql).
    И в завершении нажмите кнопку "Go" внизу страницы.
    Это позволит создать все необходимые таблицы.
    Теперь вам нужно добавить нового пользователя в базы данных используя phpMyAdmin. Для того чтобы это сделать, вам следует:
    • Кликнуть на "Users" вверху страницы.
    • Теперь жмите на ссылку "Add User".
    • В поле "User name" введите нужное вам имя пользователя. У ввёл "gpio".
    • В поле "Host" введите "localhost".
    • Затем в двух полях введите подходящие пароли. (Без пробелов, переносов или специальных символов). Я ввёл "pr03ND2".
    • Все остальное остальное оставьте по умолчанию, а затем нажмите кнопку "Add User" кнопку в правом нижнем углу.
    В заключительной части этого шага нужно дать пользователю нужные привилегии.
    • Нажмите на кнопку "Users" в верхнем меню, затем пролистывайте вниз до тех пор, пока вы не увидете только что добавленного вами пользователя в таблице "Users Overview".
    • Напротив имени пользователя нажмите на ссылку "Edit Privileges".
    • Листайте внизу к пункту "Database-specific privileges" и выберите "gpio" из выпадающего списка, нажмите кнопку "Go".
    • Отметьте ВСЕ флажки и нажмите кнопку "Go" слева снизу.

    Шаг 4. Shell Script

    Это та часть, которая запускает проверку значений в базе данных MySQL на Raspberry Pi. 
    Этот сценарий довольно прост, но требует настройки.

    Сперва скачайте скрипт, введя следующие команды (на Raspberry Pi):
    • sudo -i и нажмите Return / Enter
    • wget http://raspberrypi-gpio.googlecode.com/files/GPIOServer.sh и нажмите Return / Enter


    После того, как он это скачает, введите
    • chmod +x GPIOServer.sh и нажмите Return / Enter
    • nano GPIOServer.sh и нажмите Return / Enter

    Это позволит вам изменить сценарий.

    Вы должны изменить следующие переменные в начале файла:
    • mysqlusername="ЗДЕСЬ ИМЯ ПОЛЬЗОВАТЕЛЯ"
    • mysqlpassword="ЗДЕСЬ ПАРОЛЬ"

    Их нужно изменить на имя пользователя и пароль, которые вы создавали ранее в phpMyAdmin.
    После того как всё изменили, удерживайте клавишу Ctrl и нажмите X, затем отпустите Ctrl и нажмите Y. Нажмите Return / Enter.

    Шаг 5. Настройка веб-страницы



    Финальный шаг, перед тем как вы сможете использовать это, — настройка веб-страницы.

    Для этого, напишите следующие команды, убедившись, что вы залогинены (если нет — напечатайте sudo -i).:
    • wget http://raspberrypi-gpio.googlecode.com/files/control.php и нажмите Return / Enter
    • wget http://raspberrypi-gpio.googlecode.com/files/off.jpg и нажмите Return / Enter
    • wget http://raspberrypi-gpio.googlecode.com/files/on.jpg и нажмите Return / Enter
    Когда они скачаются, напишите вот это:
    • mv control.php /var/www/control.php и нажмите Return / Enter.
    • chmod 755 /var/www/control.php и нажмите Return / Enter.
    • mv off.jpg /var/www/off.jpg и нажмитеReturn / Enter.
    • chmod 755 /var/www/off.jpg и нажмите Return / Enter.
    • mv on.jpg /var/www/on.jpg и нажмите Return / Enter.
    • chmod 755 /var/www/on.jpg и нажмите Return / Enter.
    Теперь вам нужно изменить пару переменных перед использованием файла, поэтому напишите nano /var/www/control.php и нажмите Return / Enter.

    Измените следующие переменные:
    • $MySQLUsername = "ЗДЕСЬ ИМЯ ПОЛЬЗОВАТЕЛЯ";
    • $MySQLPassword = "ЗДЕСЬ ПАРОЛЬ";

    Сейчас через браузер зайдите на страницу control.php (у меня raspberryPi/control.php, где raspberryPi — имя хоста.)

    Там потребуется ввести следующие данные:
    Имя пользователя: admin
    Пароль: gpio
    Я рекомендую нажать на ссылку «Change Password» сверху страницы и сменить пароль по очевидным причинам.


    Шаг 6. Использование



    Чтобы запустить программы GPIO, сделайте следующее:
    Начните SSH сессию на Raspberry Pi и залогиньтесь как root, затем напечатайте ./GPIOServer.sh и нажмите Return / Enter.

    Он попросит ввести время ожидания, оно будет зависеть от потребностей ваших приложений. Но, чем короче время ожидания, тем больше ресурсов сценарий будет использовать (я обычно использую 5).

    Готово! Теперь войдите в панель управления (http://ИМЯ ХОСТА/control.php) и наслаждайтесь!

    Для безопасности следует удалить root аккаунт.

    https://blogun.ru/liverwurstccdahfg.html

    Комментариев нет:

    Отправить комментарий