Всем привет! Сейчас я попробую рассказать своими словами как можно управлять портами Raspberry через WEB интерфейс. Это нужно для моего проекта “Умный дом” Меня просто достали предложением сделать красивые “кубки” для проекта. Хотя как я уже говорил самое надёжное это провода.
Нам нужно реализовать следующее.
– серверная программа, запущенная на Raspberry Pi (для чтения значений GPIO)
– использование MySQL базы данных (для хранения состояния GPIO)
– использование веб-сервера Apache2 (для контроля GPIO через веб-браузер)
И так приступим. Нам понадобиться подготовить нашу малинку. Установим на неё следующие пакеты:
– Apache веб-сервер
– PHP5
– MySQL сервер
– phpMyAdmin (есть русская версия)
root -доступ
Для начала предоставим нашей малине root доступ.
1 |
sudo -i |
Установка Apache
Далее установим Apache веб-сервер.
Не забываем сначала обновиться:
1 |
sudo apt-get update && sudo apt-get upgrade |
А потом устанавливаем пакет:
1 |
sudo apt-get install apache2 |
Установка PHP
Для использования динамических PHP файлов на Raspberry нужно установить модуль PHP и PHP Apache:
1 |
sudo apt install php libapache2-mod-php |
После установки модуля PHP, перезапускаем службу Apache:
1 |
sudo systemctl restart apache2 |
Что бы проверить сервер Apache, создаём новый файл с именем info.php внутри каталога /var/www/html с помощью следующего кода:
1 |
sudo nano /var/www/html/info.php |
заполняем созданный нами файл info.php вот этим кодом
1 2 3 |
<?php phpinfo(); |
Установленный Apache сразу помещает в веб-директорию тестовый HTML-файл. Веб-сервер выводит эту дефолтную страницу, если зайти в браузере на http://localhost/ находясь на малине или http://192.168.1.10 находясь на любой машине в локальной сети. Вместо 192.168.1.10 нужно подставить IP-адрес конкретно вашей Raspberry а чтобы узнать его, впишите в терминал команд:
1 |
hostname -I |
Устанавливаем MySQL
Пишем вот такую команду:
1 |
sudo apt-get install mariadb-server |
После установки можно проверить, что мы установили mariadb server и он работатет:
1 2 3 4 5 |
# If installed, it should give an output which mysql # Убездаемся, что сервер активен. sudo /etc/init.d/mysql status |
Устанавливаем phpMyAdmin
Сначала установим пакет:
1 |
sudo apt install phpmyadmin |
Во время установки вам будет представлен следующий экран с вопросом, какой тип сервера вы используете, выберите «apache2» и продолжайте.
Далее нам нужно настроить phpMyAdmin для подключения к базе данных MySQL. Если вы уже создали базу данных, вы можете просто выбрать Да и продолжить, если нет, тогда вернитесь к руководству по настройке веб-сервера и установите MySQL (MariaDB).
При запросе создайте пароль для phpMyAdmin и выберите «OK» для повышения безопасности сервера MySQL (MariaDB) выберите другой пароль, отличный от пароля входа в систему linux.
Теперь вам будет предложено подтвердить пароль.
По соображениям безопасности phpMyAdmin не позволит вам войти в систему как пользователь root, для преодоления этого вам потребуется создать нового пользователя.
Откройте MySQL, используя пользователя root
1 |
sudo mysql -p -u root |
Будет предложено ввести пароль, который вы вводили на прошлом этапе:
далее вы увидите вот такое окно…
Создаём базу данных с именем «Hydropidb»
1 |
CREATE DATABASE hydropidb; |
Далее мы создадим нового пользователя и пароль, для этого примера имя пользователя будет «pitest», а пароль – «123456».
1 |
CREATE USER 'pitest'@'localhost' IDENTIFIED BY '123456'; |
Теперь, когда новый пользователь создан, мы предоставим ему все привилегии, чтобы вы могли работать с базой данных.
1 |
GRANT ALL PRIVILEGES ON hydropidb.* TO 'pitest'@'localhost'; |
Чтобы дать новому пользователю доступ к новой базе данных, мы должны очистить таблицу привилегий следующей командой. После завершения «Выход» из программы MySQL
1 2 |
FLUSH PRIVILEGES; QUIT; |
Войдите в MySQL как новый пользователь, чтобы подтвердить доступ.
1 2 |
mysql -p -u pitest QUIT; |
Настройка Apache для PhpMyAdmin
С добавленным phpMyAdmin нам нужно вернуться на сервер Apache и сообщить ему о новой установке, для этого нам нужно отредактировать файл apache2.conf на Pi с помощью следующей команды.
1 |
sudo nano /etc/apache2/apache2.conf |
Прокрутите до конца файла и добавьте следующую строку:
1 |
Include /etc/phpmyadmin/apache.conf |
Нажмите Ctrl + X, Y и ENTER, чтобы сохранить изменения. Далее мы перезапустим сервер Apache, чтобы активировать наши изменения
1 |
sudo service apache2 restart |
После перезапуска сервера вы сможете получить доступ к phpMyAdmin через веб-браузер. Откройте сеанс браузера и в адресной строке введите свой IP-адрес, а затем phpMyAdmin, например.
1 |
192.168.1.20/phpmyadmin |
вам будет представлен экран входа в систему, где вы введете только что созданного пользователя и пароль.
После входа вы увидите экран управления базой данных, показанный ниже.
На этом этапе phpMyAdmin был успешно установлен, и теперь у вас есть визуальный интерфейс для вашей базы данных. Если вы хотите узнать больше о MySQL (MariaDB) и командах для управления базой данных, то я рекомендую TutorialsPoint.
На этом первая часть данного пояснения окончена.