grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2017年10月9日月曜日

Convolutional Neural Networksのコース

Deep Learningのなかでも、特にGANなどの画像生成の技術に興味があるのですが、その一歩手前としてConvolutional Neural Networks(CNN)も勉強してみようかと、いろいろ探していました。CourseraのDeep Learningのコース4であるConvolutional Neural Networksはまだ開講していないため、もうしばらく待たないといけません(以下)。

Courseraと同様に、UdacityのDeep Learningコースもまだwaiting listのようです(かなり人気あるのかも)。
ほかにも、fast.aiでも無料でCNNの授業はあるようです。一見よさそうなのですが、AWS(有料)を使うようで登録やセッティングがめんどくさそうです。


あとは、前から気になっていたUdemyのDeep Learning: GANs and Variational Autoencodersと同じシリーズのDeep Learning: Convolutional Neural Networks in Pythonというコースです。

GANのコースはあまりないので(fast.aiにはある)、この↑のGANのコースをいずれは受講したいと思っているので、割引価格で1200円(書籍を買うよりも安い)だし、試しにどんなものかということも含めてCNNコースを受講してみることにしました。

Udemy: Deep Learning: Convolutional Neural Networks in Python
このコースでは、TheanoTensorflowの二種類異なる方法でコーディングするようです。Theanoは使ったことはないですがそれぞれメリット/デメリットがあるようで、この他のライブラリも含めどれがいいのかはほとんど好みという感じかもしれません。ただし、Theanoは次の1.0(現在0.9.0)をもって開発終了らしいです(原文)。


このコースの特長としては、試験や課題というものはありません。当然期限もありません。専用の質疑応答のフォーラムはあるので、有料の動画コンテンツ(英語)と質問応答の権利を購入するという感じです。授業で使うサンプルコードに関しては、このコースを受講していなくてもgithubからすぐに手に入ります。
授業内のアルゴリズムや数学的な説明は非常に端的で分かりやすいと思います。数分〜10分程度の動画が合計4時間分あります。ただ動画を眺めているだけではだめで、ノートをこまめにとるとか、コピペなど使わないでコードを書き、実際手を動かすことを強く勧めてきます。たしかにプログラミングの場合はそうしたほうが覚えが早くなります。
数学に関しては、他のコースでも言っていましたが、それほど深く理解しようとする必要はなくて、ライブラリの関数をどう使うのかということに慣れたほうがいいようです。このコースは理論の理解というよりも、コーディングに重点をおいているという感じです。しかし、いきなり本題に入るまえに、簡単なサンプルコードを試したり、いくつかの段階を経て、最後にはまとまったコードを書くということになります。このCNNのコースは上級者向けのようで、基本的なPythonプログラミング、機械学習の基礎は学んでおかなければいけません。たしかに、少し敷居が高そうです。このコース以外にも段階やジャンルに応じていくつかコースがあるので、内容に追いつけない場合は他のコースも同時にやったほうがいいのかもしれませんが、それだけお金がかかってしまいます。

最初のほうのCNNの説明は以下ようなステップになっています。

初心者にとっては、どのような手順で理解していけばいいのか分かりにくいので、このような段階的な説明があると理解しやすくなります。
Convolutionに関しては、まずはフィルターという概念で、Hello worldをしゃべる音源にエコーフィルターを加えるアルゴリズムを書いて実験するところから始まります。次に画像にぼかしフィルターを加えたサンプルで実験します。このへんは最初のエクササイズという感じです。このエクササイズを通して、変換された元データからConvolutionということを感覚的につかんでいきます。その後はこのフィルタリングされた画像をニューラルネットワークに入力して、CNNへと発展させていく感じです。
コーディングはTheanoとTensorflowの2種類用意してあり、もし普段からTensorflowを使っているのであれば、Theanoのコードは使わなくもいいと思います。
できるだけコピペしないで一通り書いてみました。コーディングすると、一行ずつ何をしているのかが分かるので、その分理解も深まります。Theanoのほうでもコーディングしてみると、二つの方法で書くので、さらに理解が深まる感じです。
CNNの大体のパターンはわかったのですが、まだ自力でコーディングはできないので、もう少し繰り返す必要がありそうです。もう少し慣れてくれば、コースに頼らなくても自力で他のサイトなど見ながら勉強していけそうです。

