No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 11 | 12 | 13 || Next»

RasPi3 + Ubuntu MATE + 3.2inch LCD

Raspberry Pi 3 に Ubuntu MATE 16.04 beta 2 を入れて Amazon で売ってたタッチパネルな 3.2インチ LCD を付けてそこで X を起動するとかいうのをやってみたのでメモ.

とりあえず,件の LCD は裏を見たら WaveShare の 3.2inch RPi LCD (B) とかいうものだった.これは FBTFT というドライバでサポートされている.最近はカーネルに吸収されているらしいので,インストールの手間はなく設定の仕方を参考にすれば動く.

ということで,まずは Ubuntu MATE を入れる.最新は 16.04 beta 2 だった.イメージを落としてきて,解凍して,microSDHC に書き込んで,ラズパイに挿して,電源入れて,タイムゾーン・キーボード・アカウント名の設定を入れて,どうせ固定アカウントで立ち上がればいいので自動ログインに設定して, デスクトップが出てきたら目立つ "Raspberry Pi Information" をポチって "Resize Now" でファイルシステムを microSDHC 全体に広げて,再起動.その後にターミナルで sudo apt-get update やって sudo apt-get upgrade やって暫く放置して sudo reboot で一段落.

そして LCD 用の設定にとりかかる.ググると結構やり方が見つかるけれど,新しいお作法(overlay)なのが出てこないので FBTFT の情報を参考にする.

まず,LCD の device tree overlay のファイルを取ってくる.自前で書いて用意もできるようだけど,面倒なので既存のを利用させていただく.

sudo apt-get install git
git clone https://github.com/swkim01/waveshare-dtoverlays.git
sudo cp waveshare-dtoverlays/waveshare32b-overlay.dtb /boot/overlays/

次に,下記の dtoverlay の設定 3つを /boot/config.txt の末尾に記述する.まず SPI を有効にするために bcm2835 の設定を入れて,それから上で手に入れた LCD 用の設定を入れて,最後にタッチスクリーンの設定を入れる.LCDはデフォルトだと縦長なので,横長になるように回転の設定を入れる.WaveShare の製品ページを見るとタッチスクリーンのコントローラは XPT2046 らしいのだけど,これは よくある ADS7846 とコンパチなので ADS7846 のを使う.GPIO のピン番号は 17 で,圧の最大は 255 で,抵抗はテキトウに 80 としておいて,縦横を入れ替える swapxy の設定を入れて,x軸とy軸の最大最小値はそれっぽい値にしとく(後で別にキャリブレーション値を乗せる).

dtoverlay=spi-bcm2835
dtoverlay=waveshare32b,rotate=90,swapxy=1
dtoverlay=ads7846,penirq=17,pmax=255,xohms=80,swapxy=1,xmin=300,xmax=3795,ymin=300,ymax=3795

これで一応動くけれど,タッチスクリーンの左右が反転しているのでそれを xinput で対処+α のために準備:

sudo apt-get install xinput evtest xinput-calibrator

左右反転とついでにキャリブレーションをするために,次の内容を /usr/share/X11/xorg.conf.d/99-calibration.conf として保存する:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3819 265 134 3842"
        Option  "SwapAxes"      "0"
EndSection

そして LCD に X を起動するのに邪魔なファイルを消しておく(ホームに移動しちゃう):

sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

そして再起動してあげると LCD にスプラッシュが表示される.また,タッチスクリーンを触ると HDMI 側に出ているであろう X のカーソルが動く.

LCD で X が動くかテストするために,テキトウなターミナルで次を実行(ターミナル 1 を LCD に持ってくる).

con2fbmap 1 1 

キーボードで Ctrl+Alt+F1 としてターミナル 1 に移ると LCD にターミナルが出るはず.そのままログインして次のコマンドで X を起動する(/dev/fb1 が LCD のフレームバッファ).

FRAMEBUFFER=/dev/fb1 startx

これで X が LCD 内に起動すれば OK .

あとはデフォルトで LCD のフレームバッファを X が使うように,次の内容の /usr/share/X11/xorg.conf.d/98-fbdev.conf を作る:

Section "Device"
  Identifier "bla"
  Driver "fbdev"
  Option "fbdev" "/dev/fb1"
EndSection

そして再起動したら LCD に X が立ち上がるようになっている.

ついでに起動時のコンソールも LCD に表示したいなら, fbcon=map:10 fbcon=font:VGA8x8 を /boot/cmdline.txt の行の末尾に追記すればいい.

閑話休題.

だがしかし,320x240 って小さいな…… というか UI が大きすぎる.サイズを調整しないと使いにくそう.もしくは HDMI 側のフレームバッファをコピーしてくる形にするべきか.とりあえずここらは TODO.

サーバとメインマシンの起動ディスクをSSD化

