電子工作」カテゴリーアーカイブ

ここに電子工作関係のページを集めます。

NOOBS のインストール

QR2408

QR2408

NOOBS (New Out of Box Software) を使って Raspbian をインストールする方法を紹介する。

 

NOOBS とは?

NOOBS(New Out of Box Software) を利用することで1枚のSDカードで複数の OS をインストールし、利用することができる。

 

NOOBS のインストール

(1) SD カードの準備

SDカードをフォーマットし、NOOBS のファイルをコピーする。
(NOOBS の場合、ファイルのコピーだけなので OS イメージの書き込みに dd などのツールは不要です。)

SDカードのフォーマット

・Mac OS X の場合
SDカードをマウント後に、ディスクユーティリティで「MS-DOS(FAT)」フォーマットでSDカードを消去する。

・Mac OS X 以外の場合
以下の URL を参考にSDカードをフォーマットする。
https://github.com/raspberrypi/noobs/blob/master/README.md#how-to-format-an-sd-card-as-fat

 NOOBS ダウンロード

以下の URL から NOOBS の zip ファイルをダウンロードする。
今回は NOOBS (offline and network install) を選択した。

http://www.raspberrypi.org/downloads

SDカードの準備

ダウンロードした NOOBS の zip ファイルを展開して、展開したファイルをSDカードにコピーする。

 

(2) OS インストール

Raspberry Pi の電源を入れる前に、本体に SD カードを挿し、LAN ケーブル、HDMI ケーブルとディスプレイを接続する。次に、USB キーボード、マウスを接続し、最後に電源ケーブルを接続して起動する。

起動後に OS の選択画面が表示される。ここでは Raspbian を選択し、インストールする。

NOOBS: OS 選択画面

NOOBS: OS 選択画面

NOOBS: Raspbian インストール

NOOBS: Raspbian インストール

 

(3) Raspbian の起動

OS インストールが完了すると、Raspbian が起動する。
Raspbian が起動後は通常のインストールと同様に初期設定や各種設定を行う。

Raspberry Pi のインストール〜各種ログインまで

 

(4) NOOBS の起動

別の OS をインストールするには、OS 起動時に [Shift] キーを押下で NOOBS を起動する。

 

Raspberry Pi のカメラモジュールで写真や動画を撮影する

QR2315

QR2315

Raspberry Pi の Camera Board を使って写真や動画を撮影してみました。
コマンドで写真や動画を撮影できるので WiringPi と組み合わせるなどいろいろ応用ができそうです。

camera-module

カメラモジュール

 

カメラモジュール概要

Raspberry Pi HDカメラ

Raspberry PiモデルA又はBに最適の高精細ビデオカメラです。

Omnivision 5647センサ、焦点固定モジュールに内蔵
5メガピクセルセンサ
内蔵IRフィルタ
静止画像の解像度: 2592 x 1944
最大動画解像度: 1080 p
最大フレームレート: 30 fps
サイズ: 20 x 25 x 10 mm
フラットリボンケーブルによるRaspberry Piコンピュータボード上の15ピンMIPIカメラシリアルインターフェイス(CSI)コネクタS5への接続

Raspberry Pi のカメラモジュールはRSオンラインから購入できます。
http://jp.rs-online.com/web/p/video-modules/7757731/

 

カメラモジュールの接続

カメラモジュールは HDMI と Ethernetポートの間にあるコネクタに接続します。

コネクタの両側を指でつまんで持ち上げるとカバーを開くので、カメラモジュールのケーブルをコネクタに差し込みます。コネクタがささった状態でカバーを押し込むとケーブルとコネクタが固定されます。

カメラモジュールの向きやコネクタの取り扱い方は以下のページの動画が参考になります。
Camera | Raspberry Pi

connect-cameramodule

カメラモジュールの接続

 

準備

古いバージョンの Raspbian だとカメラモジュールを利用できないので Raspbian を最新版にアップデートします。

$ sudo apt-get update
$ sudo apt-get upgrade

 

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

カメラモジュールはデフォルトでオフになっているので、 raspi-config で機能を有効化します。

$ sudo raspi-config

Enable Camera -> Enable

カメラモジュールを有効にしたら raspi-config を完了して再起動します。

カメラモジュールを有効化すると raspistill や raspivid といったコマンドを利用できるようになります。

 

写真/動画のサンプル