あとで気づいたのですが、CNNは上級者向けで、最も興味あるGANのコースは中級者向けなので、こちらのコースのほうを先にやってみてもよさそうです。

2017年10月4日水曜日

スタンフォード大:CNN for Computer Visionのレクチャー動画

CourseraのDeep Learningコース(コース1〜3)も終わってしまったので、次を探しているところです。興味あるのはConvolutional Neural Network(CNN)、そしてGenerative Adversarial Network(GAN)などのコンピュータービジョンや画像生成に関するアルゴリズムです。

いろいろ調べていると、スタンフォード大のCNNのシリーズレクチャーがありました(以下)。
この動画は今年(2017年)のもので、もうすでに第1回から16回まであります(1動画/約1時間:合計約16時間)。
CS231n: Convolutional Neural Networks for Visual Recognition
というスタンフォード大の授業の動画らしいです。
シラバスのページにはコースマテリアル(資料)のリンクもあり、これに従って一通りCNNについては勉強できそうです。今年の授業なので情報も最新だと思うし。
どうやらこの授業は、今年4/4から開始され、週2回のペース、途中に課題提出などもあり、6/12まで続いていたらしいです。週2回なので、かなりハイペースでやっていると思います。それにしても授業計画ならびにその内容がすごい。いまのアメリカの優れた大学はこんな感じなんですね。
このCNNコースを受講する前に、予備知識としてCS229:Machine Learning(Andrew Ng)を受講しておくといいと言ってますが、これはCourseraのMachine Learningコースの元となっている授業だと思います。
スタンフォード大学コンピューターサイエンス講義リストを見ると、CS230: Deep Learning(Andrew Ng)という授業があり、受講者はCourseraのDeep Learningコースを受けるようと書いてあります。どうやら、CS230の授業とCourseraの授業は同じようです。実際のCS230の授業では、トピックに合わせたさらなるレクチャー、ゲストレクチャーなどがあるようです。シラバスによると、CNNの授業は7週目の11/6からのようなので、それまでにはCourseraのConvolutional Neural Networksも開講するのではないでしょうか。ということであと一ヶ月くらい先という感じ。

追記:
このスタンフォード大学のCNNの動画をしばらく見てみましたが、初回だけFei-Fei Li先生の講義があって、その後はドクターの学生がスライドを見せながらCNNについて講義というか説明しています。教科書の内容をそのまま解説しているだけの授業という感じで、あまり頭に入ってきません。やはり、Andrew NG先生の教え方がいかに上手かというのが分かります。

2017年10月3日火曜日

Coursera: Deep Learning/ コース2、コース3終了

引き続きCourseraのDeep Learningコースのコース2と3を受講しました。

・コース2(3週間):Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
・コース3(2週間):Structuring Machine Learning Projects

コース2においてはRegularization、Dropout、Normalization、ハイパーパラメータの調整、Batch Normなど、けっこう細かなテクニックを学びました。ニューラルネットというよりも、メインのモデルをより効率的に計算していくスキルといった感じです。これもまた実践的な場面ではよく用いられているテクニックのようで、すべてを完璧に習得したというわけではないのですが、それぞれがどんなものなのかということがわかったし、ディープラーニングの世界で用いられているボキャブラリーが増えてよかったと思います。
コース2の後半では、いよいよTensorFlowを用いたプログラミング課題が登場してきました。このままTensorFlowでどんどんプログラミングしていくのかと思ったら、そうでもありませんでした。いままではNumpyだけを使いフルスクラッチでプログラミングしていたけれども、TensorFlowのようなライブラリを使えば一行で済みますよという程度の内容でした。そうこうしているうちにコース2も終わり最後のコース3に突入してしまいました。