起動が遅かったり運搬で壊れやすいかもしれないので起動用のHDDをSSDに置き換えた.サーバはファイルを丸ごと cp -a でコピーして grub.cfg と fstab の UUID を新しいのに変えて grub-install --root-directory=/mnt/ /dev/sdb とかやって終了.メインマシンのほうは調子悪かったのでクリーンインストール.

とりあえず速くなったので満足.ちなみに Intel の 120GB.おまけにIntelのソフト(データ移行用?)が入ったUSBメモリ4GBが付いてきた.中身をよく確認せず Ubuntu 入れてしまったのでよくわからず.

デバイス「石」

外見はこれ.

ただの石でしか無いUSB Pet Rock を「石」というデバイス名で認識されるようにしたかった.ただそれだけ.

結果:デバイスドライバがインストールされるまでの間は「石」と表示される程度になった.そして放っておくと「Ich bin ein Stein.」と打ち続けるという.

石が勝手にキー入力するように&余計なデバイスドライバいらないようにとHIDキーボードとして動くように作ったせいで,ドライバインストール後はデバイスマネージャなどで「HIDキーボード」と表示されてしまう.どうにか出来ないかなぁ… 自前でドライバ書いてゼロインストールとかいう手もあるけどそこまでやるのも面倒だし.

以下,作成メモ.

材料費:USB Pet Rock が 1180円,ATTiny85 が 300円,抵抗(68Ωx2, 2.2kΩx1)・ツェナーダイオード(3.6Vx2)・電解コンデンサ(10μF)が50円,その他USBケーブルとかソケットとか240円位.

ファームウェア部:USBの通信にV-USBを使用.HIDキーボードとして動かす部分はEasyLoggerというサンプルをベースにした.

回路図:stone.pdf .左のLEDは生存確認用なので必要ない.ATTiny85は無駄がなくていい.

嵌りどころ:PROGMEMで確保した定数配列の読み込みには pgm_read_word_near を使わないとアドレスがズレる.USBデバイスの名前はUTF16だけどリトルエンディアンとビッグエンディアンで間違えた….

動画が上手く撮れないという… http://www.nicovideo.jp/watch/sm9813974
つか色々とやるのが面倒になってきた.

リサイクル

邪魔なPCケースの中に入ってたCPU(E6600)とメモリ(DDR2-800 1Gx2)とグラボ(7900GS)を再利用.その他転がってたHDD(500GB)とDVD-Rドライブも再利用.入れ物として小型の Shuttle SG31G2 V2 を用意してぶち込んだ.

さて,このマシンは何に使おうかね.録画マシンにするにはスペック不足かな? 地デジのチューナも余っているといえば余ってるのだけど.

PC-Diagnosticユーティリティ

知らんかったけど Let'snote の自己診断ユーティリティらしい.起動時にPanasonicのロゴが出ている間に Ctrl+F7 を押すと立ち上がる.Let'snote の型番が4以降のヤツに入ってる.

手元のlet'snoteで立ち上げてみたら「テストしてるから83分ほどPC触るなよボケ」とのメッセージと共にCPU/RAM/HDD/DVD/Video/Sound/Modem/LAN/WLAN/USB/PC Card/SD/Keyboard/Touch Padの項目を自己診断してくれた.

Ultra-X というところが作ったものらしい.サポセンに電話する前にこれ使って診断しとけと.でもCPU壊れてたら診断ツール自体も起動しないんだろうなぁ.

2万円のゴミ?

裸族のインテリジェントビルが不安定なのかなぁと思ってコレガのCG-HDC4EU3500を買ってきて試してみたけれど… 状況はさらに悪くなった.

eSATAで繋げるともれなく1.6TB認識になる.

HDDをインテリジェントビルに戻しても1.6TB認識.USB接続なら6TB認識だけど速度でない.

で,結局USB側で領域確保&フォーマットしてあげたらeSATA側でもうまく6TB認識になった.インテリジェントビルの方だけだけど.とりあえずこれで元の状態には復帰できた.

そしてコレガの方は何やっても1.6TB認識のまま.なんとなくもう一度製品情報見直してたら見にくいところに

RAIDコントローラを搭載しているパソコンでeSATA接続するには、パソコンのRAIDコントローラの機能を停止する必要があります。詳しくは、お使いのパソコンの取扱説明書をご覧ください。 RAIDを構成しているパソコンをお使いの場合や、パソコンのRAIDコントローラ機能を停止できない場合などは、USB接続でお使いください。

とか書かれているのを発見.これのせいなのかもしれない.こういう怪しいことは大きくはっきりと書いて欲しい.というか詐欺ちゃうか? 大体にしてeSATAでつなげること以外に価値ねーだろこれ.USBで繋ぐぐらいならNASにするし.

とりあえず2万円のゴミと化した.

«Prev || 1 | 2 | 3 |...| 11 | 12 | 13 || Next»
Search
Feeds

Page Top