ストリーミングもできるようになったので、次はブラウザからカメラをサーボで動かせたら面白いかなーと思って、Raspberry Pi で CGIサーバーを作る方法を調べてみました。





Apache を入れて設定してと、ちょっと面倒だなぁと思っていたのですが、Python を調べているうちに簡単にできることが分かってきました。

手順はいたって簡単。ホームディレクトリに "cgi-bin" というディレクトリを作り、Python のファイルを作って、ホームディレクトリで "CGIHTTPServer" というコマンドを実行するだけです。

順を追って説明します。


1)ホームディレクトリに "cgi-bin" というディレクトリを作ります。


pi@raspberrypi:~$ mkdir cgi-bin


2)"cgi-bin" の中に python ファイルを作成します。


pi@raspberrypi:~ $ cd cgi-bin
pi@raspberrypi:~/cgi-bin $ vi test.py
pi@raspberrypi:~/cgi-bin $ chmod 755 test.py


編集した test.py に実行権限を与えることを忘れないようにしてください。test.py の中身は、"Hello from CGI" を表示する単純なものです。


#!/usr/bin/env python
# -*- coding:utf-8 -*-

import cgi

print "Content-type: text/html\n\n"
print "&lthtml>&ltbody>"
print "&lth1&gtHello from CGI</h1>"
print "</body></html>"


注意が必要なのは、Content-type の最後の2重改行"\n\n"です。2重改行がないとブラウザはHTML文書と認識できません。必ず2重改行をつけるようにしてください。


3)Python で "CGIHTTPServer" を実行します。


pi@raspberrypi:~ $ python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...


-m はモジュールの指定です。デフォルトではポート番号が8000番になっています。


4)PCのブラウザから Raspberry Pi のCGIにアクセスします。

URLは、Raspberry Pi に割当たっているIPアドレスを指定します。ポート番号を指定するのを忘れないように注意してください。





あっけなくCGIサーバーが出来上がりました。面倒な手続きは一切なし。Linuxの世界もここまできたかー。

次は外部機器をコントロールできるように、CGI経由でGPIOを制御してみたいと思います。
(^_^)/~





Raspberry Pi 3 MODEL B 【RS正規流通品】

  • 出版社/メーカー: Raspberry Pi
  • メディア: Tools & Hardware



【Pi Zero+Base Kit】 Raspberry Pi Zero+Base Kit+SBcase

  • 出版社/メーカー: きばん本舗
  • メディア: エレクトロニクス



Raspberry Pi Camera V2

  • 出版社/メーカー: Raspberry Pi
  • メディア: Personal Computers