備忘録:Raspberry PiでAirPlay

Raspberry Piで普通のスピーカーをAirPlay対応スピーカーに変身させました♪
手順を後ほど詳しくかきたいとおもうのですが、まずはメモメモ~φ(・ω・ )
1.RaspberryPiのIPの固定
2.USB接続の無線LANを装着
3.サウンドカードを有効化する
4.増設したスピーカーとサウンドカードをデフォルトのデバイスに設定する
5.ShairPortを設定する

授業準備がいろいろ落ち着いたら書こう…

Raspberry Pi2にWindows10をインストール~報告③やっとインストールできたけど…~

『Raspberry Pi2にWindows10をインストール~報告②ADK RC for Windows 10~』で、Hyper-V上のWindows10でのイメージ展開に失敗し、
『Raspberry Pi2にWindows10をインストール~報告②ADK RC for Windows 10~』でも、SDへの書き込みに失敗していた私ですが…
やっとインストールすることができましたぁ!!  
一度エラーがでているのは、ファイル名の小文字と大文字を間違えました。(笑)
(インストール方法は報告②に記載してある通りです。やり方自体は間違ってませんでした(^_-)-☆)
The operation completed successfully!! Alt text

前回どうしてもできなかった原因は、私が使用していたマシンがWin8.1の32bit版だったから??
64bit版WIn8.1のマシンでやってみたら、すんなり成功しました。
私と同じエラーでつまずいている方がいたら、ご自身のマシンが32bit版ではないか確認してみることをオススメします。


苦労して準備したSDをRaspi2に挿し、電源をいれました!
Alt text
すると、1~4の順番に画面が切り替わっていきました。
3の画面が出るまで、私は5分程かかりました。その間はほとんど真っ黒画面でたまに2の画面がでてくる感じ。
バグってないと思うので、起動するまで5分くらいは気長に待ってみてくださいね。

で、4の画面が、起動後の画面になるのですが、
なんとタイムゾーンの設定とネットワークの設定しかできない!
想像と違った。。。(笑)
インストール後は、ネットワーク越しのリモート操作で、VisualStadioなどで開発していくみたいですね。
今のわたしにはまだまだそこまでは難しいな~(>_<)

以上、「Raspberry Pi2にWindows10をインストール」の報告でした。

Raspberry Piで室温監視システム(ブレッドボード配線の記録)

今回は、Raspberry Piで室温監視システムをつくりました!
温度センサが読み取った温度データを無線機でラズパイにとばして、
Twitterにつぶやくシステムです。
方法は、「日経Linuxラズパイマガジン2015年春号」P.78~を見てやったので省きますが、
苦戦した回路図の配線を記録しておこうと思います。

回路図が読めない私にとっても難しかったー!
なんども失敗しながらやっとの思いで接続しました(;O;)


子機に温度センサーをつなぐ回路図

回路図はこちらです。 Alt text

ブレッドボードに配線するとこうなります。 
Alt text

温度センサのLM61は、正しい向きに挿すように気を付けてください!
反対に接続すると、電気を通した瞬間にめちゃめちゃ熱くなります!(120度くらいになります!!)
Alt text

完成したツイッターはこちらです。

今回は、回路図もはんだ付けもファームウェアの書き換えも、全部すごく難しかった。。。
でもこれでサーバ室の温度が監視できるようになる! 慣れるようにがんばろう!

Raspberry Piで監視カメラ

Raspi2にWindows10をインストールするのはちょいとお休みで。。。
前からやってみたかった、簡易監視カメラをつくってみました。
ほんとはもっといろいろな機能(暗闇カメラにしたり。。)をつけるのが目標ですが、
まずは手始めに、余計な機能は全部とってWebブラウザから確認するだけのやつです!


使用したもの

・RaspberryPi(B+)
・RaspberryPi Camera Board(秋葉原で¥3580で買いました)
・motion-mmalのインストール
※Webカメラなどを使用する場合はmotionでいいのですが、
Raspberrypi用カメラモジュールを使用する場合は、
Raspberry Piのコミュニティメンバーが開発したこちらのバイナリが必要です!


手順1<カメラモジュールの取り付けと有効化>

RaspberryPiにカメラモジュールを取り付けたら、有効化する作業が必要です。
①下記コマンドを実行したら、 ”5.Enable Camera”を選択しエンターキーを押す。

sudo raspi-config

