防犯カメラの選び方 CMOSの画素数だけに惑わされないために

[`evernote` not found]
LINEで送る
Pocket

防犯カメラを選ぶ際に検索してみると、
200万画素はザラで500万画素なんてのもよく見かけるようになりました。

でも、価格はバラバラですよね?
200万画素のほうが何故か500万画素よりも高いものなんてのもよく見かけます。

画質を決定するものにCMOSサイズが重要です。
カメラの詳細を見ると
「1/2.8″ SONY CMOS IMX323」
みたいにcmosの前に分数で1/2.8″というようにサイズが表記してあるものがあります。
これがcmosサイズになります。

※レンズサイズと混同しないようご注意。レンズは2.8mmや3.6mmなどと表示されており混同しやすいです。
わからない場合には販売店に問い合わせて確認しましょう

高級なカメラ、ミラーレスや一眼レフなどでとても高価なものには
cmos 1/1 が使用されている場合もございますが、
価格を安くするために、ここを何分の1かにしてコストを下げているのです

つまり、cmosサイズが大きいほど画質は向上します。
(価格も上がります)
なので、同じ画素数でカメラを探す場合には、cmosサイズが大きいものを選択することを
お勧めします。

今まで、高画質なものを選んできたのに、同じ画素数のはずなのに
なぜか画質がカメラ毎に違うんだろう?
と感じていた場合、
cmosサイズcmosメーカー名を確認してみてください。

防犯カメラにも高画質の波がきており、比較的廉価の部類でもCMOSサイズが
1/1.8〜1/4
の広い範囲で選べるようになってきています。

cmosメーカーも画質に影響します。

sonyが一番価格は高いですが、低照度で赤外線無しでカラー撮影ができたりと
画質にこだわる場合には一番お勧めです

画質よりも価格という場合には、OV(米OmniVision)やAptinaというところでしょうか。

Raspberry Piを触ったことがある方も多いかとおもうのですが、
専用のカメラの表記には800万画素や500万画素となっているのに、
撮影すると思ったより画質がよくない
と思ったことありませんか?

それは、価格を抑えるためにRaspberry Pi用カメラのcmosは
1/4サイズ
だからです。けっこう小さいです。

なので、同じ800万画素と表記されていても一眼レフのほうが
綺麗にとれたりするのはこのためです。
500万画素の防犯カメラのほうが綺麗にとれるということも普通にあると思います。

簡単にご紹介しましたが、防犯カメラを選ぶ際に
CMOSサイズ
CMOSメーカー名
を確認してみましょう。

[`evernote` not found]
LINEで送る
Pocket

アルコールセンサー MQ-3 と Arduinoで呼気中と血中アルコール濃度(BAC)測定 スケッチコード付

[`evernote` not found]
LINEで送る
Pocket

アルコールセンサー MQ-3 と Arduinoで呼気中と血中のアルコール濃度(BAC:blood alcohol concentration)測定をしてみた。

といってもDatasheetの[Rs/R0]/[mg/L]両対数グラフから近似式を手計算で算出して
変換しただけなので、実際の値とどれくらい近いのかは不明。
参考したURLのページでは、回帰分析しているんですが、いまいちな結果だったので、
今回の手計算で求めた近似式にしてみました。

なので、必ず、ご自分で確認をしてください。

ダイソーで買ってきたアルコールウェトテッシュ近づけると
値を出しましたが、近いかどうか誰か検証したら教えてね。

使用したモジュールはこちらのMQ-3モジュール

まず、キャリブレーションのためにR0値を測定する
スケッチは下記。ここで計算されるR0値はメモっておきましょう。

// キャリブレーションのためにR0を計測する
// MQ-3 Pin1 VCC → Arduino 5V
// MQ-3 Pin2 GND → Arduino GND 
// MQ-3 Pin3 DOUT:アルコール検出でHIGH出力する  → 今回は不使用
// MQ-3 Pin4 AOUT:アルコールレベルのアナログ出力 → Arduino A0
// Wind Abaft Co., Ltd.

void setup()
{
   Serial.begin(9600);
}

void loop()
{
    float sensor_volt;
    float RS; // 空気中のRS値
    float R0; // アルコール中のR0値
    float sensorValue;

    for(int i = 0 ; i < 100 ; i++)
    {
        sensorValue = sensorValue + analogRead(A0);
    }

    sensorValue = sensorValue/100.0;     //平均値の算出
    sensor_volt = (sensorValue/1024)*5.0;  //ArduinoのPWMは10ビット1024
    RS = (5.0-sensor_volt)/sensor_volt; // 省略 RL
    R0 = RS/60.0; // きれいな空気中のRS/R0=60
    Serial.print("R0 = ");
    Serial.println(R0);
    delay(1000);

}