コース3ではもうプログラミング課題はなくて、1週ずつ最後に15問のクイズがあるだけです。しかしそのクイズが実際の現場でのケーススタディという設定で、ディープラーニングをつかったシステムを構築している際のデータセットの扱い方や様々なエラーの対処法などに関する問題です。
たしかにこのコースは理論的というよりも実践的スキルと知識を身につけて、すぐにでもこの業界に就職できるかのような教え方をしています。
当初は、ディープラーニングを使った様々なアルゴリズムを習得できると想像していましたが、中心となるアルゴリズム(モデル)に対する細かなテクニック(コース2で学んだ内容)のほうがどちらかというと重要という感じです。あるモデルをつくっても、それが機能するようにするにはデータの扱い方や様々な調整/最適化が必要で、この辺はなかなか独学だと身につけにくい部分かと思います。そんな感じでコース3もあっという間に終わってしまいました。

 コース2の修了書。

コース3の修了書。

結局、現在開講されているDeep Learningコースの1~3を1週間の無料期間内に終わらせてしまいました。前回、受講したMachine Learningコースと重なっている部分もあったので、1〜2週間分を1日で終わらせたというペースです。特にコース1の前半とコース3はすぐに終わってしまうので(動画を見てクイズに答えるだけ)、実質コース1の後半とコース2を数日かけて勉強すればいいという感じです。個人的にはコース2が一番勉強になりました。
1週分約2時間の動画を手書きのノートでメモをとりながら見続けるという感じです。動画を見ているだけだと覚えが悪いので、ノートをとったほうがその後動画を見直す回数もかなり減って効率が上がります。ただ問題は、日本語字幕はまだ準備されていない部分がほとんどなので、英語で覚えないといけないというところでしょうか。
前回、約1ヶ月ほどかけて受講したMachine Leaningコース(11週)のほうが内容が濃かったような気もします。Deep Learningコースは1〜3まで合わせても9週しかないし、そもそも初心者向きでもあるため、それほど大変な内容になっているというわけでもないような気がします。Machine Leaningコースは次から次へと面白いアルゴリズムがでてきてその都度わくわくしましたが、Deep Learningコースはより実践的というか、普段データサイエンティストの人たちがどのようなこと(地味な作業も含めて)やっているのかというのがわかりました。
やはりおすすめは、Machine Learningコース(11週:無料)を受講して、従来の機械学習で基礎を学んでから、その延長というか最近の動向にあわせたDeep Learningコースを受講する順番がいいかと思います。Deep Learningコースも初心者向けなので、このコースから受講してもいいとは思いますが、細かい部分まではあまり丁寧に教えてくれないという感じです。

Deep Learningコース4は一番興味あるCNNなのですが、まだ開講していないので、しばらくは他のコースでもまたのぞいてみようかなと思ってします。

2017年10月1日日曜日

Coursera Deep Leaning Specialization: Course 1 終了

CourseraのMachine Learningコースが終わってしまったので、引き続きDeep Learningコースを受講することにしました。このコースは$49/月の有料コースですが、最初の1週間はお試しということで無料です。前回のMachine Learningコースが充実していたので、1週間すぎて有料になっても構わないと思い、とりあえず登録してみました。


Deep Learning Specializationというコースで、大きくは以下のコースで構成されています。

・コース1(4週):Neural Network and Deep Learning
・コース2(3週):Improving Neural Networks: Hyperparameter tuning, Regularization and Optimization
・コース3(2週):Structuring Machine Learning Projects
・コース4(未定):Convolutional Neural Networks
・コース5(未定):Sequence Models

特に興味があるのがコース4のCNNですが、まだコース4と5は開講していません(そろそろ開講するらしいですが)。コース単体での受講もできるようですが、せっかくなので順を追って受講し、コース4までは到達したいと思っています。

