Відповіді:
Ви можете зробити це будь-якою кількістю способів, використовуючи CGI або інший серверний скрипт. Однією з проблем буде дозвол на доступ до шпильок GPIO. Здається, не існує чистого рішення . В даний час, можливо, найпростіше порушити файли gpio користувачеві, який працює з веб-сервером, викликати (suid) програму, яка може отримати доступ до штифтів, або мати окремий демон з доступом до шпильок, на які ви можете надсилати повідомлення (сигнал, передача даних) / socket, інші ipc ...).
Для «виконань пітона скрипта через веб - інтерфейс», ви можете захотіти поглянути на web.py . Це дуже акуратний маленький модуль, який дозволяє записати один файл окремої "веб-служби", яка може зробити що завгодно. Дуже зручно для подібних речей IME. Ефективно не потребує конфігурації чи спеціального програмного забезпечення (крім звичайної установки python та самого web.py). Просто напишіть обробники для URL-адрес у python, необов'язково з HTML-шаблонами та запустіть. Наведіть клієнта (браузер, інший скрипт, wget ..) на потрібний порт і він просто працює. :)
Редагувати: новий проект, помічений, серпант, здається, дозволяє вимкнути gpio з розетки або, можливо, підробленого інтерфейсу пристрою char
Якщо ви тільки починаєте веб-розробку, погляньте на пляшку . Пляшка простіша за колбу в тому сенсі, що вона є повноцінною веб-рамкою в одному файлі. На відміну від цього, Flask прагне повторно використовувати звуковий код з різних бібліотек і, отже, може бути більш твердим, але й складнішим.
Ось привіт Світ з пляшкою:
from bottle import route, run, template
@route('/hello/:name')
def index(name='World'):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
Запустіть його:
python HelloBottle.py
І відкрити в браузері: http://localhost:8080/hello/world
Для того, щоб ваш сайт доступний з інших комп'ютерів, встановлених host
на 0.0.0.0
в run
методі. Останній рядок вищезгаданого Hello World повинен читати:
run(host='0.0.0.0', port=8080)
Тепер ви можете мати доступ до свого веб-сайту через IP-адресу Pi, наприклад: http://192.168.0.123:8080/hello/world
Детальнішу інформацію див. У документації щодо розгортання пляшки .
curl http://localhost:8080/hello/world
я отримую очікувані результати. Однак я хочу мати доступ до цього на своєму звичайному комп’ютері через мережу. Після використання ifconfig
на мій IP адреса, наступний URL на моєму звичайному комп'ютері не може встановити з'єднання: http://192.168.1.102:8080/hello/matthew
. Я можу отримати доступ до іншої веб-сторінки, яку я зробив за адресою ` 192.168.1.102/home.php '. Чи маєте ви уявлення про те, як я можу перейти на свою сторінку пляшок?
0.0.0.0
змусити слухати пляшку з будь-якої адреси , включаючи Pi-адресу.
rpi#> sudo apt-get install ipython-notebook ipython3-notebook
Потім запустіть його:
rpi#> ipython notebook
Примітка: Ви можете отримати доступ до нього також з ПК:
rpi #> ipython notebook --ip = 10.0.0.7
# тут 10.0.0.7 - це мій IP-RPi.
# з іншого комп’ютера в браузері, який я набираю:
http://10.0.0.7:8888
Ви побачите це:
Потім створіть новий ноутбук і запустіть свій код там:
Метод тесту:
http://ipython.org/
http://jupyter.org/
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
http://maxembedded.com/2014/07/ використання-малинового-пі-гпіо-використання-пітона /
Youtube: https://www.youtube.com/watch?v=cJuF4IDMuLY
Музика працює на RPi у фоновому режимі в екрані linux на mps-youtube.
rpi#> sudo apt-get install python3-pip
rpi#> sudo pip3 install --upgrade mps-youtube
rpi#> sudo pip3 install --upgrade https://github.com/mps-youtube/pafy/archive/develop.zip
rpi#> mpsyt # to start it
# configure mpsyt to show video, player.
mpsyt#> set show_video True
mpsyt#> set player omxplayer
mpsyt#> set search_music False
mpsyt#> . lindsey stirling
mpsyt#> 2 # to play song from a list.
Удачі!
Ось підручник, як цього можна досягти: https://roderickvella.wordpress.com/2017/01/04/control-a-separate-running-script-from-a-web-server-python-rpi/