画像

raspistill コマンドを使って画像(JPEG形式)を保存します。

$ raspistill -o image.jpg

動画

raspivid コマンドを使って動画(H264形式)を保存します。

$ raspivid -o video.h264

 

rpi-cameramodule-sample

ドアノブが映り込むくらい綺麗に写真が撮れました :-)

 

参考URL

 

Raspberry Nightly (6/16/2013-6/22/2013)

QR2214

QR2214

「Nightly といいつつWeeklyじゃん」、というご批判を甘受しつつ、今週も毎日の Raspberry ネタをあれこれと。

なお、今週木曜日は Raspberry Nightly Live! Take 2 開催です!

 

6/16/2013 (Sun)

Fritzing で回路図を描き始めたら止まらなくなってしまった ^^;

ブレッドボードレイアウト、回路図、プリント基板設計が同時にできるのは、楽しいし効率的。でも、回路図の書き方の細かいところとか、部品の追加方法とか、よくわかってないところも多数。

 

6/17/2013 (Mon)

「情報発発信リテラシー」という学部生向けの講義で Raspberry Pi のデモを行ってみました。また、NT金沢2013の宣伝もしてみました。NT金沢は、参加だけでなく、今からでも応募はできるので何かあればぜひ!とアピール。

車載Raspberry Piの電源系は、電源制御系の電源(ややこしい?)と、被制御機器の電源の2系統に分かれています。大元は同一のバッテリとセルモータですが。このうち、前者はエンジンのON/OFFや被制御機器の稼働状況を監視して、被制御機器の通電を管理しています。その目的は、駐車中の無人の車内では不要な機器への通電をカットすることと、そのための操作を自動化することです。で、この(電源制御系の)電源は今まで、過電圧対策をしいませんでした。理由は手元に適当な部品がなかったから。ですが、マルツでバリスタを入手できたので、当該電源系に前置してみました。

 

6/18/2013 (Tue)

ホームページ更新が追いついておらず、反省しきりの毎日。原稿作成が手を離れたので、ホームページ作成に注力。

ところで、木いちごの会にはいくつかのバリエーションがあります。

  • 木いちごの会 (きいちごのかい/Raspberry Party)
      • 一連の会の総称。
      • あるいはゼミ形式とかのわりときっちりした勉強会。
  • 木いちごの夜会 (きいちごのやかい/Raspberry Nightly)
    • 毎晩何かをする会。
    • 月に二回は五十川堂さんでみんなで情報をもちよってエスプレッソでオフ会。
  • 木いちごの茶会 (きいちごのちゃかい/Raspberry Tea Party)
    • 木いちごの会と木いちごの夜会の中間的な位置づけ。
    • お茶を飲みながら午後のひとときをRaspberryPi とともにまったりと。
  •  木いちごの屋台 (きいちごのやたい/Raspberry Stall)
    • 夏休みにあわせてRaspberryPiで何かをしてみせる屋台が登場するかも。
    • 乞うご期待!

 

 

6/19/2013 (Wed)

 

6/20/2013 (Thu)

 

6/21/2013 (Fri)

 

6/22/2013 (Sat)

 

 

Last update by hohno (6/18/2013)

 

 

Raspberry Nightly (6/9/2013-6/15/2013)

QR2197

QR2197

よく考えたら、毎日 Raspberry Pi関連の何らかの活動をするのと、それらについて毎夜何らかの方法でまとめるのと、それを毎夜新しい独立した投稿としてアップするのとは必ずしも同一じゃないと気づきました。当たり前だけど。

特に、大きなプロジェクトがなかなか終わらず、連日連夜とてもアクティブだけれど、やっていることはたとえば原稿の執筆と校正だけで、それが匍匐前進状態で、なおかつその内容については正式発表前なので、詳しくは触れられないというのなら、毎日の匍匐前進を独立した投稿にするよりは、1つの投稿に毎日少しずつ加筆してゆくというのもありかなと。

というわけで、先週は不本意ながらでしたが、今週は意図的に1本の投稿で1週間をカバーしてみます。

いったい何の原稿を書いていてそれがどういう形になるのかは、今月下旬には公表できます。公表可能になったら、以下の「原稿」の文字にはすべてリンクを貼りますね〜

6/9/2013(Sun)

ひきつづき原稿校正モード