UdemyのGANコース:
しかしながら、同時にUdemyの以下のGANのコースも気になっています。こちらも有料(1200円/割引価格)のコースです。
個人的にGANを使った画像生成に興味があるので、このコースを受講してみたいのですが、まだまだDeep Learningの知識やスキルも追いつかないと思うので、CourseraのDeep Learningコースが終わったら、このGANのコースも受講してみようかと考えています。

以前から独学で機械学習を学んでいたけれども、このようなオンラインコースを受講したほうが理解が早いということが、前回のCoursera Machine Learningコースで分かったので、興味あるコースをいろいろ調べています。書籍で勉強してもいいのですが、書籍だとおそらく途中で投げ出してしまいそうなのと、こういった専門領域の書籍は値段的に結構高いので、必要以上に書籍は購入しないようにしました。情報的な内容に関しては、論文なども含めてかなりネットからも入手できるし、わざわざ専門書を買うまでもないかと。それとこのようなコースだと知識だけでなく、プログラミングの課題もあるので、理解というよりも実践的なスキルが身につくような気がします。


Coursera コース1(4週):Neural Network and Deep Learningを開始
ということで、早速Courseraのこのコースを開始してみました。Week1は概要やこのコース自体の説明などで、特にプログラミングするなどの技術的なことはしませんでした。前回受講したMachine Learningコースとも内容が重なる部分もあるので、さらっと聞き流す感じでも大丈夫でした。同じように動画途中でのミニクイズがあり、Week最後にあるクイズは前回のコースでは5問でしたが10問(8問以上正解で合格)に増えていました。このクイズが結構難しくて、というのも英語なのでよく読まないとすぐに間違ってしまいます。前回のコースでも何回もやり直しました。
Week2からようやく実際的な内容に入っていくわけですが、前回のMachine Learningコースで学んだ内容と重なっている部分も多いという感じです。
ただ今回のコースはPython(Jupyter Notebook)、Numpyを使うので、それに合うアルゴリズムになっているのか微妙に違います。個人的には、Numpyよりも前回使っていたOctave言語のほうがシンプルで分かりやすいという印象でしたが、Numpyにも慣れるという意味で前回の復習も兼ねてすすめてみました。前回のコースのおかげか、Week2まではあっさり終わってしまい、残すところWeek3とWeek4だけです。
Week3からより本格的にニューラルネットワークの勉強です。それと同時にNumpyに則した行列計算方法や偏微分の説明が何回も出てきます。Week最後のプログラミング課題はブラウザ上でJupyter Notebookを使うので、以前のコースよりも便利になったという感じです。相変わらず数行を穴埋めしていく課題なので難しくないのですが、PythonやNumpyには慣れていないと記述の仕方がわかならくなるときもあります。そうやってNumpyにも慣れていきつつ、Week4に入ってしまいました。
この週で最後、複数のレイヤーを持つニューラルネットワークの実装です。相変わらずバックプロパゲーションは面倒で、前回のコースでもやったので原理は分かるのですが、複数層に対応できる一般化した式をいざNumpyで実装となるとけっこう大変でした。前回のコースでもフォワードプロパゲーションとバックプロパゲーションを復習しておきたいと思っていたので、今回Numpyで試してみてまたさらに理解が深まったという感じです。
Week4の最後のプログラミング課題は、一旦計算した値をキャッシュに記憶させておいたり、連想配列のようなディクショナリに変数を登録しておいたりというテクニックを多用しているので、このへんが慣れなくてForumを覗いてなんとか実装することができました。Numpyにおける、forループを使わない行列計算の方法、ブロードキャストなども慣れていないので、Deep Learningの内容というよりはNumpyについてももう少し勉強が必要という感じです。