②カメラのサポートの有効化を聞かれるので”Eanable”を選択してエンターキーを押す。
③Raspberry Piを再起動する。
④下記コマンドを実行して、静止画が/home/piディレクトリに保存されていれば、有効化できている。

raspistill -o image.png

手順2<Motion-mmalのインストールと設定>

標準のMotionはRaspi用カメラモジュールでは動作しないので、Raspberry Piのコミュニティメンバーが開発した”motion-mmal”と呼ばれるバイナリをインストールして設定しましょう。
①下記コマンドを実行して、ダウンロード&解凍をする。

wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz
tar -zxvf motion-mmal.tar.gz

②下記コマンドを実行して、motion-mmalcam.confを編集する。

sudo leafpad /home/pi/motion-mmalcam.conf

※「leafpad」の部分は、nanoでもいいですしいつも使用しているエディタでどうぞ。
◆編集箇所は用途に合わせて以下の通り◆
stream_localhost off(←外部アクセス許可して別マシンからWebブラウザで監視するため)
stream_auth_method 1
stream_authentication username:password
output_pictures off(←静止画の保存はいらないのでオフ)
ffmpeg_output_movies on → off(←動画の保存もいらないのでオフ)      

手順3<Motion-mmalを起動>

①下記コマンドを実行して、Motion-mmalを起動する。

sudo ./motion -n -c motion-mmalcam.conf

起動すると、カメラモジュールのライトがピカっと赤く点灯します!
Alt text

手順4<別マシンのWebブラウザからネットワーク越しに監視!>

①Webブラウザを起動し、アドレスバーに下記の通り入力する。
(ブラウザはFirefoxかSafariで!IE、Chromeは動作しません。)
★raspiのIPアドレスが、192.168.0.10の場合

http://192.168.0.10:8081/

(IPアドレスは事前にRaspiでhostname -Iで確認しておくこと)

はい!監視できました!!
ちゃんと時刻まで表示してくれますよ~。
Alt text

簡易版が試せたので、次の課題は、
・無線・赤外線カメラでつくることです!

Raspberry Pi2にWindows10をインストール~報告①Hyper-V上のWin10は使えない~

前回のブログでも紹介した通り、
MicrosoftがRasbperry Pi 2用にWindows10を無償提供しているとのことで、
私もさっそくやってみたのですが、無理なやり方をしているためか、途中ではまってしまい進んでいません。
もしかしたら同じとこで困っている人がいるかもしれないので、情報共有です。
(※セットアップ方法はこちらWindows Dev Centerのサイトで理解していることを前提とします!)


まず、Raspberry Pi2用Win10をSDカードへイメージ展開するには、
Window10(2015年6月時点でプレビュー版)が必要になります。

しかし私は手元にWin10マシンがなかったので、
2008R2のHyper-V上に、Win10OSを作り
ここでのイメージ展開を試みました。。。
結論からいうと、
イメージ展開には仮想マシンは使えない!

SDカードやイメージファイルを入れたUSBを仮想Win10に認識させるところからいろいろ苦戦し、
やっとの思いでDISMを使ってイメージ展開する手順まで進めたのですが、
以下のエラーがでてそれより先に進めることができませんでした。

エラー: 1168
要素が見つかりません。

Alt text

MicrosoftのDeveloper Networkによると、Hyper-V上で起こるエラーのようです。     

SOLVED: Writing RPi2 image to SD Card: dism Error: 1168 – cannot find element


FfuProvider.dllのある値をHEXeditorで書き換えなんちゃら…というのもやってみましたが、
途中でフリーズしてしまいだめでした。
(英語がわからないので、そもそもやり方が間違っているのかもしれません(汗))
Alt text


そして、Windows Dev CenterのページのWhat you needには、
””Windows 10 Insider Preview – must be a physical Windows machine (not a VM).””
と記載されていました。
なんだー、ちゃんと書いてあるじゃない。。。
見落とした私も悪いけど、調べてみるとHyper-V上のWindows10で成功した例もあるようです。
うまくできた人の違いはいったいどこにあるのでしょう…?

記録としてpettomoメモを貼っておきます。
Alt text

次回は、できなかった報告②で、
画像右上の「Windows8.1にADK RC for Window10をインストールするとできる?」についてす。
Alt text

Raspberry Pi2の紹介