まず呼気中のアルコール濃度を求めるのに、下記グラフから手計算で下記の近似式を作った。
検算していないので間違っているかも。

BAC(呼気中のアルコール濃度[mg/L]) = pow(10,-1*(((log10(ratio))+0.2391)/0.6008))

MQ-3 アルコール濃度両対数グラフ
MQ-3 アルコール濃度両対数グラフ

この式と先ほど求めたR0値をもとに呼気中アルコール濃度算出する。
一般的に,呼気中アルコール濃度[mg/L] : BAC[mg/ml] = 1:2
とのことなので、それを元に2倍してBAC[mg/ml]出した。

先ほどの測定で得た
R0値
を、下記に代入してみてください

// キャリブレーションのために測定したR0の値を利用する
// MQ-3 Pin1 VCC → Arduino 5V
// MQ-3 Pin2 GND → Arduino GND 
// MQ-3 Pin3 DOUT:アルコール検出でHIGH出力する  → 今回は不使用
// MQ-3 Pin4 AOUT:アルコールレベルのアナログ出力 → Arduino A0
// Wind Abaft Co., Ltd. Fumiyoshi.Yotsugi

#include <math.h>
void setup() 
{
    Serial.begin(9600);
}

void loop() 
{
    float sensor_volt;
    float RS_gas; // 測定対象のガス中のRS値
    double ratio; // RS_gas/RS_air 空気中のRS割合
    double BAC;
    int sensorValue = analogRead(A0);
    sensor_volt=(float)sensorValue/1024*5.0;
    RS_gas = (5.0-sensor_volt)/sensor_volt; // 省略 *RL

   /*- "R0" を先ほど計測した値に置き換えてください -*/
    ratio = RS_gas/R0;  // ratio = RS/R0   
    BAC = pow(10,-1*(((log10(ratio))+0.2391)/0.6008));  // mg/L中のBAC
    Serial.print("呼気中BAC[mg/L] = ");
    Serial.println(BAC); // 呼気中のアルコール濃度[mg/L]
    Serial.print("\n");
    Serial.print("血中BAC[mg/ml] = ");
    Serial.println(BAC*2);  // 血液内のアルコール濃度[mg/ml]に変換(1:2)
    Serial.print("\n\n");
    delay(1000);
}

ちなみに本モジュールはアルコールに反応して(アルコール濃度が閾値をこすと)、
D3 Pin (D Out)がhighを出力して、モジュール裏面のチップLEDが点灯します。

上記の私の式だと0.01[mg/L]で、モジュール裏面のチップLEDが点灯してしまうので
敏感すぎるかなーという感じですね。
より更正していく必要がありそうです。

参考:https://www.teachmemicro.com/mq-3-alcohol-sensor/
データシート:https://www.sparkfun.com/datasheets/Sensors/MQ-3.pdf

アルコール濃度の運転技能へ与える影響は下記だそうです。

悪影響を与える運転技能 血中アルコール濃度
(mg/mL)
呼気中アルコール濃度
(mg/L)
注意の集中 0.05 [0.025]
反応時間 0.2 [0.1]
追跡技能 0.2 [0.1]
多方面への注意 0.2 [0.1]
ハンドル操作 0.3 [0.15]
視覚機能(視線の固定が困難) 0.4 [0.2]
規則遵守 0.5 [0.25]

出典元:https://www.asahibeer.co.jp/csr/tekisei/drink_drive/effect.html