といいつつも、職場に泊まり込みつつ、車載RaspberryPi の電源制御系に少し手を加えてみました。

ちなみに、先週後半から、車載RaspberryPiが稼働する様子を写真に撮ろうとして悪戦苦闘しています。あまり車外が明るいと室内がきれいに写らないが、外が真っ暗だと車内が暗すぎてスローシャッターになり、やはりきれいに写りません。だからといってストロボを使うと、これまたきれいに写らないので、自然光がちょうど良い時間を模索した結果、日没直後と日の出直前のそれぞれ20分間くらいがベストだということがわかりました。

というわけで、今日も18時すぎから準備して、19時少し前から撮影してみました。

ちなみにカメラは micro four-thirds の Lumix G1 (3年くらい前に、ほぼ新品のボディをヤフオクで19,800円で購入)。レンズは 8mm, 20mm, 14-140mm の3本。

6/10/2013(Mon)

ひきつづき原稿校正モード

夕刻に車載RaspberryPiの写真撮影を実施。

 

6/11/2013(Tue)

ひきつづき原稿校正モード

今日は、写真撮影はなし。原稿校正は継続。

6/12/2013(Wed)

ひきつづき原稿校正モード

早朝も早朝、午前5時前から職場にて、RaspberryPi本体やRaspberryPi用に作ったあれこれの単体写真撮影。

夕方からは、五十川堂さんに移動して、閉店時刻を大幅にオーバーした25:30ころまで、Raspberry Pi 関連の写真撮影を継続。写真撮影のために改めて「I2C駆動のDCモーターで音楽を奏でるデモ」を実施したところ、好評だった(と思っています)。この様子は、写真じゃつまらないので、近いうちに動画にしてどこかにアップしようと思っています。

(6/18/2013追記)次回のRaspberry Nightly Live! (6/20/2013(Thu) 20:30~ @五十川堂) でデモします!

 

6/13/2013(Thu)

ひきつづき原稿校正モード(一部新規執筆も!)目指せ今日中の完成!

ところで、以下にリンクしたニコ動の投稿、凄いですよね!

Raspberry Pi で駆動する、多脚ロボットです。まるで、タチコマだと評判です。

ちなみに、このロボットはニコ動には2回投稿されていて、上記のリンクは2回目の投稿の方に貼ってあります。そして、このビデオの最後には、See you in NTKanazawa2013  の文字が! NT金沢2013ではデモもありそうです。ちなみに作者の方は、素性を伏せているみたいですけど、実は、みなさんから2ホップで到達できる位置にいらっしゃいます(自分じゃないですからね!)。

6/14/2013(Fri)

ようやく脱稿〜!最後の最後までチェックを続け、編集長にわがままをいって反映してもらった。関係各位、特に編集長には、本当に感謝です。

次回の Raspberry Nightly Live (6/20/2013(Thu) 20:30~)の開催をツイートしたところ、リツイートしてもらえただけでなく、車載Raspberry Piについての発表はありますかというリプあり。これに限らず、こんな話聞きたいというリクエストは大歓迎!ちなみに、車載Raspberry Pi搭載車で五十川堂さんに行くので、見せたくなくても見えてしまいます。(実際は見せたいかもだけど^^)

これまで車載RaspberryPiは、出勤したら駐車場で取り外して研究室に持ち込んでいたが、今日、初めて車内に設置したままにしてみた。今日は好天だったが、この時期のこれくらいの天気の日中なら屋外駐車場の車内温度はせいぜい45℃くらいまでだろう。特に問題は生じていないとは思うが、帰宅時に起動してチェックしてみる予定。

 

6/15/2013(Sat)

原稿執筆がようやく完了した昨夜は、久しぶりに布団の上で熟睡。午後から職場でRaspberryPi関連のあれこれをごそごそと開始。特にFritzing であれこれと試行錯誤。

 

Raspberry Nightly (6/2/2013-6/8/2013)

QR2193

QR2193

Nightly なんだから毎晩何らかの活動をしてここに書くというのが原則だと思いますが、このところ、某原稿を完成させるべく来る日も来る日も未明まで作業していて、そういう意味では、夜ごと(Nightly)新しいことをしてはいたのですが、全くもっとブログどころではありませんでした。

 

Nightly ではなく Weekly  ですが、今週のハイライトをいくつか書いておきます。

 

6/2/2013(Sun)

