mp3の再生

mpg321をインストールします

$ sudo apt-get install alsa-utils
$ sudo apt-get install mpg321

音声の出力先設定をします
アナログ出力の場合
$ amixer cset numid=3 1

HDMI出力の場合
$ amixer cset numid=3 2

自動起動アプリの設定

設定ファイルを編集します。ターミナルから下記コマンドを実行します

$ nano .config/lxsession/LXDE-pi/autostart

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@sh ${HOME}/.config/lxsession/LXDE-pi/autokey.sh
@xset s off
@xset -dpms
@xset s noblank
@epiphany-browser http://yahoo.co.jp

ついでにスクリーンセーバーをオフにしています

デスクトップの日本語化

RaapberryPi をNoobsでOSを作成すると、起動時にデスクトップ(GUI)が立ち上がります。

日本語化するにはフォントをインストールします。

ターミナルから
$ sudo apt-get install fonts-vlgothic
フォントをインストールします。

言語、タイムゾーン、キーボードの設定はデスクトップ上部MenuからPreferences > Raspberry Pi Configuration を選択して設定してください。

温度センサーIC LM19を使う

ここでは温度センサーIC LM19(National Semiconductor)を使ってRaspberry piで温度監視を行う事例を紹介します。

LM19仕様

  • パッケージ:TO-92
  • 動作電源電圧:2.4V~5.5V
  • 使用温度範囲:-30℃~+130℃
  • 精度:±2.5(@30℃)

接続例

スクリーンショット 2014-01-21 4.24.02
LM19からの出力はアナログ電圧のためRaspberry piでは直接扱うことができません。そこで一旦I2Cインターフェイス基盤でアナログ電圧を読み取り、その結果をI2Cをとおして取得することにします。
ICのデータシートを参考に出力には抵抗とコンデンサをつないでいます。

Python script


import i2cinterface99
ii = i2cinterface99.i2cinterface99()
state,value = ii.analogRead(0) #read A0 Pin
if state == True:
 volt = value / 1023.0*3.3 #3.3V電圧でインターフェイス基盤を動作している場合のAD変換式
 temp = (1.8641 - volt)/0.0117 #ボルトから温度への変換の式
 print "%d deg/C" %(temp) #摂氏表示
else:
 print "I2C error"

温度への変換式はICのデータシートに記載されている−10℃〜65℃における推奨式を元にしています。
上記スクリプトをsudo python ファイル名.py で実行します。
温度センサーの値を読み取った結果がコンソールに表示されるはずです。
I2Cインターフェイス基盤にLCDを接続していれば、LCD上に温度の値が表示されるようにしてもよいでしょう。

今回行った実験では、LM19の測定値が温度湿度センサーDHT11による測定値とほぼ同じであることが確認できました。

Raspberry piを使った時報システム

I2Cインターフェイス基板とRaspberry piを使った時報システムを簡単に作ってみました。時報の音はI2Cインターフェイス基板上に実装されている圧電スピーカーを鳴らします。

python なら専用のライブラリーがあるので、音を出すための設定も楽々です。
こんな感じでプログラムを作ってみました


import time
import i2cinterface99
ii=i2cinterface99.i2cinterface99()
ii.setSound(16,2)
for var in range(0, 3):
 ii.sound(1)
 time.sleep(1)
ii.setSound(32,30)
ii.sound(1)

ライブラリi2cinterface99.pyと同じディレクトリに保存しておきます.
あとはLinuxのcrontabによって定時動作させるだけ

pi@raspberrypi ~ $ crontab -e

0 7-19 * * * python ~/alarm.py

この例では毎日7時から19時の間に毎正午時報を鳴らすことが出来ます。
piユーザーでもi2cデバイスを操作できるようにpiユーザーのサブグループにi2cグループを追加しておけばsudoから呼び出す必要はありません。

$ sudo usermod -a -G i2c pi