ちなみに法定の酒気帯び基準は下記(参照:警察庁
呼気中アルコール濃度0.15[mg/L]以上からアウトだそうです。

酒酔い運転

(「酒酔い」とは、「アルコールの影響により車両等の正常な運転ができない状態」をいう。)

  • 基礎点数35点
    免許取消し 欠格期間3年(※)

酒気帯び運転

  • 呼気中アルコール濃度0.15mg/l 以上 0.25mg/l 未満
    基礎点数13点
    免許停止 期間90日(※)
  • 呼気中アルコール濃度0.25mg/l以上
    基礎点数25点
    免許取消し 欠格期間2年(※)
[`evernote` not found]
LINEで送る
Pocket

ダストセンサー DSM501AでPM1.0 と PM2.5 の測定してみた Arduino スケッチコード付

[`evernote` not found]
LINEで送る
Pocket

ダストセンサーDSM501AでPM1.0(以上の)粒子数カウントしてみた

PM1.0を計測できるのか?と思いきや
PM1.0以上のサイズの粒子をカウントできるよというもののようだ。

PWM出力されるパルスを30秒間計測して、その中でLOWパルス幅の全体に占める比率から
粒子数を出すというもの。

もちろん、データシートにメーカー側が
「Lowパルス幅の占有率に対する粒子数」
のグラフを用意してくれているので、そのグラフを元に粒子数出してる。
(合っているのか?)

とりあえず、いろんな所で計測してみて、自分でも
この値からは空気が悪そうだというデータをとったほうが良さそうな気もする。

ピン配置は下記で左からPin1~Pin5

Pin1: コントロール(Vout1用のコントロール)
Pin2: Vout2 (PM1.0以上計測用)
Pin3: VCC
Pin4: Vout1  (PM2.5以上計測用)
Pin5: GND

以下が今回使ったArduino用スケッチコード

// DSM501A Pin3 → Arduino 5V
// DSM501A Pin5 → Arduino GND
// PM1.0以上を計測したい場合:DSM501A Pin2 → Arduino D8
// PM2.5以上を計測したい場合:DSM501A Pin4 → Arduino D8
// Wind Abaft Co., Ltd.

#include<string.h>
byte buff[2];
int pin = 8;//DSM501A input D8
unsigned long duration;
unsigned long starttime;
unsigned long endtime;
unsigned long sampletime_ms = 30000; // データシートの計測方法が30秒のため
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
 
int i=0;
void setup()
{
  Serial.begin(9600);
  pinMode(8,INPUT);
  starttime = millis(); 
}
void loop()
{
  duration = pulseIn(pin, LOW);
  lowpulseoccupancy += duration;
  endtime = millis();
  if ((endtime-starttime) > sampletime_ms)
  {
    ratio = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // データシートのグラフ参照
    Serial.print("lowパルス幅(30秒間):");
    Serial.print(lowpulseoccupancy);
    Serial.print("    Lowパルス幅の占有率[%]:");
    Serial.print(ratio);
    Serial.print("    DSM501A計測粒子数[pcs/283ml]:");
    Serial.println(concentration);
    lowpulseoccupancy = 0;
    starttime = millis();
  } 
}

 

[`evernote` not found]
LINEで送る
Pocket

中華USBシリアル変換ドライバ CH340, CH340G のアンインストール(uninstall)方法

[`evernote` not found]
LINEで送る
Pocket

激安のArduino互換機に搭載されている事が多い
CH340, CH340Gといった中国製USBシリアル変換ICを使用するには
専用のドライバーを別途インストールする必要があります。

しかし、MacではOSのバージョンによってはカーネルパニックを起こしたり、
インストールするしても認識しないなどの不具合が起ります。

それで、アンインストールしたいけど、アンインストールどうやってやるのと言う人多いと思うので
ここに書いておきますので、ご参考にして貰えればと思います。

1. MACのターミナル開く(黒い画面アイコンのやつ)
2. 下記コマンドを入力する

※V1.0 ~ V1.3などの古いドライバー向けが一つ目のコマンドで、最近のものは二つ目のコマンドが対応という感じです。

sudo rm -rf /System/Library/Extensions/usb.kext
sudo rm -rf /Library/Extensions/usbserial.kext

ドライバーのバージョンの新旧で保存場所が変わったため、上記のようになっています。

 

ちなみにMacにArduino等を接続した際に認識しているのかを確認する方法
ターミナルで

ls -l /dev/tty.*

を実行してみましょう。
USBポートに接続されている機器の名前が表示されます。Arduinoだと下記のような感じの名前が表示される
例:/dev/tty.usbmodem1421

マウスなどの他に接続しているUSB機器の名前も表示されるので間違わないように。

[`evernote` not found]
LINEで送る
Pocket

RaspberryPi3で3G接続してみよう!SORACOM Air 編

[`evernote` not found]
LINEで送る
Pocket

まず、ソラコムにてアカウント作成してユーザーコンソールにてSIM登録をします。
※クレジットカードの登録が必須だよ!

そして今度は3G接続するためのUSBドングルにSIMカードをセットします。
今回はソラコム推奨のABIT AK-020を使用しての方法を説明します。
ちなみにnanoSIMを使用します。

まず、カードにnanoSIMがついているので外します。

USBドングルは標準サイズのSIMが対応なので、サイズ変換アダプタを写真のようにnanoSIMにはめて
USBドングルに挿入します。

そして、このUSBドングルをRaspberryPi3のUSBポートに接続(でかいので隣のポート塞いじゃう。。)
とりあえず、アップデートを念のためにしておきましょう。
※アップデートが大量にあった場合には、終了後に再起動しておきましょう

sudo apt-get update
sudo apt-get upgrade

SORACOM Airに必要な2つのパッケージをインストールします

sudo apt-get install -y usb-modeswitch wvdial

3G接続用スクリプトをSORACOMのサイトからダウンロードします
下記はpiユーザーでダウンロードしたため、ダウンロード後にusrフォルダに移動させています

curl -O http://soracom-files.s3.amazonaws.com/connect_air.sh
chmod 755 connect_air.sh
sudo mv connect_air.sh /usr/local/sbin/

接続プログラムを実行

sudo /usr/local/sbin/connect_air.sh

接続できているようなメッセージがコンソールにでるので、ソラコムのユーザーコンソールを見てみると

「オンライン」になっています。

ためしにRaspberryPiでソラコムのウェブサイトを閲覧してみると

このようにソラコムのユーザーコンソール上の通信料が更新されました。

ちなみにソラコムのWEBサイトにアクセスして、全表示する前に閉じたんですが、3MB11円くらいになりました。

3G接続を停止したいときは下記のキーを押してプログラムを終了させる

[CTRL]+[C]キーで、connect_air.shのプログラムを終了

そうすると、ソラコムのユーザーコンソールも下記のように「オフライン」になります。

どうでしたでしょうか?

ものの数分でRaspberryPiで3G接続ができるようになりましたね!

 

[`evernote` not found]
LINEで送る
Pocket

AIスピーカーをRaspberryPiで作ってみよう!準備編1

[`evernote` not found]
LINEで送る
Pocket

まず、下記を用意
1. RaspberryPi3(element14 製を使用しましたがRS製でもほぼ同じ)
2. MicroUSBケーブル(RaspberryPiとUSB ACアダプタを繋ぐ)
3. USB ACアダプタ(RaspberryPiへの5V電源供給)
4. USBキーボード
5. USBマウス
6. スピーカー(ダイソーの300円USBスピーカーを使用しました)
7. マイク(ウェブカメラのマイクを使用しました)
8. HDMIケーブル
9. モニタ(HDMIが使用できるもの)

RaspberryPi3へのOS Raspbianのインストール方法は、ネット上にたくさんあるため
割愛させていただきます。

それでは、上記用意したものをRaspberryPiにセットし、電源ON(MicroUSBに電気を流す)
無事モニタに下記デスクトップ画面が表示されたら起動完了

まず、今回はスピーカーとマイクの動作確認をして、録音テストまで行います。
【スピーカー】
スピーカーが認識されているかをaplay -lで確認
カード番号0、デバイス番号0にスピーカーが認識されています。

pi@raspberrypi:~ $ aplay -l							
**** List of PLAYBACK Hardware Devices ****							
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]							
Subdevices: 8/8							
Subdevice #0: subdevice #0							
Subdevice #1: subdevice #1							
Subdevice #2: subdevice #2							
Subdevice #3: subdevice #3							
Subdevice #4: subdevice #4							
Subdevice #5: subdevice #5							
Subdevice #6: subdevice #6							
Subdevice #7: subdevice #7							
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC95	8/HD	MI]					
Subdevices: 1/1							
Subdevice #0: subdevice #0

