投稿

raspberry pi zero wをリチウムイオン電池で動かしてみた

イメージ
raspberry pi はACアダプターやモバイルバッテリー等で簡単に動作させることが出来ますが、raspberry pi zero wの小ささを活かすために小型のリチウムイオン電池で動かしてみました。 1. 購入したリチウムイオン電池 リチウムイオン電池はAmazonで充電器付きのドローン用の物を購入しました。容量600mAhのリチウムイオン電池が5個とその充電器が付いて1899円でした。 なんだか怪しげな日本語ラベルの箱が届き… 中には充電器とリチウムポリマー電池5個が入ってました。 手に乗せるとより小ささを実感できます。 大体スペック通りのサイズです。縦40mm,横25mm,厚み8mmほど。 2. リチウムイオン電池の3.7Vを5Vに昇圧する リチウムイオン電池の電圧は3.7Vですので、raspberry pi zeroで必要な5Vまで昇圧する必要があります。昇圧にはストロベリーリナックスで売っているTPS61230A 昇圧型DC-DCコンバータモジュール(5V 2.5A)を使用する事にしました。(税込み990円) コインサイズ。ストロベリーリナックスで売っているTPS61230A 昇圧型DC-DCコンバータモジュール(5V 2.5A) TPS61230Aはコインサイズの昇圧器で、2.5V~4.5Vの入力で、5.0V最大2.5Aの出力を得られます。細かい設定も不要なスグレモノ。リチウムポリマー電池だけでなく、単4電池二本なんかでも5V出力を簡単に得られます。 https://strawberry-linux.com/catalog/items?code=16123 (商品ページ) リチウムイオン電池は取り外して充電器に接続できるようにXHコネクタで取り付けることにしました。 XHコネクタで取り付けました XHコネクタやPHコネクタの作り方は以下の記事を見てください。 IZOKEEの圧着ペンチでXHコネクタとPHコネクタを作る方法 リチウムイオン電池はスマホ等の小型デバイスで一般的に使用されていますが、使い方を間違えると簡単に発火します。 発火の原因として過充電によるものや短絡によるもの等ありますが、今回は充電回路をDIYせずに付属の充電器を使用することでリスクを1つ減らすことにします。充電・放電回路...

MJPEG(Motion-JPEG)再生ソフトを作ったので公開します

イメージ
MJPEG(Motion-JPEG)のデータファイルを再生したいという変わった人は少ないのか、まともな再生ソフトが無かったので作ってみました。 ダウンロード MJPEG DataFile Player MJPEGDataFilePlayerダウンロード github: https://github.com/znote1234/MJPEGDataFilePlayer Windows10 .Net Framework 4以上の環境なら大体動くと思います。 MJPEGデータファイル中からJPEG画像を探して、任意のフレームレートで連続して描画してるだけです。 無理やり描画しているのでデータやPCによっては任意のフレームレートにならないと思います。 私がUSBカメラからv4l2-ctlコマンドで取得したMJPEGデータファイル本体にはフレームレートが入っていないようなので、フレームレートは自分で指定します。 また任意のフレームのJPEG画像をファイル保存できるようにしています。 MJPEG(Motion-JPEG)とは MJPEG(Motion-JPEG)とは動画圧縮形式の一つです。名称が似てますがMPEGとは全く別物です。 MPEGとは異なり、フーレーム間の圧縮はせず、JPEG画像をパラパラ漫画のように連続して表示するものです。 1990年代頃によく使われていた方式のようで、他の動画圧縮方式と比べて処理が軽く、低スペックなシステムでもよく動くようです。またフレーム間の圧縮をしないので、1フレーム単位で割と綺麗に取り出せる為、工業用途に向いているとのこと。 その為現在でもUSBカメラ等はMJPEG形式での出力に対応しているものが多いです。 フォーマット・規格について MJPEG(Motion-JPEG)は正式なフォーマット・規格が存在せず、メーカー毎に仕様が異なる場合があるとの事。 私の知る限りでは、MJPEGデータの中には必ずJPEGデータがまるごと、連続して入っています。また、実際USBカメラからv4l2-ctlで録画したMJPEGデータを解析してみましたが、ファイルの先頭からJPEGデータが連続して存在しているだけで、フレームレート等の情報は全く入っていませんでした。

UVC対応USBカメラをラズパイ(CUI)で使う方法まとめ

