オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

ラズパイの有効活用など

»

今年に入ってからArduinoやRaspberry Pi(ラズパイ)などをいろいろと使ってきました。やっぱり安くて手軽に使えるのがとても気に入っています。

先日、あるシステムでごく希にサーバパニックが発生するのをなんとか本体にほとんど手を加えずに調査できないかと悩んでいたのですが、ラズパイを使えばできる!と思いつき、

1.jpg

こんな感じで、サーバ機とラズパイを直結して、Linuxのカーネルパニックをnetconsoleでラズパイに送り、サーバ機が再起動したらラズパイからsyslogでサーバのログに書き戻す、という仕組みができました。

たったそれだけのために別のサーバ機を置くことはできませんし、大げさだと設置先でも嫌がられますが、数千円でこんなにコンパクトなラズパイならこういう用途にも向きますね!

2.jpg

さて、ラズパイをログ関連に使おうと思うとちょっと不便なのが時刻データです。ラズパイにはバッテリーバックアップつきの時計が内蔵されていませんので、電源を切ると時刻が飛んでしまいます。ということで、RTCモジュールが欲しくなります。ラズパイなどで使いやすいのはI2C接続のモジュールで、いろいろな種類が数百円で売られています。

3.jpg

ちょっと気をつけないといけないのが、多くのモジュールはバッテリー端子に充電用の電圧が出ている点です。

4.jpg

入手しやすいリチウム電池だと充電はできませんので、電圧はかけてはいけません。CR2032とかはリチウム電池です。

5.jpg

見た目は同じですが、LIR2032がリチウムイオン電池で充電可能です。なかなか普通には売られていません。

6.jpg

リード線がついた方は充電電圧が出ていないモジュールなのでCR2032が使えますが、こういうタイプは少数派で、このモジュールも既にディスコンになっているようです。ラズパイにそのまま装着できるので便利なのですけどね。

7.jpg

さて、ラズパイはネットワークにつながる状態に設定が終われば、sshなどでリモートログインして操作ができますが、最初はモニターが必要です。手前は安いHDMIモニターキットをフォトフレームのケースに強引に入れて自作したものです。奥にあるのは純正タッチパネルモニターを純正ケースに入れたものです。

8.jpg

どちらも7インチです。純正の方がタッチパネル機能がついていて、ケースもあるので便利ですが、ラズパイとのリボンケーブルしか入力できないので、汎用的には使いにくいです。

9.jpg

だいぶ色温度が違いますが・・・。純正のタッチパネルの方はソフトキーボードもインストールして、デジタルネイティブ?モバイルネイティブ??な息子に触らせてみました。オヤジな私は断然キーボードとマウスが良いのですが、息子はむしろタッチパネルで全部操作できる方が便利と。まったく平気で使いこなしていました。世代の差ですね〜。

10.jpg

なお、標準状態ではブラウザでFLASHが使えませんが、ラズパイならいくらでも情報はあるのが便利なところで、Chromeを入れて、FLASHプラグインも簡単に入れられます。

11.jpg

なお、会社では10インチくらいのフルHDモニターにつないでいますが、ここまでくるとほとんど普通のPCと同じくらいの感覚で使えますね。液晶モニターに色温度を合わせているので蛍光灯がひどい色合いになっていますが気にしないでください。

12.jpg

MacBookと同じような感じで使えます。なお、MacBookのRetinaディスプレイの方が解像度が低く見えますが、本当は2560x1600までいけます。が、それだと文字が読めないので、1440x900が標準になっています。標準状態だとそれ以上の解像度に設定できませんが、これまたいくらでもネットを調べれば方法が紹介されています。まあ、2560x1600では実用はまず無理でしたが・・・。

ということで、こんな状態にするまでの設定方法を自分の備忘録として張り付けておきます。

・OSXでSDカードにイメージ書き込み
# dd if=2016-05-27-raspbian-jessie.img of=/dev/disk2 bs=10m
・パスワード設定:suもできるように
$ sudo su -
# passwd root
# passwd pi

・WiFi設定
GUIか、 # wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf ↑生パスワードがコメントアウトされているので削除
・コマンドラインで諸設定:GUIの方が簡単・・・ # raspi-config Expand Filesystem Internationalization Options ja_JP.UTF-8 Overscan on I2C on Audio 3.5mm jack 1-wire on
・液晶表示の設定:高解像度の方がたくさん見えるけど小さいモニターだと読めないのでほどほどに # vi /boot/config.txt framebuffer_width=800 framebuffer_height=480 ↑1024x614 ↑1280x768
・apt-getで更新 # apt-get update # apt-get upgrade
・日本語関連 # apt-get install jfbterm # apt-get install fonts-vlgothic # apt-get install ibus-mozc
・I2Cツールを入れておく # apt-get install i2c-tools
・RTC関連 # vi /etc/modules rtc-ds3232 or rtc-ds1307 # vi /etc/rc.local echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device or echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device sleep 1 hwclock -s # vi /etc/default/hwclock HCTOSYS_DEVICE=rtc0 # update-rc.d fake-hwclock disable # update-rc.d ntp disable # update-rc.d hwclock.sh enable ←うまくいかないのでやらない
・Chromeを入れて、FLASHプラグインも入れる # wget -qO - http://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add - うまくいかなかったら、http://bintray.com/user/downloadSubjectPublicKey?username=bintrayでダウンロードしてapt-key addする # echo "deb http://dl.bintray.com/kusti8/chromium-rpi jessie main" | sudo tee -a /etc/apt/sources.list # apt-get update # apt-get install chromium-browser # wget http://os.archlinuxarm.org/armv7h/alarm/chromium-pepper-flash-12.0.0.77-1-armv7h.pkg.tar.xz # tar -xvJf chromium-pepper-flash-12.0.0.77-1-armv7h.pkg.tar.xz # cd usr/lib/PepperFlash/ # cp * /usr/lib/chromium-browser/plugins # vi /etc/chromium-browser/default CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so --ppapi-flash-version=12.0.0.77 -password-store=detect -user-data-dir" Chromiumを起動して、アドレスバーにChrome://Plugins:プラグインを有効に
Comment(0)