次に音声を出して、音声確認をしてみましょう。フロントセンターと聞こえればOKです。

pi@raspberrypi:~ $ aplay /usr/share/sounds/alsa/Front_Center.wav							
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16	bit	Little	Endian,	Rate	48000	Hz,	Mono

【マイク】
マイクについては手持ちがなかったので、ウェブカメラに埋め込めれているマイクを流用します。
スピーカーが認識されているかをarecord -lで確認。
カード番号1、デバイス番号0にマイクが認識されています。

pi@raspberrypi:~ $ arecord -l							
**** List of CAPTURE Hardware Devices ****							
card 1: Camera [PC Camera], device 0: USB Audio [USB Audio]							
Subdevices: 1/1							
Subdevice #0: subdevice #0

ここで、音声を録音しようと

pi@raspberrypi:~ $ arecord test.wav							
arecord: main:788: audio open error: No such file or directory

としても、エラーになります。

【録音】下記のように録音(4秒)してみます

arecord -D plughw:(カード番号),(デバイス番号), -d (秒数) -f (サンプルフォーマット) (ファイル名)

pi@raspberrypi:~ $ arecord -D plughw:1,0 -d 4 -f cd test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

ちなみにarecordのオプションの意味は下記、他にもオプションがあるので、-hでヘルプを読んでください
【arecordのオプション(一部)】
-l : 全てのサウンドカードとオーディオデバイスの番号を表示する
-D : 使用するPCMを指定する
-d : 指定の秒数後に終了する
-f : サンプルフォーマットを指定する(下記は環境によって変わります)
-f cd (16bit little endian, 44100, streo)
-f cdr (16bit big endian, 44100, streo)
-f dat (16bit little endian, 48000, streo)
-h : ヘルプを表示する

