Всем привет! Сейчас я попробую рассказать своими словами как можно управлять портами Raspberry через WEB интерфейс. Это нужно для моего проекта “Умный дом” Меня просто достали предложением сделать красивые “кубки” для проекта. Хотя как я уже говорил самое надёжное это провода.
Нам нужно реализовать следующее.
– серверная программа, запущенная на Raspberry Pi (для чтения значений GPIO)
– использование MySQL базы данных (для хранения состояния GPIO)
– использование веб-сервера Apache2 (для контроля GPIO через веб-браузер)
И так приступим. Нам понадобиться подготовить нашу малинку. Установим на неё следующие пакеты:
– Apache веб-сервер
– PHP5
– MySQL сервер
– phpMyAdmin (есть русская версия)
root -доступ
Для начала предоставим нашей малине root доступ.
Установка Apache
Далее установим Apache веб-сервер.
Не забываем сначала обновиться:
А потом устанавливаем пакет:
Установка PHP
Для использования динамических PHP файлов на Raspberry нужно установить модуль PHP и PHP Apache:
После установки модуля PHP, перезапускаем службу Apache:
Что бы проверить сервер Apache, создаём новый файл с именем info.php внутри каталога /var/www/html с помощью следующего кода:
заполняем созданный нами файл info.php вот этим кодом
Установленный Apache сразу помещает в веб-директорию тестовый HTML-файл. Веб-сервер выводит эту дефолтную страницу, если зайти в браузере на http://localhost/ находясь на малине или http://192.168.1.10 находясь на любой машине в локальной сети. Вместо 192.168.1.10 нужно подставить IP-адрес конкретно вашей Raspberry а чтобы узнать его, впишите в терминал команд:
Устанавливаем MySQL
Пишем вот такую команду:
После установки можно проверить, что мы установили mariadb server и он работатет:
Устанавливаем phpMyAdmin
Сначала установим пакет:
Во время установки вам будет представлен следующий экран с вопросом, какой тип сервера вы используете, выберите «apache2» и продолжайте.
Далее нам нужно настроить phpMyAdmin для подключения к базе данных MySQL. Если вы уже создали базу данных, вы можете просто выбрать Да и продолжить, если нет, тогда вернитесь к руководству по настройке веб-сервера и установите MySQL (MariaDB).
При запросе создайте пароль для phpMyAdmin и выберите «OK» для повышения безопасности сервера MySQL (MariaDB) выберите другой пароль, отличный от пароля входа в систему linux.
Теперь вам будет предложено подтвердить пароль.
По соображениям безопасности phpMyAdmin не позволит вам войти в систему как пользователь root, для преодоления этого вам потребуется создать нового пользователя.
Откройте MySQL, используя пользователя root
Будет предложено ввести пароль, который вы вводили на прошлом этапе:
далее вы увидите вот такое окно…
Создаём базу данных с именем «Hydropidb»
Далее мы создадим нового пользователя и пароль, для этого примера имя пользователя будет «pitest», а пароль – «123456».
Теперь, когда новый пользователь создан, мы предоставим ему все привилегии, чтобы вы могли работать с базой данных.
Чтобы дать новому пользователю доступ к новой базе данных, мы должны очистить таблицу привилегий следующей командой. После завершения «Выход» из программы MySQL
Войдите в MySQL как новый пользователь, чтобы подтвердить доступ.
Настройка Apache для PhpMyAdmin
С добавленным phpMyAdmin нам нужно вернуться на сервер Apache и сообщить ему о новой установке, для этого нам нужно отредактировать файл apache2.conf на Pi с помощью следующей команды.
Прокрутите до конца файла и добавьте следующую строку:
Нажмите Ctrl + X, Y и ENTER, чтобы сохранить изменения. Далее мы перезапустим сервер Apache, чтобы активировать наши изменения
После перезапуска сервера вы сможете получить доступ к phpMyAdmin через веб-браузер. Откройте сеанс браузера и в адресной строке введите свой IP-адрес, а затем phpMyAdmin, например.
вам будет представлен экран входа в систему, где вы введете только что созданного пользователя и пароль.
После входа вы увидите экран управления базой данных, показанный ниже.
На этом этапе phpMyAdmin был успешно установлен, и теперь у вас есть визуальный интерфейс для вашей базы данных. Если вы хотите узнать больше о MySQL (MariaDB) и командах для управления базой данных, то я рекомендую TutorialsPoint.
На этом первая часть данного пояснения окончена.