2015年1月 のアーカイブ

Raspberry piで2.2インチ液晶を使った時の画面の向きを統一する

2015年1月12日 Linux

この前の記事( http://www.kotokoi.org?p=1499 )で2.2インチ液晶で表示するところまではできたんだけど、実はその後、ちょっと気になる部分が出てきてた。
コンソール自体は望んだ通りの向きで表示されるのに、startxしたりjfbtermを立ち上げると画面が縦に・・・。これは普通にケースなんかをつけようとした時に大いに問題になってくるので、ぜひとも解決したいなと思って個別に回転させる方法を試したけども結果的にどれもうまく行かなかった。

最終的に設定ファイルの新規作成と書き換えで解決したのでメモを残しておくよ。
この前は紹介したサイトの通りにやったから記事内に手順は書かなかったけど今回はひと通りの手順。

$ sudo nano /etc/modprobe.d/raspi-blacklist.conf

blacklist spi-bcm2708がコメントアウトされていなければコメントアウト。

$ sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
$ sudo shutdown -r now

モジュールをインストールして再起動。

$ sudo modprobe fbtft_device name=adafruit22a

$ sudo nano /etc/modules

fbtft_device を追記、または残す。
name=adafruit22a verbose=0 は追記しない、または削除。

$ sudo nano /boot/cmdline.txt

fbcon=map:10 fbcon=font:VGA8x8 を追記、または残す。
fbcon=rotate:1は追記しない、または削除。

ここまでの参考( http://aaron-brown.net/blog/?p=99 )

fbcon=font:VGA8x8はちょっと見づらいから見やすいのを使う。

$ sudo nano /etc/modprobe.d/adafruit.conf

options fbtft_device name=adafruit22a rotate=90 この内容で作成。
rotateは0、90、180、270が設定できる。

ここまでの参考( https://learn.adafruit.com/adafruit-2-2-pitft-hat-320-240-primary-display-for-raspberry-pi/extras )

これで再起動。

できた!!

jfbtermも

rasp006

LXDEも

rasp007

ヒューッ、ちゃんと望んだ通りの画面の向きで表示してる!

プロンプトの表示(pi@〜)が無いのはexport SP1=””で消したせい。
狭いからこういう細かいところ大事。

Twitpic亡き後絵をどこに上げたらいいのか考え中

2015年1月10日 イラスト
落描き20141222

割とずっと考え中。ひとまずブログにぺたぺた貼っていくにしても、いまいちしっくりこない。

やっぱりお手軽にTwitterに直で上げちゃうのがいいんだろうか。閉鎖の話が出る前はtwitpicに上げる前にやぁ描いた描いたっていう余韻に浸るため&上げた後やぁ上げた上げたっていう余韻に浸るためにツイートとか頻繁にしてたけども、どうもタイミングが掴めなくなっちゃった感じ。

ぼんやりと、まぁ良いかと思っちゃう。実際、まぁ良いんだけども。

Raspberry pi面白くてちょっとはしゃいだから、元気も出てきたし、なにか良さそうなのを自分でっていうのもありなのかもしれない。

ねんがんの2.2いんちえきしょうをてにいれたぞ!

2015年1月9日 Linux, ToDo, 工作

2015/01/12 追記 :
画面の向きの設定に関してより良い設定を見つけましたので、
これから試す方は次の記事( http://www.kotokoi.org?p=1564 )を参照してください。

一昨日の記事でもふれたけども、実はraspberry piの入手に先駆けてaliexpressでili9340というコントローラーチップを載せた2.2インチ液晶を手に入れていたのです。
Mobile Raspberry Pi Computer的なものを作ってみたくて。
ちょうどA+もセットアップできたのでとにかく小さいものを作ってみようと思います。
ソフトのインストール、設定変更はSSH経由で。
A+以外なら普通にUSBキーボードとか挿したらいい。

A+のGPIOピン配置はUSBポートを右にGPIOピンを上に見た時、下段が奇数番、上段が偶数番、左下端1番ピン、右上端40番ピンまでの40ピンとなっています。
このサイト( http://aaron-brown.net/blog/?p=99 )のピン配置、コマンドを参考に作業を進めます。ピン配置表の右端の数字がGPIOピン番号。

そんなわけで早速つなぎましょう。

板

こんな感じの板を作ってもいいし線だけでも良いよ。お好きに。ハンダ付けが面倒ならメス-メスのジャンパワイヤがおすすめ。

つないだ。

つないだ。

つないだら上でリンクしてる記事に従ってraspi-blacklist.confを確認。
blacklist spi-bcm2708がコメントアウトされていなければコメントアウト。
カーネルモジュールをインストールして再起動、モジュールを読み込んで/etc/modulesに設定追記。
/boot/cmdline.txtはスペース区切りになってるから適当なところに挟みこむなり末尾に追記するなり、お好きに。

リンク先の記事にはfbcon=font:VGA8x8って書いてあるけどここは表示用に使うフォントが指定できるので見やすいものを選ぶといい。

MINI4x6, VGA8x8, Acorn8x8, PEARL8x8, ProFont6x11, 7×14, VGA8x16, SUN8x16, 10×18, SUN12x22

ざっとこれだけ。自分のはProFont6x11にした。ちっちゃいけど見やすい。
詳細はここ( https://github.com/notro/fbtft/wiki/Boot-console )から見れる。

fbcon=rotate:1の部分は0〜3で縦、時計回り、180度回転、反時計回りの設定ができるようになってる。
自分のはfbcon=rotate:3にした。これはハンダ付けの時に液晶の向きを考える前に配線をさっさと済ませてしまったせい。
格好良い言い方をするなら「考える前に事はすでに終わっていた」ということ。
格好わるい言い方をするなら「考える前に事はすでに終わっていた」ということ。ニュアンス大事。

ここまででとりあえずコンソール画面の表示はできるようになったはず。できない時は配線間違いとか接触不良とか確認するといいよ。単なる初期化失敗もまれにあるから再起動を試すのもあり。

rasp003

点いた。

で、ここからstartxしちゃおうかな?とか思うじゃん?
で、startxって打ってEnter押すじゃん?押してみ?

画面がブラックアウトしたでしょ?
動かないでしょ?でも、これ実は出力先間違ってるだけでGUI起ち上がっちゃってるんだよ。
困るじゃん?

そんなわけだから、もう一箇所だけ設定を変更します。
このファイル → /usr/share/X11/xorg.conf.d/99-fbturbo.conf

$ sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

とかやると

# This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
#
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
#
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.

Section "Device"
        Identifier      "Allwinner A10/A13 FBDEV"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb0"

        Option          "SwapbuffersWait" "true"
EndSection

こんな感じになってるんだけど、”/dev/fb0″のところを”/dev/fb1″に変更。
できたら念の為、一旦再起動して、startx

rasp004

できた。

狭すぎて使い物にならないけど、おおってなるね!デスクトップマシンじゃないからコンソールだけあれば十分だけどね!!

ついでなのでBluetooth関連のソフトも入れてBTキーボードも繋いじゃうよ。

$ sudo apt-get install bluetooth bluez-utils

でインストール。
BTドングルを挿して

$ hcitool scan

見つけたコロン区切りの文字列を使って
※複数出てきたらそのまま繋がずにもう一度scan試したほうが良いかも。

$ sudo bluez-simple-agent hci0 xx:xx:xx:xx:xx:xx

PIN入れろと言われるので、適当な数列を入力してEnter(1111とか1234とかでいい)。
BTキーボード側で同じ数列を入力してEnter。
うまく行くとキーボードの情報が登録される。

あとは

$ sudo bluez-test-device trusted xx:xx:xx:xx:xx:xx yes
$ sudo bluez-test-input connect xx:xx:xx:xx:xx:xx

rasp005

これでキーボードが使えるからSSH経由じゃなく直接操作できるようになる。
あとはモバイルバッテリーなんかと一緒に箱に詰めるだけ。スーパー簡単に出来ました。ふひひ。

A+の消費電力はアイドル時 0.09A (0.45W) 負荷時 0.11A (0.55W) 参考( http://blog.livedoor.jp/victory7com/archives/41343773.html ) らしいので10000mAhのモバイルバッテリーなら液晶込みでも 4〜6 40時間位は余裕で動きそう。

計算を間違えてましたフンべろりぃ☆というかそんなワケ無いだろうと混乱してしまって4〜6とか書いてしまいました。4000〜6000を90〜110で割っても4〜6にはならないですね。
後日検証して追記します。

Raspberry pi model A+を買ったのでセットアップ手順メモ

2015年1月7日 Linux

インストールはnoobsで済ませたから面倒な部分は一切無いけども、次やる時打ち込むの面倒なのでテキストで残しとく。

まずはインストール直後に実行されるraspi-config
・ホスト名を適当に付ける
・SSHをenableに
最低限これだけはやる

有線/無線LANがあればどちらか使えるようにしておく。
USBハブ無いとA+だけではセットアップ面倒だから無いならUSBハブを用意する。
無線LANはコマンド面倒ならGUIで設定。

繋がったらifconfigかiwconfigあたりでIP確認。

ここまでやればあとは全部リモートでできるよ!やったね!!
端末の日本語が全部豆腐でもいいならそのまま作業進めてもいいけども。
A+でもUSBポートの数を気にしなくて良くなるしモニタも専有されないしアニメ見ながら作業できるしSSHにしなよ!

$ ssh pi@xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxxの部分はIP

$ sudo dpkg-reconfigure locales
※raspi-configでもできるけどとりあえずこっちで

ロケールを設定とりあえず3つチェック入れとく。

en_US.UTF-8
ja_JP.EUC-JP
ja_JP.UTF-8

en_US.UTF-8を標準に

$ sudo dpkg-reconfigure tzdata
※raspi-configでもできるけど・・・

タイムゾーンをTokyoに

$ sudo apt-get apdate
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname avahi-daemon avahi-autoipd libnss-mdns samba

avahi便利。ホスト名.localで接続できるようになる。
sambaとフォントは別に無くてもいい。

$ sudo nano /etc/samba/smb.conf

※別にnanoじゃなくても良いよ。好きなの使え。

自分のはこんな感じに追加した。

[共有フォルダ名]
path = /home/pi/dirname
read only=no1
browsable=yes
guest ok = yes
force user = pi

$ sudo nano /etc/hosts.deny

一行追記 sshd: ALL
とりあえず全部はじく

$ sudo nano /etc/hosts.allow

一行追記 sshd: xxx.xxx.xxx.0/24 127.0.0.0/8
許可するIPグループを書き込む。

/24だと広すぎる気もする。一般家庭なら/28前後でいいかもしれない。

$ sudo nano /etc/ssh/sshd_config

PermitRootLogin を yes から no に。

2015/01/08 PermitRootLogin忘れてたので追記。

$ sudo service samba restart
$ sudo service ssh restart

サービス再起動

あとは煮るなり焼くなり。

そうそう、A+のために2.2インチの液晶買ったから後で試すつもりでおりますよ。