2015年2月に発売されたRaspberry Pi2(Model B)。
今更感もありますが、私も最近ゲットしましたので、簡単に紹介したいと思います。
前のバージョンのRaspberry Pi(Model B+)については、「Raspberry Piとは? その1」で紹介しています。


Raspberry Pi2 (Model B)

それではまず、Raspberry Pi(Model B+)と並べて比較してみましょう。じゃん。
Alt text
写真上が、Raspoberry Pi(Model B+) で、写真下がRaspberry Pi2(Model B)です。
見て分かる通り、見た目の変化はほとんどありません!各パーツの配置や全体のサイズは同じです。
細かいことを言えば、カワイイRaspberry Piマークがちょっぴり小さくなっていま~す。。

では、中身はどうパワーアップしているのか!

主にパワーアップした点は以下の通りです。

Raspoberry Pi(Model B+)とRaspberry Pi2(Model B)の性能比較
モデル Raspoberry Pi(Model B+) Raspberry Pi2(Model B)
SoC(System-on-a-chip) Broadcom BCM2835 (CPU, GPU, DSP, SDRAM, USB) Broadcom BCM2836 (CPU, GPU, DSP, SDRAM, USB)
CPU 700 MHz / ARM1176JZF-S 1コア 900MHz / ARM Cortex-A7 4コア
メモリ(GPUと共用) 512 MB(SDRAM) 1 GB(LPDDR2 SDRAM)
電源 600 mA (3.0 W) 900 mA (4.5 – 5.5 W)
メモリ(GPUと共用) 512 MB 1 GB

簡単にまとめると、
搭載するCPU(SoC)が高速になり、メモリが従来の512Mバイトから1Gバイトに増えたことによって、
従来のRaspberry Piと比較して全体的な性能がおよそ6倍となります!


で、このパワーアップしたRaspberry Pi2、
なんと今まで提供されていたOS(Debian, Fedora, Arch Linux, RISC OSなど)に加えて、Windows10が加わりました!
MicrosoftがRaspberry Pi2向けのWindows10を無償提供しています。
マイクロソフト、Raspberry Pi 2 に無料でWindows 10と開発環境を提供

セットアップ方法はこちらWindows Dev Centerのサイトから見ることができます。


私もさっそくインストールをしようとしたのですが、ばっちりはまってしまいました。
どうもうまくいかない~(泣)
次の記事では、はまりポイント(失敗談)を報告します。。。

困っていること:Raspberry PiのCPU温度をつぶやくTwitterBot

前々回、Raspberry PiのCPU温度をつぶやくTwitterBot の投稿で、2か所はまっている。。。ということを書いたのですが、
そのはまっていることについて書いておきます。
このブログのコメント機能はオフにしてあるので、なにかアドバイスをくださる方がいらっしゃいましたら
twitterの@orangesunshine_までコメントくださると、本当に本当にありがたいです!!

——–    

困っていることその1:CronTabが動作しない

スクリプトTempBot.pyを、15分ごとに自動で実行させたくてCronを使ってみようと思ったのですが
動作しない!!

記述している内容は以下の通りです。

*/15 * * * * python home/pi/twitterBot/TempBot.py     

ログを見る限り、動いていないです。つぶやいてくれません。。

困っていることその2:重複ツイートでエラーが返ってくる

上記の通り、今はまだ手動でスクリプトを動かしている段階なのですが、
ばちばちとスクリプトを実行していると、以下のようなエラーが返ってきてつぶやけなくなります。

pi@raspberrypi ~/twitterBot $ ./TempBot.py pi@raspberrypi ~/twitterBot $ ./TempBot.py Traceback (most recent call last): File “./TempBot.py”, line 21, in api.update_status(status=’CPU no ondo ha ‘+temp+’do desu’) File “/usr/local/lib/python2.7/dist-packages/twython/endpoints.py”,
line 107, in update_status return self.post(‘statuses/update’, params=params) File “/usr/local/lib/python2.7/dist-packages/twython/api.py”,
line 267, in post return self.request(endpoint, ‘POST’, params=params, version=version) File “/usr/local/lib/python2.7/dist-packages/twython/api.py”, line 257,
in request api_call=url) File “/usr/local/lib/python2.7/dist-packages/twython/api.py”,
line 198, in _request retry_after=response.headers.get(‘X-Rate-Limit-Reset’)) twython.exceptions.TwythonError: Twitter API returned a 403 (Forbidden),
Status is a duplicate. pi@raspberrypi ~/twitterBot $       