I2C制御の液晶表示器等の動作状況を撮影すべく五十川堂さんにおじゃましましたが、苦労して撮影した写真よりも、魚眼レンズで撮影した夜の五十川堂さんの店内風景が気に入ってしまいました。

 

6/3/2013(Mon)

電子ブーブークッション(仮称)の構成要素の撮影をしてみました。(@五十川堂さんにて)

マイクロフォーサーズ (micro four-thirds) のミラーレス一眼カメラで撮影しているので、細かいところまできれいに撮影できていて、うれしいです。写真を整理しておかねば〜

 

6/5/2013(Wed)

朝、車載RaspberryPiの写真撮影。車外があんまりあかると車内が暗くなって撮影に向かないようです。

車載RaspberryPiを意識して作った車内電源系は、先月末には一度動かしていたのだけれど、いくつかの緊急スイッチをつけるべきかつけざるべきか悩み中。さしあたり、何らかの理由ので Watchdog Timer が停止していて、電源強制断が目前に迫っているけれど、一時的に電源強制断を延期する、「番犬に代わって返事をするボタン」(呼称:代返ボタン)を取り付けてみました。

また、通常は120秒強に設定しているタイムアウト時間(停電あるいは異常を関知してから強制電源断までの時間)は、デバッグ中には長過ぎるので、コンデンサに充電する抵抗の値を変更して8秒程度にしてきたのですが、これもショートピンで切替可能にしてみました。

 

6/8/2013(Sat)

午前4時の薄明の時間帯を待って、車載RaspberryPiの撮影を実施しました。

 

(執筆中)

— hohno (6/8/2013(Sat))

 

Raspberry Nightly (6/1/2013)

QR2188

QR2188

2013年6月1日から、Raspberry Piに関する活動をなにかしらやって、報告しようと企画したのが、Raspberry Nightly.

まずは、初日である 6/1/2013(土) の活動報告。

今日(6/1/2013)は、夜20:30から、五十川堂さん(Cafe? IKAGAWA DO) で、Raspberry Nightly を開催。自分や五十川さんを含めて8名ほどが集まって、Raspberry Pi についての情報交換。

今日はどちらかというと自分が一方的にしゃべってしまったけれど、次回からは事前に話題を募集したり、自分以外の話者も確保したりして、わいわいとやれたらと思う。

五十川堂さん自体が、ほぼ毎夜、20時くらいからなんらかのイベントをやっているので、今回の開始時刻もそららにあわせている。開始時刻が遅いなぁと思った方、そういう事情です。

早めにきて、インストール作業をするのもよし、何かを作るのもよしだと思います。

 

— hohno (6/1/2013(Sat))

 

 

Raspberry Pi で arduino IDE を動かしてみる

QR1934

QR1934

Raspberry Pi に arduino IDE をインストールして、Raspberru Pi 上でコンパイルしたスケッチを arduino に転送して実行してみた。

 

 

インストール

arduino 関連のパッケージを apt-get でインストールする。

$ sudo apt-get install arduino arduino-core aruino-mk

arduino IDE 起動

$ arduino

問題なくインストールできれいれば以下のように arduino IDE が起動する。

arduino IDE 起動

arduino IDE 起動

 

スケッチのコンパイルと転送

ここでは arduino IDE に入っているスケッチのオンボードのLチカのサンプルを実行する。

まずは、Raspberry Pi に arduino をUSBで接続して、マイコンボードの種類とシリアルポートを指定する。

arduino IDE: マイコンボードの選択

arduino IDE: マイコンボードの選択

arduino IDE: シリアルポートの選択

arduino IDE: シリアルポートの選択

arduino IDE に入っているスケッチのオンボードのLチカのサンプルを開く。

arduino IDE: Lチカのサンプルスケッチ

arduino IDE: Lチカのサンプルスケッチ

スケッチのコンパイルと転送には10秒ほど時間がかかる。

転送が完了すると、arduino のオンボードのLEDが点灯する。

arduino IDE: Raspberry Pi + arduino

arduino IDE: Raspberry Pi + arduino

Raspberry Pi で Processing を動かしてみる

QR1924

QR1924

 

 

 

JDK のインストール

sudo apt-get install librxtx-java openjdk-6-jdk

Processing のダウンロード

現時点(2013/05/17)の最新版を利用した。

$ wget https://processing.googlecode.com/files/processing-2.0b8-linux64.tgz