コース1(4週):Neural Network and Deep Learning終了
無料期間(1週間)ということで試しに受講してみましたが、3日くらいで終わってしまいました。前回のMachine Learningコースを受講していれば、Week1と2は聞き流す程度でもいいと思います。実質、Week3とWeek4をやればいいのかもしれません(それぞれ1日ずつ)。
成績は94.4%です。プログラミング課題はすべて100%で提出しましたが、クイズ(10問中8問正解で合格)のやり直しはせず、そのままどんどん先に進んで行った結果です。もう少し理解を確実にするために復習は必要だと思いますが、次のコース2も受講し始めてしまいました。早くCNNやGANまで進みたいため急ぎがちになってしまいますが、そもそも機械学習やDeep Learning自体が面白いのでついつい次へと進んでしまいます。


受講してみての感想:
このコースは初心者向きらしく、その分前回のMachine Learningコースを受講した人にとっては物足りないかもしれません。コース5まである最初のコースなので基礎的内容が多く仕方ないのかもしれませんが、その後に控えているコース2〜5に期待したいところです。
個人的には、前回のMachine Learningコースがあまりにもよかったことから結構期待していたのですが、前回ほどすごいという印象ではありませんでした。教え方も前回のほうが丁寧だったような気がします。しかし、それは機械学習(従来の方法)とDeep Learning(最近の方法)という範疇の違いから、そうなるのかもしれません。初心者向けなので機械学習に通じる基本を一通りおさらいしつつ、すぐにDeep Learningに入っていくという感じなのかもしれません。たしかにどんどん複雑になっていくので、基本にばかり時間をさいていてもダメなのかもしれません。
ただし、実践力を身につけるという方向性は変わってはいないと思うので、すぐにも役立ちそうなスキルをどんどん教えてくれると思います。
日本語環境はまだそれほど整っていないので、英語に抵抗がある人にはきついかもしれません。しかし数式やソースコードが読めれば、英語が多少分からなくてもなんとかなるとは思います。

コースの修了書を受け取るためには本人確認書類をCourseraに送付しなければいけません。日本語で記載されている運転免許証の画像を送ったのですが大丈夫でした。一晩たってから、このコース修了書が送られてきました(実際は名前も記載されています)。無料期間でも修了書を発行してくれるようです。

続き:
Coursera: Deep Learning/ コース2、コース3終了

2017年9月29日金曜日

Raspberry Pi Zero Wのリチウムポリマーバッテリー化(その2)

Courseraの機械学習コースも終わったので、中断していたRaspberry Pi Zero Wのリチウムポリマーバッテリー搭載の作業の再開です(前回までの様子はこちら)。

Raspberry Pi Zero Wは小型で便利なのですが、スタンドアロンのWifiカメラとして使用する際に、既存のモバイルバッテリーだとちょうどいいものがないので、できるだけZero Wのサイズにフィットした電源供給方法を既存の部品などの流用でつくれないかという試みです。まだ試作段階なので、仕上がりなどは中途半端です。

部品類:
・アクリル板:67x30mm、2mm厚(Zero Wのサイズは65x30mm)
・電源用スイッチ(ON/OFF)
・リチウム充放電回路(出力:5V、入力:5V/MicroUSB)
・リチウムポリマーバッテリー:48x30mm、8mm厚、3.7V/1200mAh
・その他、M2.6、M2ネジ、赤黒ワイヤ、ポゴピン


電源供給端子:
まずは、Zero Wのどの端子に電源供給するか?という部分からスタート。以前も書きましたが、

