Доброго времени суток! В этом посте я хочу показать, как управлять электроникой через Интернет используя Raspberry Pi. Выглядеть это будет примерно вот так.
Краткое описание:
Это уже должно быть на вашем Raspberry Pi:
Если хотите узнать, как всё это настроить, вам сюда (инструкция на английском языке).
Пропустите это, если у вас уже есть аккаунт, а если нет — продолжайте прочтение :)
Войдите в Raspberry Pi используя следующую команду:
Теперь введите и подтвердите пароль для учётной записи.
Затем нужно закрыть SSH сессии и перезапустить его, войдя в систему как root.
Это решение основано на базах данных MySQL, сейчас мы их и настроем.
Итак, для начала скачайте этот файл.
Залогиньтесь в панели управления phpMyAdmin и нажмите кнопку "Import" в верхнем меню.
Теперь, в пункте "File to Import", нажмите кнопку "Choose File" и выберите файл, который скачали до этого (gpio.sql).
И в завершении нажмите кнопку "Go" внизу страницы.
Это позволит создать все необходимые таблицы.
Теперь вам нужно добавить нового пользователя в базы данных используя phpMyAdmin. Для того чтобы это сделать, вам следует:
В заключительной части этого шага нужно дать пользователю нужные привилегии.
Это та часть, которая запускает проверку значений в базе данных MySQL на Raspberry Pi.
Этот сценарий довольно прост, но требует настройки.
Сперва скачайте скрипт, введя следующие команды (на Raspberry Pi):
После того, как он это скачает, введите
Это позволит вам изменить сценарий.
Вы должны изменить следующие переменные в начале файла:
Их нужно изменить на имя пользователя и пароль, которые вы создавали ранее в phpMyAdmin.
После того как всё изменили, удерживайте клавишу Ctrl и нажмите X, затем отпустите Ctrl и нажмите Y. Нажмите Return / Enter.
Финальный шаг, перед тем как вы сможете использовать это, — настройка веб-страницы.
Для этого, напишите следующие команды, убедившись, что вы залогинены (если нет — напечатайте
Когда они скачаются, напишите вот это:
Теперь вам нужно изменить пару переменных перед использованием файла, поэтому напишите
Измените следующие переменные:
Сейчас через браузер зайдите на страницу control.php (у меня raspberryPi/control.php, где raspberryPi — имя хоста.)
Там потребуется ввести следующие данные:
Имя пользователя: admin
Пароль: gpio
Я рекомендую нажать на ссылку «Change Password» сверху страницы и сменить пароль по очевидным причинам.
Чтобы запустить программы GPIO, сделайте следующее:
Начните SSH сессию на Raspberry Pi и залогиньтесь как root, затем напечатайте
Он попросит ввести время ожидания, оно будет зависеть от потребностей ваших приложений. Но, чем короче время ожидания, тем больше ресурсов сценарий будет использовать (я обычно использую 5).
Готово! Теперь войдите в панель управления (http://ИМЯ ХОСТА/control.php) и наслаждайтесь!
Для безопасности следует удалить root аккаунт.
Краткое описание:
- Серверная программа, которая работает на 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 / Enterwget raspberrypi-gpio.googlecode.com/files/GPIOServer.sh
и нажмите Return / Enter
После того, как он это скачает, введите
chmod +x GPIOServer.sh
и нажмите Return / Enternano GPIOServer.sh
и нажмите Return / Enter
Это позволит вам изменить сценарий.
Вы должны изменить следующие переменные в начале файла:
mysqlusername="ЗДЕСЬ ИМЯ ПОЛЬЗОВАТЕЛЯ"
mysqlpassword="ЗДЕСЬ ПАРОЛЬ"
Их нужно изменить на имя пользователя и пароль, которые вы создавали ранее в phpMyAdmin.
После того как всё изменили, удерживайте клавишу Ctrl и нажмите X, затем отпустите Ctrl и нажмите Y. Нажмите Return / Enter.
Шаг 5. Настройка веб-страницы
Финальный шаг, перед тем как вы сможете использовать это, — настройка веб-страницы.
Для этого, напишите следующие команды, убедившись, что вы залогинены (если нет — напечатайте
sudo -i
).:wget raspberrypi-gpio.googlecode.com/files/control.php
и нажмите Return / Enterwget raspberrypi-gpio.googlecode.com/files/off.jpg
и нажмите Return / Enterwget 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 аккаунт.