【Raspberry Pi】ラズベリー・パイ part2
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2012/10/30(火) 19:05:22.60ID:QrlG/bgFあなたのデスクトップPCができるようなこと、表計算やワープロ、ゲームなどいろいろな用途に使うことができます。
我々は世界中の子供たちのプログラミング学習に使われることを望んでいます。
公式
http://www.raspberrypi.org/
wiki
http://elinux.org/JP:R-Pi_Hub
◆販売元
アールエスコンポーネンツ
http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi
ModMyPi
http://www.modmypi.com/shop/
0159login:Penguin
2012/12/24(月) 08:58:39.74ID:efdFyImaプロセス類がガッツリ食ってるのではなくて
cache/buffer用に一時割り当てされる量が多いみたい。
こんな感じ。。
% cat /proc/meminfo
MemTotal: 497764 kB
MemFree: 11664 kB
Buffers: 31612 kB
Cached: 417520 kB
SwapCached: 0 kB
Active: 76396 kB
Inactive: 390664 kB
Active(anon): 5948 kB
Inactive(anon): 12956 kB
Active(file): 70448 kB
Inactive(file): 377708 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 102396 kB
SwapFree: 102396 kB
0160login:Penguin
2012/12/24(月) 08:59:32.52ID:efdFyImaDirty: 4 kB
Writeback: 0 kB
AnonPages: 17944 kB
Mapped: 10100 kB
Shmem: 976 kB
Slab: 14076 kB
SReclaimable: 9964 kB
SUnreclaim: 4112 kB
KernelStack: 1456 kB
PageTables: 1444 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 351276 kB
Committed_AS: 545872 kB
VmallocTotal: 139264 kB
VmallocUsed: 744 kB
VmallocChunk: 137700 kB
0161login:Penguin
2012/12/24(月) 09:57:37.59ID:rf4Gk9pE今メモリの状態がこんな感じ.
$ cat | head -n 5
MemTotal: 448996 kB
MemFree: 268548 kB
Buffers: 56280 kB
Cached: 98312 kB
SwapCached: 0 kB
これって512MBのうち,いくらかがグラフィック用に確保
されてる気がするんだけど,これってどこで設定されている?
グラフィックは全くいらんので変更したい.raspberry を
インストーラでインストールしたので,raspi-config は無い.
0162login:Penguin
2012/12/24(月) 09:59:02.58ID:rf4Gk9pEすまん,cat のところは cat /proc/meminfo ね.
0163login:Penguin
2012/12/24(月) 12:45:24.81ID:IbpuZHsa/boot/config.txt に gpu_mem=16 を追加
0164login:Penguin
2012/12/24(月) 12:54:50.25ID:E6q8YXZl>>cache/buffer用に一時割り当てされる量が多いみたい。
いやそれは普通だから。
0165login:Penguin
2012/12/24(月) 13:07:14.94ID:rf4Gk9pEサンクス.gpu_mem=16 を追記して再起動したらばっちりトータルが増えた.
$ cat /proc/meminfo | head -n 5
MemTotal: 497764 kB
MemFree: 451972 kB
Buffers: 6416 kB
Cached: 22396 kB
SwapCached: 0 kB
ちなみに = の左右に空白を入れるとだめだった.なんて微妙な.
もともと /boot/config.txt には何も書いてなかったんで,デフォルトで
64MBになるということか.
0166login:Penguin
2012/12/24(月) 18:09:08.17ID:E6q8YXZlhttp://www.kickstarter.com/projects/thingm/blink1-the-usb-rgb-led
0167login:Penguin
2012/12/24(月) 19:39:16.05ID:mkOtaYxYいいと思うけど、具体的にはどうやるの?
/dev/USB0 に数字でも書き込むわけ?
0168login:Penguin
2012/12/24(月) 21:27:10.09ID:fmFMEiDIUSBシリアルじゃないかな。
ちょい前にそれっぽいのUSB付きPICで自作したけどUSBシリアル制御
方式にしたなぁ
0169login:Penguin
2012/12/24(月) 21:51:29.43ID:gzNbIczKうちのTVは19inchだが、解像度を落とすにはどうすれば良いんでしょう?
0170login:Penguin
2012/12/24(月) 22:18:55.77ID:gzNbIczK事故レスっす
/boot/config.txtいじって、TVの解像度に合わせたら読めるようになりました
どうやら、ダウンコンバートがかかってて見づらかったようだ
いろいろ、すまん
0171login:Penguin
2012/12/25(火) 02:31:50.60ID:1LFJUMCmクリスマスに届けてくれるなんて、まじ嬉しいぜ
年末の暇つぶしはコイツで決定
0172login:Penguin
2012/12/25(火) 10:06:24.29ID:FaQKRkhkGPIOの立場が…
0173login:Penguin
2012/12/27(木) 00:37:02.40ID:1ekW9+EWなんでわざわざそれ使うんだ?
0174login:Penguin
2012/12/27(木) 02:09:33.98ID:c3T02mBa100Ωの抵抗+LEDの両端をGPIOのどっか(例えばGPIO4)と、GNDとにかまして、
echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
echo "1" > /sys/class/gpio/gpio4/value
とか叩けば幸せになれるんでは?
http://pc.watch.impress.co.jp/docs/column/musashino_proto/20120808_551840.html
0175login:Penguin
2012/12/27(木) 15:18:47.54ID:jRNj7dyY512MBになっているというからもう1枚買おうかと思う。
いま納期の状況はどうなってんの? RS見てもあまり詳しいこと
書いてないんだが、また半年待ちだと萎えるな
0176login:Penguin
2012/12/27(木) 15:42:54.85ID:dUT0kBh0二週間ぐらいで発送してくれるみたいよ。
0177login:Penguin
2012/12/27(木) 15:59:24.44ID:jRNj7dyY産休。だいぶ良くなってるんだね、買っておこう。
0178login:Penguin
2012/12/27(木) 17:33:12.70ID:W3/9ke4M基板ver1.0と2.0のサウンド出力ポートには誤配線に起因する音の歪みと、DCオフセット問題があり、
幾つかのDCカップリングのアンプなどには深刻なダメージを及ぼすかもしれない。
その代用として、HDMIまたはI2S機能を使用することが推奨されます。
もしこのポートを使う必要があるなら、DC阻止のキャパシタを装備している機器を使いましょう。
これはSoCとDC阻止Cの間に来るべきサージ抑制回路が、DC阻止Cの後ろにあるために
信号の整流効果を持ってしまい、DCオフセットと歪みをもたらしてしまうという問題である。
設計修正は簡単で、サージ抑圧ダイオードの後ろにDC阻止Cを移動させてから、
100Kオームの抵抗(470Kから最大1Mまでアリかな)でGNDに落としてやればいい。
(訳注:コネクタ側から見て、まず100Kオームのプルダウンで受け、それをDC阻止Cで切り、
それでも通過する成分をサージ抑制回路で除去してからローパスフィルタを経てSoCに繋がる形。)
ジャックの直前に、直列に100オームの抵抗を入れることも、望まないRF障害を抑えるのに役立つかもしれない。
もし、既存の基板に高品質の出力を求めるならば、D12とD13を基板の出力から切り離すことが必要になる。
(訳注:>>127で部品のデータシート提示とpin3浮かしor撤去を提案したのは、この部分だけを書いたワケ。)
それらの各3点接続位置は、VCCと信号線そしてGNDであり、それらの位置を的確に把握してから、
VCCへの誤接続に注意しつつ、10K〜100Kオームの抵抗で信号線とGNDを接続してやりましょう。
これは高難度のSMDリワークにあたるので、練習用のツール(訳注:練習台とか犠牲基板とも言う)で
先に習熟してからこの改修に臨むことをオススメします。(末筆注記:原文筆者はその技術がないけど
何がなされるべきかだけを基にこういう事を書いているのである。)
訳者注記:製品を持っていないのに、前掲のwiki記事から訳しているのである。
0179login:Penguin
2012/12/27(木) 17:48:46.76ID:W3/9ke4M・回路図は >>114,116から。
ttp://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf
ttp://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf
・オーディオ出力のバグ対策で、原文は>>125から。
http://elinux.org/RPi_Bugs
0180login:Penguin
2012/12/27(木) 20:43:33.69ID:1ekW9+EWなんだよツンデレかよ
0181login:Penguin
2012/12/27(木) 21:33:53.53ID:c3T02mBaD12とD13削ったけど、ポップノイズはやっぱダメだったわ。
あちらでも悩んでる人多いみたいね。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=38&t=8783
とか
https://github.com/OpenELEC/OpenELEC.tv/issues/923#issuecomment-6909718
とか…
結局ドライバーが原因みたいなんだが、どうなったんだろう。
0182login:Penguin
2012/12/28(金) 00:06:56.61ID:EjqCmHMyPWM出力の部分がなんというかダメダメ。海外の文献を参照しないで書いたので独善的かも。
無音時にHi-Zとなり出力線にDC成分は発生しないが、
音を出す際にドライバがポートをイネーブルするので、DC成分が発生。ここでポップノイズが出る。
同様に、無音化するときにもDC成分消失でポップノイズが出る。
対策案
・SoC出力をDCカットCで結合して、ローパスフィルタを経て出力。
270オームのチップ抵抗の片足を浮かすかパターンカットになる。
追加したCとローパスフィルタで周波数特性をもつので、シミュレータで特性を調べながら
現物でカットアンドトライでいくしかない。
・既存の10uFを無極性電解Cに変更。
・外部に出力する手前にバッファアンプ入れた方がいいかも(ここにもDCカットか)。
まぁ、なんというかやってみないとわからない。
作業される場合はパターン剥離やチップ部品の紛失に気を付けて
0183login:Penguin
2012/12/28(金) 17:01:15.17ID:7dFBO6Y3レスサンクス
I2Cのポート潰したラズパイで正月休みに
色々やる予定w
また報告します。
0184login:Penguin
2012/12/29(土) 01:47:24.51ID:yZtP1YxO無音時にHi-zというのは、ソフトによるコントロールでHi-zにしてるという事でいいんだよね。
とするとR20、R26でLレベルにされているので、
Lから音声出力時の中間電位(PWMだから時間平均で中間)に移行するときの、
急変とリンギングで音が鳴ってるってことかな?
だったら、Hi-zの時に中間電位にすれば良いのでは?R20の2番から抵抗を挟んで
3.3Vにつないでターミネートする感じですかね。
単純にR20の抵抗値を300Ωに変更、300ΩでR20の2番から3.3Vに接続って感じ?
#本当の中間がどこだかわかんないけど・・・・
一番簡単なのは無音時にもPWMを動かしておけるようにデバドラ変更するとかね
0185login:Penguin
2012/12/29(土) 10:55:54.24ID:zjNwySBgでもSoC出力をACカップリングで受けていいのか気にならない?
後段にバッファアンプ(ここでLPF機能を持たせる)置くのも良さそう。
その一方で、USB接続のDAC置けば根本的な解決だろうと言ってはダメ? 数百円で買えるけど
0186login:Penguin
2012/12/31(月) 10:05:52.96ID:nSo+63ajこれ動作する?
だめなんだけど
0187login:Penguin
2012/12/31(月) 10:54:36.37ID:x4lWtnhH0188login:Penguin
2012/12/31(月) 11:18:48.12ID:PA4VZcKAいまどこ?
1:コマンド叩いたけどエラーばっかり出てうざい。
2:rubbyがないと言われてむかつく。
3:SiringPi:::GPIO classがないと言われるぞ。
4:実行しても普通に終わるけど何コレ?
5:最初のを実行してもGPIO1の出力が3.3Vにならない。
6:次のを実行してもシリアル出力から"Hello world!"が出力されない。
1-4 → ggrksですわ
0189login:Penguin
2012/12/31(月) 15:09:50.38ID:nSo+63aj5どす
シェルスクリプトでは正しくピンを制御できているので、基本的な考え方は分かっているつもりです
0190login:Penguin
2012/12/31(月) 17:49:33.98ID:XBDjFi1OそういやこのプログラムGPIO1を制御しようとしてるけど、Rev2.0基板ではGPIO1は
P1ヘッダに出て来ないよ。
http://elinux.org/RPi_Low-level_peripherals
pin = 1をpin =4とかにして、P1の7pinの出力を見てみては?
0191login:Penguin
2012/12/31(月) 18:23:04.33ID:nSo+63ajirb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'wiringpi'
=> true
irb(main):003:0> pin = 4
=> 4
irb(main):004:0> io = WiringPi::GPIO.new
=> #<WiringPi::GPIO:0x406b36a8 @mode=0>
irb(main):005:0> io.mode(pin, OUTPUT)
=> nil
irb(main):006:0> io.write(pin, HIGH)
=> nil
irb(main):007:0> io.write(pin, 1)
=> nil
irb(main):008:0> pin = 7
=> 7
irb(main):009:0> io.mode(pin, OUTPUT)
=> nil
irb(main):010:0> io.write(pin, HIGH)
=> nil
irb(main):011:0> io.write(pin, 1)
=> nil
irb(main):012:0> io.write(pin, LOW)
=> nil
irb(main):013:0> p HIGH
1
=> nil
irb(main):014:0> io.write(4, 1)
=> nil
irb(main):015:0> io.write(4, HIGH)
=> nil
0192login:Penguin
2012/12/31(月) 18:23:47.37ID:nSo+63aj0193login:Penguin
2012/12/31(月) 18:44:42.53ID:nSo+63ajpin = 4 って指定するとGPIO23が制御できて
pin = 5 って指定するとGPIO24が制御できてるぞ
でもこれだとGPIO4とかどうすればいいんだ?
0194login:Penguin
2012/12/31(月) 18:59:04.77ID:nSo+63ajsleep(0.001)のとき(ΔT=1msec)
http://imgur.com/SSsIE
sleep(0.005)
http://imgur.com/Y0q28
sleep(0.010)
http://imgur.com/UDZsH
10msecくらいならだいたい許容できるかな
0195login:Penguin
2012/12/31(月) 21:35:06.19ID:k8pLvEowこうすれば専ブラ内部で閲覧可
http://i.imgur.com/SSsIE.png
http://imgur.com/Y0q28.png
http://imgur.com/UDZsH.png
0196login:Penguin
2012/12/31(月) 21:37:20.61ID:nSo+63aj0197login:Penguin
2012/12/31(月) 22:21:45.59ID:nSo+63aj0,17
1,18
2,N/A
3,22
4,23
5,24
6,25
7,4
8,N/A
9,N/A
10,8
11,7
12,10
13,9
14,11
15,14
16,15
0198login:Penguin
2012/12/31(月) 22:22:19.06ID:nSo+63aj18,N/A
19-20,実行時エラー
/var/lib/gems/1.8/gems/wiringpi-1.1.0/lib/wiringpi.rb:162:in `mode': invalid 19, available gpio pins: 0147891011141517182122232425 (ArgumentError)
from ./pintest.rb:9
21,N/A
22,N/A
23,N/A
24,N/A
25,N/A
26-,実行時エラー
0199login:Penguin
2012/12/31(月) 22:23:13.88ID:nSo+63aj0200login:Penguin
2013/01/01(火) 01:04:47.67ID:5FARvjHS>>197-199
今ググったらWiriningPiのIOピン配置が載ってるサイト見つけました。
https://projects.drogon.net/raspberry-pi/wiringpi/pins/
WiringPiはArduinoのリソースを使うためにピン番号のマッピングしてるから、
違っていて当然なんでしょうね。
Arduinoのリソースを使う予定がなかったら素直にGPIOを使った方がいいかと。
0201login:Penguin
2013/01/01(火) 19:58:01.07ID:De1bT1WC0202login:Penguin
2013/01/01(火) 20:02:03.87ID:mRI80rNm0203login:Penguin
2013/01/01(火) 20:46:13.27ID:nZQXroichttp://www.amazon.co.jp/dp/B000T738TE/
http://www.amazon.co.jp/dp/B001TH7T2U/
http://www.amazon.co.jp/dp/B000V4NYP8/
http://www.donya.jp/category/587.html
http://www.donya.jp/item/21539.html
http://www.donya.jp/item/21540.html
0204login:Penguin
2013/01/01(火) 21:12:52.30ID:De1bT1WC0205login:Penguin
2013/01/02(水) 10:00:30.72ID:DPLiroznカメラは何を使っている?
バッファローのBSW20KM01Hで、画像の解像度が352x288以上上げられない。
(上げると画像が乱れる。)
同じカメラでLS-GL+squeezeでは640x480までイケたのに。
0206login:Penguin
2013/01/02(水) 10:10:20.14ID:5MjA5MS8電源確認したほうがいいんじゃないか?
0207login:Penguin
2013/01/02(水) 10:19:27.58ID:Ywox9YvgELECOM Webカメラ 130万画素 マイク内蔵 イヤホンマイク付属 HD対応 UCAM-DLN130TWH
同じく、ラズパイでは画像の解像度が320x240以上上げられない。
0208205
2013/01/02(水) 10:23:05.54ID:DPLiroznセルフパワーのUSBハブ経由でもダメだったんだよ。
解像度が上げられるならそのカメラを買ってしまおうと思うのだが。
カメラのせいなのか環境のせいなのかを確かめたい。
0209205
2013/01/02(水) 10:35:39.64ID:DPLiroznレスありがとう。
やはり、解像度は上げられないのですね・・・。
luvcviewなるもので確認してみたら、
luvcview version 0.2.1
Video driver: fbcon
Hardware surfaces are available (675K video memory)
video /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/9,
{ discrete: width = 1600, height = 1200 }
Time interval between frame: 1/6,
と出ているので対応してそうなんだけどね。
0210login:Penguin
2013/01/03(木) 01:11:06.06ID:KQIZPecO図面はどこに書いてあるんだろう SPIなんだろうか
aitendoとかで売ってるのが使えるのか?
0211login:Penguin
2013/01/03(木) 08:22:55.66ID:3HPCE14O2.4" LCD on Raspberry Pi GPIO って、
ttp://www.youtube.com/watch?v=AzrvO8r8_pU のこと?
だったら、本人の Web サイト見ると色々書いてあるみたいよ。
英語だから、よくわからんけど。
ttp://spritesmods.com
0212login:Penguin
2013/01/03(木) 11:06:48.12ID:Yt2ZxvZkhttp://spritesmods.com/art=spitft&page=2
0213login:Penguin
2013/01/03(木) 11:13:21.04ID:Yt2ZxvZkごめん、なんか失敗
http://spritesmods.com/?art=spitft&page=2
0214login:Penguin
2013/01/04(金) 00:32:34.46ID:FYhzAMKG5分位で8080ポートも8081ポートも応答がなくなる。
サービス再起動で復旧するから、どうも内部で暴走してる模様。
0215210
2013/01/04(金) 01:22:37.47ID:1lhNkhSu配線少なそうに見えたけど、裏にこんなにあったのか・・
0216login:Penguin
2013/01/04(金) 06:10:32.42ID:lEvoivSLメッセージを読めば大体の原因も掴める
大方、ウォッチドッグタイムアウトだろう
0217login:Penguin
2013/01/04(金) 07:55:29.72ID:k+5MzTC7フレームレートはいくつ?
0218login:Penguin
2013/01/04(金) 11:01:33.96ID:k5M4zHoF我慢し続けていたんだけど、512MBのメインメモリに心惹かれてModMyPiで2枚ご注文。
256のVer.1.0はGUIで操作すると時々固まることがあったけど今度はどうかな?
そのうちこういう形状のマシンが自作できないか構想中
http://oldcomputers.net/pics/trs80-100.jpg
エネループ単三4本とキャラクタLCDを使えば無線LAN使いながらも1日持ち歩ける
マシンとか出来ないだろうか? キーボードはHHKやFilcoのテンキーレスを
使うなどしてウチ味には拘りたい。
0219login:Penguin
2013/01/04(金) 11:13:30.22ID:w29SMBJpすでにYoutubeにいろいろアップされてる。
0220login:Penguin
2013/01/04(金) 11:28:23.38ID:k5M4zHoF「タンディのケースとキーボードを利用したRPIボックス、出力はHDMIでテレビへ」
が欲しいんじゃなくて
「しっかりとしたキーボードが使えるスレートデバイス。できれば一日充電ナシで
Emacs/Vimが使い続けられる大型HP200LX」みたいなイメージ
0221login:Penguin
2013/01/04(金) 12:31:56.00ID:vTQwGucWでも日本語とかキャラクタ液晶じゃ力不足なんだよな
素直にandroidのスマフォのがいいよ
解像度vgaは欲しいし
022277
2013/01/04(金) 12:47:40.10ID:4Q5npQAI0223login:Penguin
2013/01/04(金) 16:21:04.23ID:2UlAsQFz同じ容量として売られているSDカードでもベンダーが違うと有効セクタ数が微妙に違うのな。で、別のSDカードへリストアのテストしたらセクタ数が足らなくてエラー。結局、tarで固めておくしかないのか。。
皆さんはバックアップどうしてますか?
0224login:Penguin
2013/01/04(金) 16:23:41.61ID:w29SMBJp0225login:Penguin
2013/01/04(金) 16:32:07.22ID:2UlAsQFz使ってるのは32GBです。確か、これがSDHCの上限サイズ。
0226login:Penguin
2013/01/04(金) 16:36:30.53ID:ThTNoesEもう遅いが、容量より小さくパーティションを切って、それをddするのがコツ。
0227login:Penguin
2013/01/04(金) 16:50:23.64ID:2UlAsQFz最初のコンフィグ画面でexpandしちゃったよ。
0228login:Penguin
2013/01/04(金) 16:58:19.66ID:jjyyxy+k0229login:Penguin
2013/01/04(金) 17:10:03.82ID:2UlAsQFzkpartxは知らなかった。
試してみる。
ありがとう!
0230login:Penguin
2013/01/04(金) 23:06:25.48ID:UrIAhrbBはじめに
私の友人の1人が、最近私に、3インチクラスの小形LCDとタッチスクリーンのセットをRaspberryPiに
繋げないかと聞いてきた。彼はそれらをクルマに搭載してMP3を再生したり、Bluetooth接続などで
電話の着信を考えているという。
不幸なことに、ラズパイには2つの方法しかない。一つはコンポジットビデオ出力を経た信号をLCDパネルに
投影することだが、それは映像の品質がちょっとアレなのである。 もう一つはHDMI経由での出力だが、
これは格安LCDの多くとは接続互換性がない。 DSIインターフェース越しの接続もあるが、
それに互換性のあるLCDパネルや変換基板は今のところは多くない。 そのインターフェースは
また現在のラズパイのソフトウェアではまだ適切に稼働するとは言い難いようだ。
これに考えを巡らせると、タッチスクリーン組み込みの3.2インチLCDが今日日のeBayでは
20ユーロで販売されているのである。それらには組み込みコントローラが搭載されていて、
ラズパイに接続するためにビデオ・ハードウェアを持たせる必要はない。 Linuxベースの
組み込み基板をこういうのを組まない理由はないでしょ? 私はこれを検証に値する物だと決めて、
SSD1289コントローラを搭載の320x240解像度なLCDを自腹で買ったのである。
私はラズパイのピンアサインを知る幸運な人間じゃなかったので、そのLCDを他のLinux基板、
8devices Carambolaに接続してみることにした。ttp://www.8devices.com/product/3/carambola
この基板は安物で、簡易なルータに由来するLinux基板で、多くのネットワーク接続性があり、
350MHz駆動のCPU、8MBのフラッシュメモリ、32MBのRAMと、
このプロジェクトに重要なもの: オープンソースのソフトウェア(openwrtベース)と幾つかの予備GPIOと
SPIインターフェースがある。 それでは、CarambolaがLCDと話ができるかどうか見てみよう。
0231login:Penguin
2013/01/05(土) 01:13:44.11ID:IfhuzE2hhttp://cubieboard.org/
0232214
2013/01/05(土) 03:30:19.88ID:7JK06Dkqフレームレートは設定上15fpsだけど、8081ポート経由で見ると
最大5fps位で、定期的に固まっては動き出すを繰り返す。
動体検知していない時はCPU30%位で、カメラの前で手を振ると90%位に跳ねる。
調子悪くなったら、再起動じゃなく電源再投入が吉。今は比較的安定しているよ。
0233login:Penguin
2013/01/05(土) 04:16:07.58ID:rHMC6K/o電源は何を使ってますか。
電源の貧弱さが悪さをしている可能性を考えてみた。
0234login:Penguin
2013/01/05(土) 05:24:39.99ID:6PAWwZcd中国人主導ってのが怪しすぎる。
クラウドファンディングでカネ集めてドロン、だろうな。
それよりもこっちだろ。
http://apc.io/
http://jp.rs-online.com/web/p/single-board-computers/7689782/
俺自身1個買った。
ただ、ユーザが少ないので情報が集まりづらいのがネックだ。
その点 RaspberryPI は2ちゃんにスレが二つあるほど
メジャーだから(笑)、情報も集めやすい。
0235login:Penguin
2013/01/05(土) 06:30:21.99ID:CeMAvRBg単なるARM-PCとして見るか、Ethernetが付いてる開発用ボードとして見るかで評価が変わってくるんじゃね?
Raspberry Piはどっちの機能も備えてるけどガチ運用には向かず、
APCはその点は問題ないけど、開発用ボードとして見たときにあんまり面白味がないような‥
0236214
2013/01/05(土) 09:44:59.32ID:7JK06Dkq電源はセルフパワーのUSBHubにぶら下げて使ってます。
USB無線LANとか差し込むと落ちるので、電源の可能性ありますね。
後でACアダプタ調達して試してみます。
0237login:Penguin
2013/01/05(土) 10:20:24.80ID:8bGttbOeAPCは現状Androidしか動いていないのがネック。 テレビに繋いでスマートテレビ
を安く組むには便利そうだけど、それ以外に使い道が広がらない。
LinuxやBSDが動き始めたらもっと注目する人も増えるだろうけど
0238login:Penguin
2013/01/05(土) 12:32:50.61ID:6PAWwZcdAPC用のRaspbian、その名も "Apricot" ってのが有りますぜ。
http://www.raspbian.org/ApricotImages
0239login:Penguin
2013/01/05(土) 20:20:44.34ID:NW2SrYsShttp://www.slideshare.net/EnsekiTT/firefox-os-raspberry-pi-15769470
0240login:Penguin
2013/01/05(土) 21:51:38.82ID:bf57tGxIPC-8201思い出した
0241login:Penguin
2013/01/05(土) 22:00:02.75ID:8bGttbOeうぉっ! 知らなかった。役立つ情報をありがとう。
ラズビアンベースなら使い勝手も良さそうだし一つ買ってみます。
0242login:Penguin
2013/01/05(土) 22:18:36.71ID:rHMC6K/oハードウェア
最初の問題はLCDが16ビットのパラレルインターフェースだったこと。 それはとってもステキだけど、
それをドライブできるだけの16個超のGPIOピンがなく、もしそれをカバーするだけのピン数があったとしても
プロセッサの処理時間をそれらのピンのON/OFF操作のためだけに取られたくなかった。
Carambolaの実際のそれはピン数は少ないが、SPIポートでインターフェースするにはちょっと速すぎで、
接続するには多くのハードウェアを必要とするのである。
今、そのLCDコントローラ自身はSPIインターフェースを持つが、不運にも私が見たLCDのいずれも
私は16ビットパラレルインタフェースとSPIポートを繋ぐ何らかのロジックを考えなければならないのだろう。
SPIポートからパラレル出力を得るための一般的なほうほうはシフトレジスタを用いる方法であり、
以下のようにやってみた。
図表参照:ttp://spritesmods.com/spitft/schema.png
もし、シフトレジスタがどのように動作するのか知っていれば、この回路はよく知っていることでしょう。
シフトレジスタ(CD4094を3つ使用)はカスケード接続され、Carambola基板が3バイト分のデータを
シフトレジスタの最後まで送出します。 シフトレジスタのストローブ入力はまた、LCDインターフェースの
/CSラインにも接続され、そのラインがLowに駆動されると同時にシフトレジスタがデータを出力し、
LCDがその値を反映させられるように保持し続けます。
このように、3バイトをシフトレジスタに順次送り込んでストローブ線を落としてやれば、
16ビットのコマンドまたは画素データをLCDに送ることができる。
0243login:Penguin
2013/01/05(土) 22:20:47.49ID:rHMC6K/oこの回路では、strobe信号はCarambolaに直接接続されているわけじゃなかった。 最初のトライでは、
それは確かに直接接続されていて、SPIバス越しに各ピクセル3バイトのパケットが送られ、
ストローブ信号をLOWに落とすことで一連の動作を終えるのです。 不運にも、そういうパケットを
送信することは多くのデータを同時に送信するようなものなので、かなりのオーバーヘッドに
なっていしまっている。 それでCD4020の出番となった。
それは32クロックサイクル(4バイト長の)をカウントし、自動的にCD線を下げてくれるのである。
このように、命令を4バイト長で送信することで、独立のデータとして送信できるようになり、
オーバーヘッドを回避できた。
LCDの基板に実装されているタッチスクリーンのチップには、それ用のSPIインターフェースがある。
Carambola基板では、幾つかのGPIOピンを使い、そのGPIO-SPI変換部を第二のSPIバスとして
認識するようにインプリメントした。
LCDの裏側にある基板には充分なGNDエリアがあることに気づき、そこにICを裏返しに実装することに決めた。
図表参照:ttp://meuk.spritesserver.nl/foto/foto/misc14/IMG_7623.JPG
プリント基板には幾つかのキャパシタとLM1117-3.3がひとつあるのを気づくでしょう。
3.3VラインはLinux基板側からLCDユニット側に充分な電力を供給することができなかったので、
別途5Vを供給して、そこでLCDユニット用の3.3Vを供給しているわけです。
今や、ハードウェアの準備はでき、残すはLinuxがこの組み合わせを
有効なディスプレイ装置として認識するためのカーネルドライバを書くだけになりました。
0244login:Penguin
2013/01/05(土) 22:25:43.51ID:rHMC6K/oドライバ
もちろん、Linuxシステムに接続されたLCDパネルだけでは何も表示することはできず、
それ用のソフトウェアドライバが必要になります。 私はLinuxカーネル用の
フレームバッファ・デバイスドライバをわざわざ書いたので、プログラムを走らせて
フレームバッファデバイスに直接書けるため、Xを走らせたり等に、
Linuxコンソール用のLCDを使うことができます。
普通は、フレームバッファにはCPUが直接ビデオメモリにアクセスする機能を持っているものだから、
例えばXサーバは直接それに書くことができるのです。 これはちょっと風変わりなSPIドライバなのですが、
幸運にもカーネルはそのための解決策を持っていたのです。 RAMのランダムビットを、
Linuxカーネルがフレームバッファ・メモリに割り当てることができますす。
そしたら、遅延I/Oフレームワークの支援を得られるようになり、常時そのメモリの一部が
どのメモリ・ページに書かれたのかを知らせてくれるようになるのです。
そしたら、それをRAM内フレームバッファメモリを実際のディスプレイデバイスに同期させられます。
幾つかの調査のあと、LCDに内蔵のSSD1289を既にサポートしているドライバを2つ私は見つけました。
私が配線したSPIインターフェースはサポートしていないものの、それらのドライバいずれにも癖があり、
片方のドライバにはLinuxカーネルの遅延I/O機能を使わないが、LCDに現在のフレームバッファの内容を
転送するのにCPU100%貼付きを炸裂させ、もう片方のドライバは私が全てのカーネルインターフェースを
実装しなかったのだが、LCDをコンソール化するのを不可能にした。 それら2案をひとつにまとめ、
さらに私が作ったコードを埋め込むことでLCDをシフトレジスタ越しに制御できるようにしたのである。
図表参照:ttp://meuk.spritesserver.nl/foto/foto/misc14/IMG_6890.JPG
もし、LCDをあなたの組み込みデバイスに搭載したいなら、Linuxカーネル向けにパッチしたドライバを
パッケージ化してあるので、それを好みのSPIベースの組み込みデバイス向のカーネルに適用し、
ドライバをイネーブルするためにカーネル設定ファイルにオプションを組み入れてやればよい。
0245login:Penguin
2013/01/05(土) 22:28:52.45ID:rHMC6K/o単にドライバをイネーブルするだけでは充分じゃない。というのも、ドライバがSPIポートを
使うようにドライバーに教えてやる必要があるのである。 それはあなたが使う特定のボード用の
セットアップ・ソースファイルを編集すればいいんだけど。 通常ならそれはSPI設定部分の
modaliasの記述行を見つけて、それをSSD1289に書き換えてやればいいのである。
たとえば;(おそらく、インデント位置がずれます)
> linux-3.3.8/arch/mips/ralink/rt305x/mach-carambola.c:
> static struct spi_board_info carambola_spi_info[] = {
> { /* Display, on native SPI-bus (id=0) */
> .modalias = "spi-ssd1289",
> .irq = -1,
> .max_speed_hz = 52428800,
> .bus_num = 0,
> .chip_select = 0,
> };
もし、完全な書式事例を見たいなら、私のCarambola基板パッチで何をやったのかを参照すればいい。
併せて、セカンダリSPIポートをLCDのタッチスクリーン用に追加しています。
もし、タッチスクリーンまで動作させたいなら、それもコピーするだけなのです。
ttp://spritesmods.com/?art=spitft&page=4
おわりに
キーボードを追加したので、我がCarambola基板はインタラクティブでグラフィカルなLinux機です。
動画参照:ttp://www.youtube-nocookie.com/embed/69WJuxghAQ8
前述しているように、SSD1289サポートをカーネルに追加するパッチと、
さらにCarambola基板用のカーネルソースのサポートパッチまでもダウンロードできます。
いずれもLinuxカーネル同様にGPLv2に則ってライセンスされます。
Happy hacking!
0246login:Penguin
2013/01/05(土) 22:38:43.69ID:rHMC6K/oLCD接続の事例として参考になるかと思い翻訳してみました。
最後のユーザーコメント部分は未翻訳のままですが。後半に近づくに従い
意訳を積極的に行うようになってきているので完全な一致文ではありません。
ですが、かけ離れた訳にはなっていないとも思いますが、本職の方々からすれば
ええ加減な仕事しやがって、かもしれません。その辺を加味して参照してください。
既にLCD搭載ドロイド機なども紹介されているようなので
あくまでも自前でラズパイに小形のLCDを小細工して繋ぎたいっていう事例の参考になれば幸いです。
誤訳等あれば指摘下さい。こう訳す/読むんだっていう修正文もあればスレに充実をもたらすかと思います。
長々と失礼しました。
0247login:Penguin
2013/01/05(土) 23:01:20.88ID:o5rc1Sqqthx
0248login:Penguin
2013/01/06(日) 01:07:55.01ID:K7j8seSPFirefox OS入れられるんかい
届いたら何しようか迷ってて放置しそうな気がしてたけど弄り欲が湧いたw
0249login:Penguin
2013/01/06(日) 11:33:35.11ID:Gm1Oqm3zAPCのAndroidは 2.3なのね。まあ CPU 800MHz じゃ Android 4.xは無理か・・。
0250login:Penguin
2013/01/07(月) 07:11:00.69ID:f6Ca/PHR乙
0251login:Penguin
2013/01/07(月) 10:15:30.83ID:MIPoaD4oGJ! 乙でした。
0252login:Penguin
2013/01/07(月) 16:29:14.06ID:4zheC8Azttp://d.hatena.ne.jp/akihirom/20120929
ここを参考に不要なデーモンを消すとRaspi-configができなくなるので不安なんですが?
0253login:Penguin
2013/01/07(月) 16:56:40.16ID:LflzcddmGUI無くても、キャラクタベースで普通に
raspi-conf出来ますよん(^ ^)
0254login:Penguin
2013/01/08(火) 05:38:40.08ID:LbE2CTYZCUIだと どうこうという話じゃなくって
apt-get remove triggerhappy
すると triggerhappy につられて
Removing raspi-config されちゃうってことですね。
設定は残るので変更する予定がなかったら問題無いのですが、
想像通り「 command not found」になります。設定変更できなくなります。
ただ、いつでも apt-get install raspi-config できます。
0255login:Penguin
2013/01/08(火) 07:07:01.61ID:Tia5+6pWapt-get install postgresql-9.1でインストールするのですがインストールが終わりpostgresqlが起動しようとすると
このメッセージを吐いて落ちます
[....] Starting PostgreSQL 9.1 database server: main[....] The PostgreSQL server failed to start. Please check the log output:
2013-01-08 06:42:39 JST LOG: could not bind IPv4 socket: Cannot assign requested address
2013-01-08 06:42:39 JST HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2013-01-08 06:42:39 JST LOG: could not create IPv6 socket: Address family not supported by protocol
2013-01-08 06:[FAIL JST WARNING: could not create listen socket for "localhost"
2013-01-08 06:42:39 JST FATAL: could not create any TCP/IP sockets ... failed!
failed!
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-9.1 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)~
ログを良く見ろとのことなのでログも上げときます。
2013-01-08 06:28:49 JST LOG: could not bind IPv4 socket: Cannot assign requested address
2013-01-08 06:28:49 JST HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2013-01-08 06:28:49 JST LOG: could not create IPv6 socket: Address family not supported by protocol
2013-01-08 06:28:49 JST WARNING: could not create listen socket for "localhost"
2013-01-08 06:28:49 JST FATAL: could not create any TCP/IP sockets
0256login:Penguin
2013/01/08(火) 08:08:00.83ID:7/lGUz2Q0258login:Penguin
2013/01/09(水) 18:51:12.39ID:/rMVdafNらしいので中5日で到着。 Raspbianは256の頃に落としたのと結構中身が
変わってるんでしたっけ? 新しくダウンロードし直したほうが良いのかな、、、
■ このスレッドは過去ログ倉庫に格納されています