SheevaPlugのPHP.INIの修正

2010/08/30 先負 投稿時の月齢:20.8  月名:二十日余の月  潮汐:中潮 Moon:20.8 - 11:01 pm by chameleon

日本語が化けるので、PHP.INIを修正。
インストールのあと、すぐやらないと忘れちゃう・・・。
もちろん、「->」の左を右へ書き換えです。

magic_quotes_gpc = On -> magic_quotes_gpc = Off
;date.timezone = -> date.timezone = “Asia/Tokyo”
;default_charset = “iso-8859-1″-> default_charset = “UTF-8″
;mbstring.language = Japanese -> mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP -> mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto -> mbstring.http_input = auto
;mbstring.detect_order = auto -> mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII

とします。あとは保存してApacheを再起動。

SheevaPlugのApache2のエラーを消す

- 11:00 pm by chameleon

sudo /etc/init.d/apache2 restart
で、再起動をかけると下記のエラーが出る。
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

apacheは起動しているので問題ないが、気になるので消すことにした。今回の場合なら、

/etc/apache2/apache2.conf に

ServerName 127.0.0.1

と書き足せばOKです。

SheevaPlugのLEDを制御してGmailの新着件数を通知させてみる

- 10:16 pm by chameleon

SheevaPlugを常時稼働させておくなら、サーバー用途以外でも若干は実用的な機能が持たせられないかと構想したものです。
SheevaPlugには電源状態を示す緑色のLEDと用途がよくわからない青色のLEDが搭載されています。

今回は、この青色LEDを使ってGmailの新着件数を通知させることにました。

まず、LEDの制御方法です。コンソールから以下のコマンドを実行してみると一目瞭然です。

echo “none” > /sys/class/leds/plug\:green\:health/trigger (消灯)

echo “default-on” > /sys/class/leds/plug\:green\:health/trigger (点灯)

echo “heartbeat” > /sys/class/leds/plug\:green\:health/trigger (点滅)

あとは、Gmailの新着件数を取得して、条件分けをして上記コマンドのいずれかを実行すればいいことになります。
使用言語はPHPかPerlかRubyかと選択肢は豊富ですが、今までに扱ったことがない言語と言うことでPhytonに挑戦してみます。学習しながらなので、途中で無理そうなら慣れたPHPかPerlで書き起こせばいいでしょう。

PhytonもPHP並にいろいろなライブラリが充実しているようで、細かなコーディングをしなくても、かなり少ない工程数で考えていることぐらいは実装できそうです。

まず、Gmailサーバーへの接続は

poplib.POP3_SSL(‘pop.gmail.com’,995)

であっさり可能です。Gmailはセキュリティ対策されてから、SSLで接続しないといけないようです。ポート番号やサーバー名は自分のアカウントの環境ですから、場合によっては違うことがあるかもしれません。
ライブラリを追加すると、ヘッダのエンコードなどもいとも簡単に実装できます。便利です。

今回作成したコード
 

# -Copyright Chameleon 2010-
#!/usr/bin/env python
import poplib
import email
import email.Header

def count():
    login= "your_ID@gmail.com"
    code="your_PASS"
    gServer = poplib.POP3_SSL('pop.gmail.com',995)
    
#Login to gmail server
    gServer.user(login)
    gServer.pass_(code)

#Count the number of mail messages
    numMessages = len(gServer.list()[1])
###
    for myList in range(numMessages) :
        for msg in gServer.retr(myList+1)[1]:
            if msg.startswith('Subject'):
                print  unicode(email.Header.make_header(email.Header.decode_header(msg))).encode('shift_jis')
                break
    gServer.quit()
    return numMessages

def NoMail():
    f=file("/sys/class/leds/plug:green:health/trigger","w")
    f.write("none")
    f.close()
    print "none"
def SomeMail():
    f=file("/sys/class/leds/plug:green:health/trigger","w")
    f.write("default-on")
    f.close()
    print "deault-on"
def LotsOfMail():
    f=file("/sys/class/leds/plug:green:health/trigger","w")
    f.write("heartbeat")
    f.close()
    print "heartbeat"
def main():
    mailcount = count()
    print "The number of messages is %d ", % (mailcount)
    if mailcount == 0:
      NoMail()
    elif mailcount <3:
      SomeMail()
    else:
      LotsOfMail()

if __name__ == '__main__':
    main()

後は適当な名前で保存して、このファイルに実行権限を与えます。/usr/sbinに「led.py」として置きました。そして、cronにこのスクリプトを適当な間隔で実行するように登録します。今回は10分間隔での確認とします。