ダウンロードしたファイルを展開する。

$ tar zxvf processing-2.0b8-linux64.tgz
$ mv processing-2.0b8 ~/
$ cd ~/processing-2.0b8

リンクの変更

JAVA SDK の参照を変更する。

$ rm -rf java
$ ln -s /usr/lib/jvm/java-6-openjdk-armhf java

RXTXcomm.jarの差し替え

$ rm modes/java/libraries/serial/library/RXTXcomm.jar
$ cp /usr/share/java/RXTXcomm.jar modes/java/libraries/serial/library/

Processing の起動

$ ./processing

 

いくつかのサンプルプログラムを試したところ、動作するものと動作しないものが合った。
libEGL ライブラリを参照できないようで OpenGL を使うサンプルが動作しない(?)ような印象。

Github の issue にあがってるからそのうちなんとかなるかなぁ。
Raspberry Pi View topic – libEGL missing/erroneous links to GLESv2

参考URL

 

WiringPi が version 2 にアップデート

QR1909

QR1909

WiringPi が version 2 にアップデートされ analogRead/analogWrite の機能が追加されました。
アップデートを git で最新版のソースを pull してそのままビルドでできるのは Raspberry Pi ならではの簡単さです :-)

 

アップデート方法

現在のバージョンの確認方法

以下のコマンドでバージョンを確認できます。
バージョンが 1.xx となっている人は引き続き最新版ダウンロードの手順でアップデートできます。

pi$ gpio -v

gpio version: 1.12
Copyright (c) 2012 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

This Raspberry Pi is a revision 2 board.

最新版ダウンロード

git で最新版のダウンロードができます。以前の作業ディレクトリが残っている人は作業ディレクトリに移動して git pull するだけです。作業ディレクトリが残っていない人は「WiringPi のインストール」と同様に git clone してください。

$ cd wiringPi
$ git pull origin

ビルド

$ ./build

アップデートの確認

バージョンが 2.xx になっていればアップデート完了です。

pi$ gpio -v
gpio version: 2.03
Copyright (c) 2012-2013 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

This Raspberry Pi is a revision 2 board.

 参考URL

Raspberry Pi で CGI(bash)を動かす

QR1891

QR1891

ブラウザから GPIO の制御をする準備として、bash スクリプトで簡単な CGI プログラムを実装してみました。
ここでは Apache のインストールから簡単な CGI プログラムを動かす方法を紹介します。

Apache のインストール

apt-get で apache をインストールします。

$ sudo apt-get install apache2

CGI

以前紹介した tw や gpio コマンドをそのままブラウザから実行するためにCGI プログラムをシェルスクリプト(bash)で実装しています。

 

apt-get でインストールした Apache のデフォルトの設定では、/usr/lib/cgi-bin/ のディレクトリにおいたファイルは CGI プログラムとして実行されます。
なお、このディレクトリの設定は /etc/apache2/sites-available/default で定義されています。

追記: CGI を利用するための設定

・.cgi ファイルを CGI スクリプトとして実行する

/etc/apache2/mods-available/mime.conf 219行目のコメントアウトをはずす。

AddHandler cgi-script .cgi

・docroot で cgi を利用できるようにする

/etc/apache2/sites-available/default を編集して /var/www/ の設定に「 +ExecCGI」を追記する。

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Order allow,deny
allow from all
</Directory>

・Apache を再起動する

$ sudo /etc/init.d/apache2 restart

CGIプログラムのサンプル

Hello World

以下の内容で helloworld.cgi を作成します。

$ cd /usr/lib/cgi-bin/
$ sudo emacs helloworld.cgi

helloworld.cgi の内容

#!/bin/bash

echo “Content-type:text/html”
echo “”

echo Hello World!

次の URL にブラウザでアクセスすると「Hello World!」と文字が表示されます。

http://[ipアドレス]/cgi-bin/helloworld.cgi

helloworld.cgi

http://[ipアドレス]/cgi-bin/helloworld.cgi

日付を表示する

以下の内容で date.cgi を作成します。

#!/bin/bash

echo “Content-type:text/html”
echo “”

date

次の URL にブラウザでアクセスするとアクセスした日付が表示されます。

http://[ipアドレス]/cgi-bin/date.cgi

date.cgi

http://[ipアドレス]/cgi-bin/date.cgi