【マイクボリューム調節】マイクのボリュームを必要に応じて調節します

まずは現状のマイク(シンプルコントロール名 ‘Mic’ )の設定音量を確認。
$ amixer -c 1 sget Mic
※(-c でカード番号を指定)

pi@raspberrypi:~ $ amixer sget Mic -c 1							
Simple mixer control 'Mic',0							
Capabilities: cvolume cvolume-joined cswitch cswitch-joined							
Capture channels: Mono							
Limits: Capture 0 - 3							
Mono: Capture 0 [0%] [30.00dB] [on]

0%になっていたので、60%へと変更してみる

$ amixer -c 1 sset Mic 60%

pi@raspberrypi:~ $ amixer -c 1 sset Mic 60%							
Simple mixer control 'Mic',0							
Capabilities: cvolume cvolume-joined cswitch cswitch-joined							
Capture channels: Mono							
Limits: Capture 0 - 3							
Mono: Capture 0 [67%] [50.00dB] [on]

となり67%になりました。

60%指定したのに67%になった理由は、今回使用したウェブカメラのマイクが4段階しかコントロールできないもののため、0%⇒33%⇒67%⇒100%のレベルでしか設定できない事が理由。

繰り上げで設定されるので、もし70%と指定したら100%に指定されます。

このように、”-c” でマイクのカード番号を指定して、 ”sset”でボリュームを調整します

ちなみに同じようにスピーカーも設定が可能です

スピーカー(シンプルコントロール名 ‘PCM’、カード番号0 )の音量を確認
$ amixer -c 0 sget PCM

スピーカー(シンプルコントロール名 ‘PCM’ )の音量を 50% に設定する
$ amixer -c 0 sset PCM 50%

ただ、スピーカーは下記を使うとGUIでキーの上下操作で簡単に音量調整できます

alsamixer //Escで設定が保存され、元の画面に戻ります

 

【マイクの音をそのままスピーカーから出力する】

arecord | aplay
ではエラーとなるので、下記を入力すると、ハウリングがでますが録音ファイルを作成せずに
マイクの音がそのままスピーカーより出力されます

arecord -f cd -D plughw:1 | aplay -D hw:0
※Ctrl+Cで終了します。

ちなみにplugをつけないと、モノラル音声は再生できないというようなエラーが発生します。
なのでリサンプリングを行う”plug”をデバイスの前につけて解消しましょう

plugをつけると指定のフォーマット、ビットレートになるよう自動でリサンプリング処理を行ってくれます。
ただ、ハウリングはけっこうひどかったりします。

[`evernote` not found]
LINEで送る
Pocket

Raspberry Pi3へのSSH設定、固定IP設定方法

[`evernote` not found]
LINEで送る
Pocket

2018年2月22日に最新だったRaspbianのOSイメージ、

2017-11-29-raspbian-stretch

を使用。Raspberry Pi3はelement14 製を使用。

下記SSH

【SSH】

1. SSHを使えるようにする
設定画面でSSHを許可する

sudo raspi-config

「5. Interfacing Options」->「P2 SSH」->「Enable: YES」

2.SSHで接続してみる
まず、DHCPで割り当てられているRaspberry Pi3のIPアドレスを確認

hostname -I

これで、IP addressがわかるので、それと下記を使ってターミナル(Mac)からアクセス、WindowsはTeraTerm使用
IP address:192.168.11.xxx
初期ユーザー名: pi
初期パスワード: raspberry
接続が確認できたらOK

【固定IP設定】
サーバーとして利用する場合、IPアドレスは固定だったほうが便利なので固定IPを設定します
また、raspbian-stretchからは/etc/dhcpcd.confに記述するようになったようです。
なので、/etc/network/interfacesには書かなくてOK

