回答:
これは、CGIまたは他のサーバー側スクリプトを使用して、さまざまな方法で実現できます。1つの問題は、GPIOピンへのアクセス許可です。きれいな解決策はないようです。現在、ウェブサーバーを実行するユーザーにgpioファイルをchownするか、ピンにアクセスできる(suid)プログラムを呼び出すか、メッセージを送信できるピンにアクセスできる別のデーモンを使用するのが最も簡単かもしれません(シグナル、パイプ/ socket、その他のipc ...)。
「Webインターフェースを介してpythonスクリプトを実行する」ために、web.pyを見るとよいでしょう。これは、何でもできる単一のファイルスタンドアロン「Webサービス」を作成できる、非常にきちんとした小さなモジュールです。この種のIMEには非常に便利です。構成や特別なソフトウェアは必要ありません(一般的なpythonインストールとweb.py自体は別です)。必要に応じてhtmlテンプレートを使用して、PythonでURLのハンドラーを作成して実行します。クライアント(ブラウザ、他のスクリプト、wget ..)を正しいポートに向けると、正常に機能します。:)
編集:新しいプロジェクトが発見され、serpintはソケットまたはおそらく偽のcharデバイスインターフェースからgpioをウィグリングできるようです。
Web開発を始めたばかりの場合は、Bottleをご覧ください。ボトルは、単一ファイル内の完全なWebフレームワークであるという意味で、フラスコよりも単純です。対照的に、Flaskはさまざまなライブラリのサウンドコードを再利用することを目的としているため、より強固でありながら複雑な場合があります。
これがボトルのあるHello Worldです。
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
他のコンピューターからWebサイトを利用できるようにするhost
に0.0.0.0
は、run
メソッドでに設定します。上記のHello Worldの最後の行は次のようになります。
run(host='0.0.0.0', port=8080)
次のように、PiのIPアドレスを介してWebサイトにアクセスできるようになります。 http://192.168.0.123:8080/hello/world
詳細については、展開に関するボトルのドキュメントを参照してください。
curl http://localhost:8080/hello/world
と、期待どおりの結果が得られます。ただし、LAN経由で通常のコンピューターでこれにアクセスできるようにしたいと思います。ifconfig
IPアドレスに使用した後、通常のコンピューター上の次のURLで接続を確立できませんhttp://192.168.1.102:8080/hello/matthew
。` 192.168.1.102/home.php 'で作成した別のWebページにアクセスできます。ボトルページにどのようにアクセスできるかご存知ですか?
rpi#> sudo apt-get install ipython-notebook ipython3-notebook
それを実行します:
rpi#> ipython notebook
注:PCからもアクセスできます:
rpi#> ipython Notebook --ip = 10.0.0.7
#ここ10.0.0.7は私のRPi IPです。
#私が入力しているブラウザーの別のコンピューターから: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/ using-raspberry-pi-gpio-using-python /
Youtube:https : //www.youtube.com/watch?v=cJuF4IDMuLY
音楽は、mps-youtube上のlinux screenプログラムでバックグラウンドでRPiで実行されています。
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/