注目したいのは、最後のほう。
Twitter API returned a 403 (Forbidden), Status is a duplicate.

・このエラーがでるとしばらくの間つぶやけないこと
・保冷剤で本体を冷やすと、わりとすぐにツイートできるようになること
からも、CPU温度が変わらないから重複ツイートとしてはじかれている気がします。
これを回避する方法としては、
・つぶやく間隔を長くする
・同じ温度だったら違う言葉をつぶやかせる
とかかな?もちろん、cronが正常に動作していることが前提だけど。。。
あとプログラム初心者なのでpython勉強しなくては。。。

memo:Raspberry Piでやってみたいこと!

Raspberry Piでやってみたいことのmemoです!

サーバルームのTempBot
サーバ室の温度を取得して、twitterにつぶやかせて監視したい。
温度の取得は、ToCostickという無線センサーネットでやってみたい。
これはスクリプト実行で外部からTwitterにつぶやかせる仕組みのとこだけクリア。たぶん。。。(2015/1/26)

デジカメ作成
カメラモジュール、持ち運び用バッテリ、小型ディスプレイ、タクトスイッチを使ってデジカメみたいのつくってみたい。
楽しそう。カメラモジュール接続だけクリア(2015/2/1)

監視モニター
カメラモジュールをつけて、別室をモニターできるようにしたい。
motionかmotion-mmal?というのを使えばよいのかな?
カメラの映像を同じネットワーク上のPCのWebブラウザ上、またはリモートデスクトップ接続で監視できるといいな。
カメラモジュール接続はクリア(2015/2/1)

Raspberry PiのCPU温度をつぶやくTwitterBot