上画像のPP1とPP6(Zero基板には端子番号がプリントされているようですが、Zero Wだとプリントされていない)に5Vを接続することにしました。この端子、PP1(5V)、PP6(GND)は、電源供給用のMicroUSBと直結しているようなので、ここに5Vを接続。直接ハンダづけしてもいいのですが、前回書いたようにポゴピンを接点にしました。
スイッチの中央の端子にポゴピンをハンダづけしています。スイッチは秋月で購入した表面実装用の小型なもので、足の部分を折り曲げてまっすぐにしています。これはZero WにおけるGND側の端子となります。そして、これをアクリル板をベースにして以下のようにとりつけます。
アクリル板にポゴピンと同じ径の穴を開け(段差もついているので2段穴)、差し込みます。そのままだと抜けるので瞬間接着剤で固定。手前のポゴピン(GND:Zero WのPP6端子へ)がスイッチと直結、奥のポゴピン(5V:Zero WのPP1端子へ)は赤ワイヤとハンダづけしてあり充放電回路につながっています。
ポゴピンの直径は1.5mm(アクリル板の貫通穴)、見えている電気接点となる先端が丸い部分は直径1mm、全体の高さが3mmと非常に小さいので作業も大変です。
AliExpress.com Product - 10pcs Ultra small spring loaded pogo pin Diameter 2.3mm 3.0mm heigth brass material with Gold plated 1u 10個セットで344円(送料無料)


リチウム充放電回路:
一番悩んだのが、リチウム充放電回路です。今回は5V電源を供給するため、充放電回路に昇圧回路も内蔵しているものを探しました。Zero Wは3.3Vで動作するためGPIOピンに3.3Vを接続すれば動くようですが、5V電源も取れるようにということで5Vにしました。回路で昇圧して降圧するのでその分ロスが大きくなりますが、今回は5V入力の方向で。

条件としては、
・USB5Vで充電可能(できればMicroUSB端子つき)
・5V出力(昇圧回路つき)
・充電と放電が同時にできるもの
・できるだけ小型

以下は、前回試してみた充放電回路です。
左から、
・AliExpressで売っている昇圧充電回路(300円前後)
・アマゾンでも購入可能なTP4056搭載の回路(安い:100円前後)
・Wemos Battery Shield(AliExpressで200円前後)
・18650モバイルバッテリー内の回路流用(安い:AiExpressで100円程度)
上記各回路については前回参照。


上記以外にもいくつか試しに購入してみた結果、以下の回路が上の条件を満たしていたので採用。
AliExpress.com Product - 5V Lithium Battery Charger Step Up Protection Board Boost Power Module Micro USB Li-Po Li-ion 18650 For Power Bank DIY New XQ148円(送料込み)、サイズ:22x18x11mm
おそらくこれは18650モバイルバッテリーなどに内蔵されている回路だと思います。上画像上部に見えるのがMicroUSBソケット(メス)、ここからUSB経由で充電(5V入力)。基板真ん中付近のOUT-とOUT+端子が5V出力。ここをZero Wの電源端子へスイッチを介して接続。通常のUSBソケット(メス)を搭載できるような基板になっていますが、送られてきたものは、この画像にある通りUSBソケット(メス)はついていません。どうせ使わないので、このままのほうがいい。さらに基板下の左端とやや中央に見える穴がリチウムバッテリーと接続する端子。

配線図:ポゴピンはZERO Wの両端子の位置に取り付けます。
ただし、以前購入した18650モバイルバッテリー(100円程度)は、充電と放電が切り替え式になっており、充電しながらの電源供給ができないというタイプもたまにあるので注意。あるいは、充電中(5V入力)は5V出力するけれども、USB充電接続を外すとバッテリーからの出力に切り替わるため、昇圧回路が内蔵されていないものだと3.7V出力になってしまうものなどもあります。自分で充放電回路をつくったほうがいいかもしれないと思いましたが、面倒なのでいろいろ探しているうちに今回の回路(しかも安い)が見つかったというわけです。

この充放電回路は比較的小型なのですが、厚みが意外にあります。横からみると分かるのですが、基板の両面に部品が載っています。特にMicroUSBソケット(メス)が上面左にあり、コイルが下面右にあるため、全体的に厚くなってしまいます。そのため、以下のようにアクリル板にコイルの部分が埋没するように穴(直径6mm)をあけてなんとか厚さをを吸収しました。
それでも、コイル以外の部品ものっているので、スペーサーをいれて少し浮かせています。幸い固定用の穴も回路上についているので、アクリル板にネジ穴を切ってM2ネジで固定しました。ネジ固定されたので、充電の際のMicroUSBの抜き差しにも耐えられるでしょう。ちなみに、アクリル板とZero WはM2.6ネジで四隅を固定します。ナットは使用せず、タップでアクリル板にネジ穴を開けています。

