Raspberry Pi用カメラ画像転送

TWELITEとApp_UARTを用いてRaspberry Pi用のカメラの画像を転送するPythonスクリプトです。 本スクリプトはRaspberryPiとRaspberryPi専用のカメラモジュールが必要です。 また、親機はRaspberryPiとLinux搭載のPCのみ対応しております。

以下のような処理を行います

親機がRaspberryPiに写真の撮影要求を送信する
GPIO接続ボタンを押すか、ターミナルにコマンドを入力する
		↓
RaspberryPiがカメラモジュールで撮影した写真を親機に送信する
		
カメラ接続RaspberryPi(子機) スイッチ接続RaspberryPi(親機)
子機(カメラ機)の接続例 親機(RaspberryPi)の接続例
※ GPIO に接続するボタンは無線シャッター(シャッター要求を無線伝送)です。ボタンなしでも利用できます。

ダウンロード

 

本スクリプトのファイル構成

本スクリプトは以下のファイルで構成されています。

Raspberry Piの設定方法

このスクリプトを使うために必要なライブラリやアプリケーションをRaspberry Pi・LinuxPCにインストールします。 送信機・受信機ともに下記の順番で設定・インストールを行って下さい。

  1. カメラモジュールの有効化
  2. 画像編集ソフトのインストール
  3. pythonライブラリのインストール

カメラモジュールの有効化

Raspberry Pi専用のカメラモジュールをRaspberry Piに接続し、カメラを有効にします。 LinuxPCではこの設定は不要です。 カメラモジュールは下の図のまるで示されている場所に接続します。 その後、コマンドラインで

			$ sudo raspi-config
		
と入力し、 「5 Enable Camera」→「Enable」 でカメラモジュールを有効にします。

画像編集ソフトのインストール

本スクリプトではJPEG 2000形式の画像を送受信するために、ImageMagickと呼ばれるアプリケーションでJPEG画像を変換します。 ImageMagickは下記の方法でインストールします。

			$ sudo apt-get install imagemagick
		

pythonライブラリのインストール

以下のコマンドを実行し、本スクリプトに必要なPythonライブラリをインストールします。

$ sudo apt-get install libjpeg8-dev
$ sudo apt-get install python-dev
$ sudo apt-get install python-pip
$ sudo pip install pyserial
$ sudo pip install picamera

スクリプトの使用方法

前準備

このスクリプトを用いるためにApp_UARTを書き込んだTWELITEを2つ用意します。 このときMONOSTICK-モノスティックを用いるのが便利です。

まず、アーカイブを展開し、展開したディレクトリに移動します。

$ unzip RasPi_Camera.zip
$ cd RasPi_Camera

用意したTWELITEにファームウェアを以下のコマンドを実行します。TWELITE 用のファームウェアは App_UART で、添付のバイナリは親機子機用に事前設定したものです。

  1. 親機のファームウェアを書き込む場合
    • RaspberryPiの場合
      $ cd jenprog_RasPi
      $ sudo ./jenprog -p /dev/ttyUSB0 ../firmware/Parent.bin
      $ sudo ./jenprog -r /dev/ttyUSB0	
    • LinuxPCの場合
      $ cd jenprog_Linux
      $ sudo ./jenprog -p /dev/ttyUSB0 ../firmware/Parent.bin
      $ sudo ./jenprog -r /dev/ttyUSB0
  2. 子機のファームウェアを書き込む場合(RaspberryPi専用)
    $ cd jenprog_RasPi
    $ sudo ./jenprog -p /dev/ttyUSB0 ../firmware/Child.bin
    $ sudo ./jenprog -r /dev/ttyUSB0

接続方法

カメラが付いたRaspberryPiには子機に設定したTWELITEを、 スイッチのついたRaspberryPiまたは、LinuxPCには親機の設定をしたTWELITEを接続してください。

カメラ接続RaspberryPi(子機) スイッチ接続RaspberryPi(親機)
子機(カメラ機)の接続例 親機(RaspberryPi)の接続例

スクリプトの実行

カメラを接続したRapsperryPiは以下のコマンドでスクリプトを実行します。

			$ sudo python Transmission.py
		
また、親機では以下のコマンドでスクリプトを実行します。
			$ sudo python Receive.py

スイッチを押すまたはターミナル上で"s"を入力後、Enterを入力すれば、 自動的に写真が子機から親機に送信され、画面に表示されます。
どちらのスクリプトも"q"を入力後、Enterで終了します。

スクリプトのオプション

スクリプト実行時にコマンドライン引数を指定することで設定を変更できます。引数は親子共通で、下記の通りです。

引数 機能 説明 初期値
-t シリアルポートの指定 TWELITEと接続するシリアルポートの指定することができます。
例:sudo python Receive.py -t /dev/ttyUSB1
/dev/ttyUSB0
-b ボーレートの設定 TWELITEと接続するときのボーレートを指定することができます。
例:例:sudo python Receive.py -b 38400
115200

注意

  1. 画像を表示することができないため、Teratermやssh等リモート接続をして本スクリプトを使用しないでください。
  2. 本スクリプトはUSB接続のWebカメラ等は使用できません。必ずRaspberryPi用のカメラモジュールをご使用ください。
TWELITE
TWELITE
DIP
DIP
UART
UART
CUE
CUE
ARIA
ARIA
PAL
PAL
STICK
STICK
spot
SPOT
R3
R3
STARTER KIT
STARTER KIT
アンテナ
アンテナ
製品一覧
製品一覧

モノをつなぐ無線

モノをつなぐ無線
モノの無線
導入事例
導入事例
選び方
選び方
小型
小型
省電力
省電力
多数接続
多数接続
コントロール
コントロール
モニタリング
モニタリング
ソフトウエア
ソフトウエア
親機
親機
中継機
中継機
子機
子機
始め方
始め方

評価開発環境

STAGE
STAGE
STAGE APP
STAGE APP
interactive
アプリ設定
アプリ書換
アプリ書換
プログラミング
プログラミング