スクリプトを実行すると、Raspberry PiのCPU温度を取得して自動でtweetする仕組みを作りました!
ただ、TwitterBotにするにはまだ2か所はまっていて…
今回はとりあえず、スクリプトを手動で実行するとつぶやくところまでの設定手順を紹介します(´・ω・`)

完成したアカウントはこちらです。どん!
     

CPUの温度をつぶやいています。最終的には、定期的につぶやくBotにしたいのです。

設定手順

①「twython」をインストール

Pythonで記述したTwitterのライブラリプログラム「twython」をインストールするために
「LXTerminal」などで以下を実行します。

$ sudo apt-get update
$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install twython

②Bot用のTwitterアカウントを作成

Twitterのアカウントを作成します。

③開発者向けサイトへの登録(外部から操作可能なTwitterアカウントの作成)

開発者向けのページでプログラムから制御するための許可情報を取得します。
1.取得したアカウントでhttps://dev.twitter.com/apps/ にアクセスしてログインします。
2.「Create a new application」のボタンをクリックします。
3.アプリケーションを新規作成し、任意の名前、説明文、自分のWebサイトURLを入力して
登録します。
4.作成したアプリケーションをクリックして、「Permissions」タブを開きます。
5.権限を、「読み取り」から「読み書き」に変更します。
Alt text

これで、スクリプトプログラムを使って外部からTwitterアカウントへ投稿することが可能になります。

④許可情報の取得

許可に使うトークンを取得します。
1.「API Keys」タブを開き、「Creare my access」をクリックして、
アクセストークンを発行します。
2.あとから、「Consumer key」「Consumer secret」「Access token」「Access token secret」の
情報が必要になります。
Alt text

⑤自動投稿を設定

1.スクリプトファイルを作成するために、以下を実行して、ディレクトリと編集するファイルを作成します。

$ mkdir TwitterBot
$ cd TwitterBot/
$ nano TempBot.py

2.nanoエディタが起動するので、スクリプトファイル「TempBot.py」を以下の通りかきます。

#!/usr/bin/env python
#coding:utf-8

import os
from twython import Twython

#Twitterアカウントの認可情報
CONSUMER_KEY = ‘Consumer key’
CONSUMER_SECRET = ‘Consumer secret’
ACCESS_KEY = ‘Access token’
ACCESS_SECRET = ‘Access token secret’

api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)

#Raspbianの制御コマンド(vcgencmd)を実行
cmd = ‘/opt/vc/bin/vcgencmd measure_temp’
line = os.popen(cmd).readline().strip()
temp = line.split(‘=’)[1].split(“‘”)[0]

#取得したCPU温度を投稿
api.update_status(status=’CPU no ondo ha ‘+temp+’do desu ‘)    

3.編集が終わったら、以下を実行し、スクリプトファイルに実行権限を与えます。

$ chmod +x TempBot.py

4.ディレクトリに移動し、スクリプトを実行します。

$ cd TwitterBot/
$ ./TempBot.py    

これで温度がつぶやけます。
最初にもいいましたが、これをBotにしたいのですが、はまっているのが解決できたら
また設定手順を紹介します。今日はここまでー!(^^)/

Raspberry Piとは? その2

たいへんながらくお待たせしました。「Raspberry Piとは? その2」です!
Raspberry Piについては、「Raspberry Piとは? その1」で紹介しました。超格安小型PCのことでしたね。

今回は、実際に周辺機器を接続してみた感じと、起動させるまでの簡単な流れを説明したいと思います。


私のRaspberry Pi環境

それではまず、私のRaspberry Pi環境を紹介します。 じゃーん!
Alt text
ディスプレイとキーボードの間にある小さい箱が、Raspberry Piです。
あらためて小さいな~ぁと感じます。接続しているものは、普通のデスクトップPCとほとんど同じなのに
なんだか机の上がとてもスッキリして感じますね!(^^)!
Raspberry Piに必要な周辺機器は以下の通りです。

必要な周辺機器一覧
周辺機器 説明
電源ケーブル 電源は、MicroUSBコネクタから給電します。わたしは、MicroUSBケーブルと、iPadについてきた充電アダプタを使用しています。
SDカード OSはこのSDカードで起動します。最低4GB以上のものを用意しましょう。
画面出力ケーブル 画面出力は、HDMIかコンポジット出力を利用します。
キーボード、マウス、ディスプレイ 3点セット。特に説明はいりませんね!(^^)!
LANケーブル ネットワークに接続する場合は、LANケーブルを接続します。

必要最低限のものはこれだけです!
あとは、必要に応じてセルフパワータイプのUSBハブ(Raspberry PiのUSBポートに消費電力の大きいデバイスを接続すると、電力不足で動作が不安定になることがあるため)やUSB無線LAN子機などがあるとよいでしょう。
また、周辺機器を接続するときの注意として、電源ケーブルは一番最後に接続するようにしてください。
本体起動後にUSB機器を接続すると、接続時の一瞬に大量の電力を消費してシステムが不安定になることがあります。

これでRaspberry Piを動かす準備ができたので、次はOSインストールです。
ここではRaspberry Piの推奨OSRaspbianのインストールについて説明します。
設定時に画面の写真を撮り忘れてしまいましたので、文章だけの説明です。(ごめんなさい…)


OSの準備

Raspberry Piは、SDカードでOSが起動します。
OSインストールのためには、あらかじめOS導入ツールNOOBSをSDカードに書き込んでおく必要があります。
ちなみに私は、NOOBSインストール済みのSDカードがセットになっているRaspberry Piを購入したので、楽チンでした。
Raspberry Piをすぐに始めたい方にはオススメです。

NOOBSを準備する

1.作業用PCで下記URLから最新版のOS導入ツール「NOOBS」のZIPファイルをダウンロードし、展開する。
URL:http://ftp.jaist.ac.jp/pub/raspberrypi/NOOBS/images/

2.SDカードをフォーマットする。

3.展開しておいた「NOOBS」のフォルダーをすべてコピーする。

NOOBSからOSをインストールする

1.準備したSDカード、その他の周辺機器を接続したあと、電源ケーブルを接続し電源をいれる。

2.NOOBSの起動画面が表示されるので、次のように操作する。
①画面左上の「Install」をクリック
②一覧から「Raspbian」を選びチェック
③画面下で言語は「日本語」を選択
④しばらく待って「OS Installed」のメッセージが表示されたらEnterキーを押す

3.Raspberry Piが再起動する。

4.しばらく待つと「raspi-config」ツールが起動されるので、次のように操作する。 (日本語化け防止のため)
 ①Tabキーを2回押す
 ②カーソルがに移ったらEnterキーを押す

5.「pi@raspberrypi ~ $」という文字がでてきたら「$ startx」と入力してEnterキーを押す。

6.デスクトップが起動する。


ひとまず、OSインストールからデスクトップ画面が現れるまでの操作はここまでです!
このあと、細かい設定にはいっていきます。
長くなってしまったので、続きは「その3」でかこうと思います(^_-)-☆
それではまた~♪