固定IP 192.168.11.111をeth0(有線LAN)に設定してみます

nano /etc/dhcpcd.conf

エディタはnano以外にviやvimなど慣れたものを使用してください。
dhcpcd.confの既に書かれているコードの該当箇所のコメント(#)外してIPアドレスを修正するだけ。

interface eth0
static ip_address=192.168.11.111/24 # IPアドレスとサブネットマスク(xxxに任意のIPを指定/24)
static routers=192.168.11.xxx # デフォルトゲートウェイ(自分が所属するネットワーク192.168.111のルータのIPアドレス、二重ルーターしている方は間違えないように)
static domain_name_servers=192.168.11.xxx 8.8.8.8 # DNSサーバ(ルータのIPアドレス、特別な事していない限り上記と同じ)

※”/24”という表記はサブネットマスクが255.255.255.0という意味
※domain_name_serversには複数のDNSサーバーが割り当てできるので、セカンダリにgoogleのPublicDNS 8.8.8.8を指定した

【参考】IPアドレスの後ろの /24 などの表記の意味
CIDR (Classless Inter-Domain Routing) というIPアドレスの表記で、
192.168.1.0/24
などのようにIPアドレスの最後に /24 というように表記する
意味は2進数で桁数32桁のIPアドレスの内、8桁(32-24)が割り当てられるということを表しています
11111111 11111111 11111111 00000000 ←/24
つまり255.255.255.0 のサブネットマスクという意味

ちなみに /25になると
255.255.255.128 のサブネットマスクという意味になる

【WiFiも固定IPにしたいとき】
デフォルトだとDHCPになっているwlan0を上記eth0と同じ方法で固定IPに設定ができます

interface wlan0 
static ip_address=192.168.11.111/24 
static routers=192.168.11.xxx
static domain_name_servers=192.168.11.xxx 8.8.8.8

各固定IP設定が終わったら再起動すれば反映されます

sudo shutdown -r now

再起動後に下記でまとめて確認できます。

ip addr

eth0、wlan0のinetに192.168.11.111と設定されていれば成功です。

[`evernote` not found]
LINEで送る
Pocket

Raspberry Pi3で写真を撮ってみよう

[`evernote` not found]
LINEで送る
Pocket

写真のようにカメラインターフェイスの白いフックを引き上げてそこに
カメラモジュールを差し込み、白いフックを引き下げ固定します。

このモジュールは中心のカメラレンズの上の四角いコネクタがあるほうが上になります。

とりあえず、写真がとれるか試してみましょう

sudo raspistill -o picture.jpg

エラーがでて撮影できなかった場合、
1. RaspberryPi側でカメラがOFFになっている
2. 接触不良
3. カメラモジュールとの相性問題
4. カメラモジュールの故障(LEDが付いているモジュールの場合、LED点灯していて、認識もされているがデータが送られてきませんというような表示が出たときには故障の可能性があります)

まず、Raspberry PiのカメラをONにします。

sudo raspi-config

ここで
5. Interfacing Options をEnter
⇒P1 Camera にEnter
⇒Enabled? にYES にEnter
これでカメラインターフェイスが使用できるようになったので、再度さきほどのコマンドを試してください。

【カメラの接続確認】

$ vcgencmd get_camera
supported=1 detected=1 //これが出れば接続OK

 

動画をh.264で撮影してみます。

raspivid -o video.h264

オプションで下記のように設定可能
-t : 撮影時間
-w : 解像度の幅
-h : 解像度の縦

raspivid -o video.h264 -t 5000 -w 640 -h 480

omxplayerというソフトをインストールして、さきほどのh.264形式の動画を再生してみましょう
インストール後にそのままomxplayer video.h264 で再生できます

sudo apt-get -y install omxplayer
omxplayer video.h264

 

[`evernote` not found]
LINEで送る
Pocket

なんと5ドルのRaspberry Pi Zero

[`evernote` not found]
LINEで送る
Pocket

2015年11月に5ドルで販売された “Raspberry Pi Zero”

いやーすごいですねー。

USD5 ですよ。

Raspberry Pi やRaspberry Pi 2と違って、
I/Oにはハンダ付けが必要ですが、それでもなかなかの出来です。

今はやりのIoTが安価に実現できます。

これで、より多くの方がハードウェア工作に足を踏み入れてくれたらとてもうれしいですね。

[`evernote` not found]
LINEで送る
Pocket