*/10 * * * * /usr/bin/env phyton /usr/sbin/led.py

こんな感じです。cronは直接、設定ファイルを編集せず、

crontab -e

で編集します。

新着0では消灯。
3件未満で常時点灯。
3件以上で点滅です。メールのカウント数の閾値は適当に変更可能です。
これで使途不明の青色LEDがGmailの通知ランプになりました。
phytonは相当、書きやすいスクリプトで感激しました。さすがに、SheevaPlugでコーディングは無理なので、Windows環境で開発できる、「PortablePython_1.1_py2.6.1」という処理系をダウンロードしました。

P.S.
メールでおたずねがあったので、追記しておきます。
print文での出力は、標準出力(普通はコンソールの画面)には出力されません。cronで実行した場合は、root宛のメール文中に出力されます。従って、print文の出力を確認するにはroot宛のメールが確認できる環境が必要です。
たとえば、

apt-get install postfix
apt-get install mailx

で、postfixやmailxをインストールして、mailコマンドが使えるようにしておきます。こうしておけば、cronの動作状態もroot宛のメールで確認できるので便利です。

Sheevaplugを稼働する(2) -Sheevaが煉瓦になる-

2010/08/28 先勝 投稿時の月齢:17.9  月名:居待月  潮汐:中潮 Moon:17.9 - 12:29 am by chameleon

Sheevaplugを設定するついでに、いろいろと遊んでみました。
まず、u-bootというブートローダーがデフォルトで組み込まれているものはバグがあるらしいのでアップデートしてみます。
SheevaPlug_U-Boot1.2.zipをダウンロードします。「SheevaPlug Development Kit」という付属のCDにも同梱されています。
u-boot-rd88f6281Sheevaplug_400db_nand.binを解凍して取り出し、TFTPサーバーにアップロードしてSheevaplugに移します。
SheevaPlug/U-Boot」というサイトを参考にしました。よくまとまっていて、大変参考になりました。日経Linuxの記事と併せて読むことで、設定作業についてはかなり時間が節約できたと思います。
もっとも、数十分後には、Sheevaは煉瓦に変わってしまったんですけどね・・・。

次にやったことは、カーネルバージョンアップです。WEBを検索するのも面倒になってきたので、付属のCDについているマニュアルの記述を見て適当に進めました・・・もっとも、カーネルのアップデート方法が書かれているわけではなくSheevaplugの細々した仕様が書かれているマニュアルでしたが・・・。これが煉瓦を作る原因になるとは想像していませんでしたが

付属CDのマニュアルには、以下のようにSheevaplugのNANDFlash内の構造が記述されていました。

dev: size erasesize name
mtd0: 00100000 00020000 “u-boot”
mtd1: 00200000 00020000 “uImage”
mtd2: 1fd00000 00020000 “root”

パーテーションが3領域となっています。
ところが、実際のSheevaplugは以下のようになっていたようです。

dev: size erasesize name
mtd0: 00400000 00020000 “uImage”
mtd1: 1fb00000 00020000 “rootfs”

当然この違いは大きく、3領域だと信じて作業した結果、Sheevaplugは起動しなくなりました。
u-bootのコマンドプロンプトまでは表示されていたので、まだ何とかなるかなと・・・。
修復についてのあれこれはまた、別のアーティクルで。

Sheevaplugを稼働させてみる(1)

2010/08/27 赤口 投稿時の月齢:17.9  月名:居待月  潮汐:中潮 Moon:17.9 - 11:36 pm by chameleon

ほぼ1年前に購入していたSheevaplugを引っ張り出してきて、設定してみました。
2009/07発行の日経Linuxの記事に掲載されていて興味を持ったときに買ったのですが、時間がなくて、放置状態のまま保管していたものです。
省電力なWEBサーバーが必要になったので、「そう言えばあったなぁ」と思いだした次第です。

何で、2台あるかというと・・・今回Sheevaplugを設定してみて十分実用になると判断したので、つい先だって追加でもう一台購入したものです。右の箱の方が新しいものなのですが、eSATAのポートが増設されていました。元々入っているLinux(デフォルトではUbuntu9.04)のカーネルも新しいものになっていました。
筐体のデザインなんかは同じですが、色が微妙に違っています。旧Sheevaは青みがかかった白色で、新Sheevaはクリーム色がかかった白色になっています。
新Sheevaの商品名は、Sheevaplug+となっていました。
2台目は、1台目が故障したときの予備機です・・・。

みんなそれぞれ