ラズパイでUVC対応のUSBカメラを使用して、静止画の撮影、動画の撮影、動画撮影&ストリーミング配信を行う方法を紹介します。 1. 静止画を撮影する方法 静止画はfswebcamで撮影できます。 まずはインストールです。 // 念のためパッケージのアップデートをチェック $ sudo apt update // アップデートをインストール $ sudo apt upgrade // fswebcamをインストール $ sudo apt-get install fswebcam 以下で撮影します。 // 解像度 1280x720、ファイル名image1.jpgとして撮影・保存する $ fswebcam -r 1280x720 image1.jpg 撮影した画像をCUIで確認するにはfbiを使います。 // fbiをインストール $ sudo apt install fbi // 画像をCUIで表示 (ESCキーで終了) $ fbi image1.jpg カメラが対応している解像度を確認するには、v4l2-ctlを使用します。 // 接続されているカメラの情報を取得する為にv4l-utilsをインストール // (既にインストール済みかも) $ sudo apt install v4l-utils // 解像度一覧を表示 $ v4l2-ctl --list-formats-ext // 対象デバイスを指定して解像度一覧を表示 $ v4l2-ctl -d /dev/video0 --list-formats-ext カメラが対応している詳細設定(露光時間等)を確認するには、以下のようにします。 $ v4l2-ctl -L // 又は以下でも可 $ fswebcam -d v4l2:/dev/video0 --list-controls カメラがオートフォーカスや自動露光を完了させるまで待ち時間を入れるには、次のようにします。 // オートフォーカス/自動露光が完了するまで待ってから撮影 $ fswebcam -r 1280x720 -S 10 test1.jpg 露光時間(シャッタースピード)等の詳細設定を行って撮影するには、以下のようにします。 // 輝度100%、ゲイン80%で撮影。 // (カメラが設定可能かどうかは『...

Raspberry Piでシリアル通信する方法(通信設定・通信確認)

イメージ
Raspberry Pi 4 と Raspberry Pi Zero W をシリアル(UART)で通信させた時に、少しだけ手こずったのでメモしておきます。 1. sudo raspi-config でシリアル通信を有効化 まずは以下コマンドを実施します。 $ sudo raspi-config 次に “3 Interface Options” を選択してEnter 次に “P6 Serial Port 〜” を選択してEnter 次に、”Would you like a login shell to be accessible over serial?” では <いいえ> を選択してEnter。 (ここで<はい>とするとShellコンソールとして使用できるとの事) 次に、”Would you like the serial port hardware to be enabled?” では を選択してEnter 次に以下のように表示されるので、 で Enter <Finish> でコンソールに戻り、設定が変わっていればrebootを求められるのでrebootする。 2. miniUARTではなく普通のUARTが使えるようにする Raspberry Pi には機能制限版のminiUARTと通常のUARTが存在し、デフォルトではminiUARTがピンに割り当てられている模様。 // ttyS0 : miniUART(機能制限版UART) // ttyAMA0 : 普通のUART $ ls /dev -l ... ... serial0 -> ttyS0 serial1 -> ttyAMA0 ... ... ... // serial0がGPIOピンに割り付けられる。 // その為、上記状態では ttyS0(miniUART) が使用される。 なので、 /boot/config.txt を編集して、通常のUART(ttyAMA0)が使えるようにする。 $ sudo nano /boot/config.txt # ... 最下部に追加 dtoverlay=miniuart-bt core_freq=250 保存・reboot後、再度 “ls /dev -...

v4l2-ctlで行うUSBカメラ設定方法まとめ

v4l2-ctlはv4l2-utils(Video4Linux utils)に含まれるカメラの詳細設定ツールです。色々なことができるので主な使い方を纏めておきます。ちなみに実験用に使用したUSBカメラは『LOGICOOL HD WebCam C525』です。 1. インストール v4l2-ctlを使用するには、v4l-utilsをインストールします。 // 接続されているカメラの情報を取得する為にv4l-utilsをインストール // (既にインストール済みかも) $ sudo apt install v4l-utils 2. 接続しているUSBカメラの全情報を出力するには $ v4l2-ctl --all // 接続しているUSBカメラの全情報出力 $ v4l2-ctl --all Driver Info: Driver name : uvcvideo Card type : HD Webcam C525 Bus info : usb-0000:01:00.0-1.1 Driver version : 5.10.17 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Media Driver Info: Driver name : uvcvideo Model : HD Webcam C525 Serial : 7928C640 Bus info : usb-0000:01:00.0-1.1 Media version : 5.10.17 Hardware revision: 0x00000010 (16) Driver version : 5.10.17 Interface Info: ID : 0x03000002 T...