バッテリー:回路の大きさによってバッテリーの大きさも左右されてしまうのですが、最低でも1000mAhのバッテリーという条件にして探してみました。30mm幅で厚みが8mmになるといくつかあり、今回は長さ48mmで1200mAhを使うことにしました。8mmも厚みがありますが、充放電回路もそこそこ厚みがあるので大丈夫でしょう。逆に薄さを優先するとバッテリー容量も減ってしまうので、このくらいがちょうどよさそうです。
AliExpress.com Product - Liter energy battery 3.7V lithium polymer battery 803048 1200MAH GPS navigator PSP game sound card1111円(送料込み)、保護回路つき。AliExpressでもリチウムポリマー電池はそれほど安くもないのですが、日本よりは安いかと。しかし、送られてきたのはTurkey Postからでした。最近バッテリーなどはトルコで生産しているのでしょうか?

全体的にはこのような厚み。バッテリー上面からZero WのHDMI端子までの厚さで15mmあります。バッテリーは両面テープで仮止めしています。さらに、これを全体的に覆うようなケースもあるといいかもしれません。いまのところGPIOピンは取り付けていないのですが(主にWifiカメラだけの使用を前提)、取り付けると更に厚みが増すので、もし使う場合はその部分もポゴピンにしてしまおうかと思っています。

ちなみにカメラをつなぐとこんな感じ。カメラを起動してもエラーがでるので、なんでだろうと思ったら、実はカメラの向きが逆でした。以下がこのカメラ(V1)に対しての正しい向き。ちなみにもう一つ持っている暗視カメラのほうは、この↑向きと同じ。カメラによって向きが異なる点も注意が必要です。
AliExpress.com Product - Free Shipping raspberry pi camera 5mp pixels RASPBERRY PI CAMERA739円(送料無料)、これは5メガピクセルのV1カメラです。フラットケーブルコネクタが基板背面についています。ちなみに最新のV2カメラは8メガピクセルにスペックアップしています。スペックの違いはここを参照
AliExpress.com Product - Raspberry Pi 2 Camera module 5MP OV5647 Night Vision Camera + 2pcs Sensitive infrared light compatible For Raspberry pi 3 camera2254円(送料無料)、こちらが暗視カメラです。5メガピクセル。カメラ両サイドに脱着可能な赤外線LED照明がついてます。このカメラの場合はフラットケーブルコネクタが基板上面についているので、先程のV1カメラとは向きが逆になります。

カメラは固定していないので、やや宙に浮いています。おそらく、上下にもう一枚ずつアクリル板などを重ねて、カメラの固定とバッテリー保護を兼ねてケース化するとよさそうです。右側に緑のLEDが光っているのが確認できると思いますが、とりあえずこの状態で動作確認できました。VNC経由でパソコンからもカメラ起動できましたが、何時間持つのかはまだ計測していないのでわかりません。確かWifiにつないでいる状態でも200mAくらいだったので数時間は持つかと。ただし、長期的な安定性などはまだきちんと検証していないので、その辺の問題はこれからでてくるかもしれません(今回使用した充放電回路もどの程度信用できるかわからないので)。


今回単にスイッチがついただけでも便利になりました。あとは、カメラとの一体化も含めた全体的なケースの制作です。
追記: その後、Aliexpressで以下のようなバッテリー(2086円、送料込み)を見つけました。 AliExpress.com Product - Raspberry Pi Zero 0 W UPS power Expansion board, integrated serial port, power detection



関連:Raspberry Pi Zero Wを購入Raspberry Pi Zero W:IPカメラ実験(Picamera)

人気の投稿