[メモ] ASUS TinkerBoard : ラズパイのカメラモジュールを使う


ASUS Tinker Boardで、|TinkerOS 2.0.1 beta ラズパイのカメラモジュール(CSI接続)が動くようになったよ。

  • MJPG-streamer使用。ブラウザでビデオが見れる。(スマホの画面を撮ってる)

概要

  • TinkerOS 2.0.1 betaのリリースノート? みてたら

10. Pre-support OV5647 & IMX219 (Reference "Camera_Config.pdf").

ん?この型番って、ラズパイのカメラモジュールか!?

  • CAMERA MODULE
    • Camera Module v1 : OmniVision OV5647
    • Camera Module v2 : Sony IMX219

...

  • 画質は... 絵がうつってる程度..
  • /dev/video? にて、使用する模様
  • opencvとか、つかえないっぽい。※ c = cv2.VideoCapture(0) で、エラーがでる

環境

説明/手順

Camera_Config.pdf に書かれているままなのだが..
pdfから、コピペするとうまくいかないので、ここにメモっとく

  1. ラズパイとおなじように、カメラのリボンケーブルを挿す。
    本体中央部のコネクタ(HDMIとイヤホンジャックの間)。リボンケーブル端子の接触面は、microSDの方向を向く
  2. TinkerOS 2.0.1betaをいつも通り、microSDに焼いて、起動。イメージそのままで特に設定変更無し。
  3. /dev/video0 となるらしい
  4. 以下のコマンドで、動作確認。ウィンドウが開いて、プレビューが見れるハズ。

    gst-launch-1.0 v4l2src ! video/x-raw,format=NV12,width=640,height=480 ! videoconvert ! autovideosink
    

プレビュー / Preview

$ gst-launch-1.0 v4l2src ! videoconvert  ! autovideosink
$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=640,height=480 ! videoconvert ! autovideosink

静止画撮影(JPG) / Capture

$ gst-launch-1.0 v4l2src num-buffers=10 ! video/x-raw,format=NV12,width=640,height=480 ! jpegenc ! multifilesink location=image_%02d.jpg
$ gst-launch-1.0 v4l2src num-buffers=10 ! video/x-raw,format=NV12,width=640,height=480 ! jpegenc ! multifilesink location=image.jpg

動画撮影 / Recording

$ gst-launch-1.0 v4l2src num-buffers=512 ! video/x-raw,format=NV12,width=640,height=480,framerate=30/1 ! queue ! mpph264enc ! queue ! h264parse ! mpegtsmux ! filesink location=/home/linaro/vga.ts

JPG表示 / Show Picture

$ gst-launch-1.0 playbin uri=file:///home//linaro//image.jpg
$ gst-launch-1.0 filesrc location=image.jpg ! decodebin ! imagefreeze ! autovideosink

動画再生 / Play Video

$ gst-launch-1.0 playbin video-sink=rkximagesink uri=file:///home/linaro/vga.ts
$ gst-launch-1.0 uridecodebin uri=file:///home/linaro/vga.ts ! rkximagesink

MJPG-streamer (Webブラウザで動画を見る)

インストール / Install

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install subversion libjpeg62-turbo-dev imagemagick
$ cd ~  ## 追加
$ svn co https://svn.code.sf.net/p/mjpg-streamer/code/
$ cd code/mjpg-streamer
$ make
$ sudo make install

MJPG-streamer開始 / Start MJPG-streamer

$ cd ~/code/mjpg-streamer
$ ./mjpg_streamer -i "./input_uvc.so -y" -o "./output_http.so -w ./www"
  • Webブラウザから、アクセスする。
    • TinkerBoard自身からなら: http://127.0.0.1:8080/?action=stream
    • ほかのPCからなら: http://<TinkerBoardのIP>:8080/?action=stream
  • うまく動かないときは、電源を一回切って、祈りながら、再起動してみる
  • かたまったら、リロード

その他

  • メモ

    $ uname -a
    Linux linaro-alip 4.4.71+ #1 SMP Thu Aug 17 00:28:01 CST 2017 armv7l GNU/Linux