‘RaspberryPi’のエントリ

WT3.2の開発もほぼ完了。ということでラズパイの環境を整備。秋葉原で買ってきたラズパイ用7インチタッチLCDとケースを取り付けてみた。

LCDの電源もラズパイから取れるし、一体型で持ち運びもOK。何より裏蓋も取り外し可能ってことでなかなか使い勝手が良い。

裏で動いているウェザタイonラズパイプロジェクトを開始しよう。

久々にはっぱさんとアキバへ。今回の目的はしばらく前から気になっていたBEEP秋葉原店。路上にベーマガっぽい絵が描かれていて、地下の店に入るとレトロなPC、ゲーム、本がいっぱい置いてある。MSXやx68があったり、昔PC6001でやっていたタイニーゼビウスのテープが置いてあったり、PCやファミコンなどのゲームもいろいろ。ただ、見ていて楽しいんだけど、さすがに買っても遊べないので買う物はあまり・・・。ベーマガも結構置いてあったけど、国会図書館で読めるからなあ。本気で通っている人はアーケード基板とか家で遊べるようにしてたりするんですかね。

もう一つの目的のRaspberry Pi。とりあえずArduinoのときに買うのを保留にしていたカメラモジュールを買ってみた。どのくらい使えるか分からないけど試してみよう。

ちょっと前にRaspberry Piを買っていたのでいじってみる。

Raspberry Piは小さいコンピュータで、SDカードに入れたOSを起動できる。また、電子部品を付けられるピンがあるので電子工作ができる。本当はArduinoにWi-Fiとカメラを付けてラジコンをパワーアップさせたかったんだけど、モーター2個とBluetoothを付けた時点で他の部品をつけられなくなってしまったので、最初からWi-Fiが付いていてカメラ用端子の付いているRaspberry Piを試そうかと。

Raspberry PiとSDカードを買ってきて、HDMIでディスプレイ、USBでマウスとキーボードをつなぐ。PC側でRaspbian(デフォルトのLinux)をSDカードに入れて準備完了。あとはRaspberry Piを起動してOSをインストール。パスワードを設定したりWi-Fiの設定をして、そこからはPCからSSHで操作できるようになった。

なんだけど、家ではWi-Fiルータ、外でテザリングでつなごうとすると、どうしてもDHCPになってつなぎにくい。ディスプレイをつないでifconfigとかはかなり面倒。てことでまず最初のプログラムとして、Raspberry Piを起動したらIPアドレスをWebに通知するようにしてみた。初Pythonだけど、いろんなコピペなのであまりよく分かってはいない。

# coding: utf-8
import urllib2
import subprocess

url = 'http://xxxxx/cgi-bin/xxxxx.cgi?ip='
cmd = "hostname -I"
ip = subprocess.check_output(cmd,shell=True)
urllib2.urlopen(url + ip)

あとは、Raspberry Piを起動すると勝手にpiユーザでログインするみたいなので、piユーザの.bashrcに以下を入れてみた。

python /home/pi/xxx.py &

Web側はとりあえずCGIにしたが、自作のライブラリをいろいろ使っているのでここには載せきれない。もらったIPアドレスをファイルに書き込んで、標準出力に出すだけのものをさくっと作った。

これでIPアドレスが分かるようになったので、ディスプレイもマウスとキーボードも使う必要がなくなった。便利。