2010/08/12 先負 投稿時の月齢:2.5  月名:三日月  潮汐:中潮 Moon:2.5 - 2:17 pm by chameleon

今日は、前の勤務先でお世話になった上司と飲みに出かけます。
台風のおかげで雨模様だけど、夜はもう大丈夫でしょう。

1年前はチームでしたが、今はみんなそれぞれに違う立場で働いているわけです。どんな話が聞けることやら・・・私はといえば今月いっぱいくらいは仕事らしい仕事がない・・・

不条理を感じる日

2010/08/11 友引 投稿時の月齢:1.5  月名:二日月  潮汐:大潮 Moon:1.5 - 2:23 pm by chameleon

今日は、不条理を感じた一日でした。
一生懸命がんばっていたのですが、次回のリベンジを期待します。
彼はたぶんここを見てないと思うけど、1年やそこら、遊んでいたってサポートできるよ。

久々の新作・・・「悪の教典」

- 2:19 pm by chameleon

貴志祐介先生の久々の新作。やはり、確かにおもしろいですね。前作の「新世界より」より仕掛けが現実世界という点も巧妙になっています。

悪の教典 上
悪の教典 上 貴志 祐介

おすすめ平均
stars悪魔?いいえ普通に人間です
stars「愛犬家連続殺人」を彷彿
stars極上の読書体験、頂きました。
stars貴志先生待ってました!!!
stars蓮見聖司の魅力

Amazonで詳しく見る by G-Tools

最近の貴志祐介先生のパターンで、上下巻となってますが、物語自体はストーリーに引き込まれてあっという間に読み終えられます。
ただ、最後の最後に逮捕される証拠となる(ネタバレになるので詳述できませんが)あんな見落としを、この小説の主人公「蓮実聖司」はしないと考えられるところが残念です。まあ、下巻では成り行きといった感じの犯行があったりしたので、承服できないと言うことではないのですが、サイコパスで怜悧な主人公としてはどうかと。
読後はかなり好みが分かれることになるでしょう…。

悪の教典 下
悪の教典 下 貴志 祐介

おすすめ平均
stars貴志祐介らしくない小説
stars前代未聞、最凶最悪のサイコパス誕生
stars恐怖の距離感を楽しむ
stars面白かった
stars期待しすぎたかな…

Amazonで詳しく見る by G-Tools

必要に迫られEP-802Aを買う

2010/07/24 赤口 投稿時の月齢:12.9  月名:十三夜  潮汐:中潮 Moon:12.9 - 5:54 pm by chameleon
EP-802A

EpsonEP-802A

自宅使用のプリンタが遙か昔のPM-920Cとか言うプリンタで、消耗品のインクも手に入りにくくなってきたのでこちらを購入。
有線LANどころか、無線LANでネットワークプリンタになるし、SDメモリから直接写真は印刷できるし、そのSDメモリをネットドライブみたいに見ることもできるし、コピーもできるし、筐体が小さくて場所取らないしで、プリンタの進化に驚きました。
複合機ってこんなに便利だったのか・・・。おまけのソフトも十分、実用だったし

EPSON Colorio インクジェット複合機 EP-802A 有線・無線LAN標準搭載 2.5型カラー液晶 前面二段給紙 6色染料インク
EPSON Colorio インクジェット複合機 EP-802A 有線・無線LAN標準搭載 2.5型カラー液晶 前面二段給紙 6色染料インク
おすすめ平均
stars満足してます。
stars気に入りました。
stars満足です!
stars限りなくみたままの色
starsサポセンが頼りになりました。【使用感】鬼便利!Amazonで詳しく見る

 

by G-Tools

オプションの両面印刷ユニットも3000円しないみたいだし、年賀状印刷用に追加で買っとくことにしました。

EPSON Colorio EP-901F・EP-901A・EP-801用 自動両面印刷ユニット EPADU1
EPSON Colorio EP-901F・EP-901A・EP-801用 自動両面印刷ユニット EPADU1
おすすめ平均
stars圧巻
stars意外な節約効果
stars簡単、良くできているが...
stars両面印刷
starsEP-802Aで使用中です

Amazonで詳しく見る by G-Tools

Eset 4.2 Upgrade

2010/07/14 友引 投稿時の月齢:3.0  月名:黄昏月  潮汐:中潮 Moon:3.0 - 8:40 pm by chameleon

キャノンのESetが4.2になったらしい。VaioPのセキュリティとして使っていましたが、無償で4.0から4.2へアップグレードできるようなので試してみました。

確かにより軽くなってる気がします。
安いので、モバイル用はESetで二年目以降もいこうか・・・。