全3件 (3件中 1-3件目)
1
![]()
Raspberry Pi の表示を液晶パネルを買ってやろうかなと思ったのだが、とりあえず余っている VGA ディスプレイに出力したいなと。Raspberry Pi と Sony RC-S380/P、nfcpy で NFC カードの IDm を読み取る ができたので、pasori にタッチしたら何か表示するみたいなことができるように。これには、HDMI から VGA へのコンバーターが必要。ここにお金をかけたくないので安いものを購入した。【送料無料】HDMI to VGA adapter HDMI信号ををVGA出力信号に変換するアダプター 「音声出力ありタイプ」 DVM-HDMTOVGA何もせずに接続しても、真っ黒画面なので、/boot/config.txt に下記の行を追加。1024x768 60Hz で接続できるようになった。hdmi_ignore_edid=0xa5000080hdmi_force_hotplug=1hdmi_group=2hdmi_mode=16hdmi_driver=2解像度は hdmi_mode の値を変えればいい。その他、参考リンク。Raspberry Pi にHDMI->VGA変換器と、USBディスプレイをつなぐRPiconfigRPi_config.txtR-Pi TroubleshootingRaspberry Pi beta Tag InfoHDMI video setup for old VGA monitorsHDMI-VGA Adaptor "input not supported"Raspberry Pi => VGA★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
2014.03.30
コメント(0)
![]()
『Raspberry Pi [実用入門] - 手のひらサイズの ARM/Linux コンピュータを満喫!』 著: Japanese Raspberry Pi Users Group を買ったので、さらに Raspberry Pi で遊んでみる。この本の中で紹介されている WebOPi を試してみることにした。【送料無料】Raspberry Pi「実用」入門 [ Japanese Raspberry P ]WebIOPi からダウンロードして、sudo sh setup.sh でインストール。ちなみに現在の最新バージョンは 0.7。$ tar xvzf WebIOPi-x.y.z.tar.gz$ cd WebIOPi-x.y.z$ sudo ./setup.sh$ sudo /etc/init.d/webiopi startブラウザから http://raspberrypi:8000/ でアクセスして、デフォルトの user は "webiopi"、password は "raspberry"。GPIO Header をクリックすると、http://10.100.1.4:8000/app/gpio-header に次のようなページが表示される。OUT/IN をタップすると、GPIO の direction を動的に変更できる。また、pin 番号をタップすると、出力状態を変更できる。LEDのオンオフみたいのも当然この仕組みを使ってできる。サービスとして動かさずに、コマンドラインから動かす場合は、sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]$ sudo webiopi -d -c /etc/webiopi/configブート時に自動的に起動するようにしたい場合、解除したい場合は、$ sudo update-rc.d webiopi defaults # boot 時に起動$ sudo update-rc.d webiopi remove # 上記の設定を解除するときパスワードの変更は、コマンドラインから行い、再起動。$ sudo webiopi-passwd$ sudo /etc/init.d/webiopi restartWebIOPi は、GPIOだけでなく Serial、I2C、SPI、30+ デバイスを操作できるようだ(試してない)。REST API も用意されているし、JavaScript Client も用意されている。つまり、ウェブ経由で操作するためのフレームワークになっているので、拡張すれば、次のビデオのようなこともできるようだ。WebIOPi はあれこれやるときに役立ちそうなので、ソースをあとで読むことにしよう。ついでに、デスクトップにある Pi Store から Web-App Agent もインストールしてみた。/usr/local/bin/indiecity/InstalledApps/pi-web-agent/Full/pi-web-agent-master にインストールされた。起動は、sudo /etc/init.d/pi-web-agent starthttp://localhost:8003/ にアクセスするとユーザー名とパスワードを聞かれるので、admin/admin でログインする。パスワード変更はウェブから行える。その他、Home, Power Management, Updates, VNC, Firewall Management, Other (Services, Change Password, Package Management, GPIO) のメニューがある。これを動かしておけば、CPU や Disk の状態を見たり、Web ブラウザからシャットダウンや再起動、その他メニューにあるようなことができる。Others - GPIO のページには、次のように GPIO の状態が表示される。ちなみに、ストアからインストールすると、apache2、libapach2-mod-dnssd、tightvnc が一緒にインストールされる。これらを手動でインストールしておき、 https://github.com/vaslabs/pi-web-agent からソースを git clone でダウンロードしておいて、setup.sh を実行してもよいようだ。★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
2014.03.16
コメント(0)
![]()
Raspberry Pi で、少しずつ遊んでいるところだが、パソリで IDm をとることに成功したので、カードを読み込ませたら、IDm をリモートのサーバーに登録するのをやってみることにした。まあ、いろいろとやりようはあるだろうが、RPC を使ってやってみることにした。最初は、標準の XMLRPC を使ってみたが、もっとパフォーマンスのよいモジュールがないかちょっと調べてみる。Index of Packages Matching 'rpc'を見てみると、けっこういろいろある。Django や Flask、Zope、CherryPy、あるいは、Twisted や Tornado などの Web フレームワークの延長線上で作られたようなものや、ØMQ(ZeroMQ)、AMQP、RabbitMQ のようなメッセージキュー系のものなどもふくめてたくさんあり、どれを使えばよいものかという感じ。やりとりの方法も、XML-RPC も、JSON-RPC もいろいろある。速くて軽くて安定してりゃいいでしょって基準で探してみる?MessagePackを使ったものがあった。MessagePack は JSON ぽいところがあるけれど、もっと高速でコンパクトにシリアライズして送受信できるものらしい。Protocol Buffers よりも速いらしい。例えば、[1,2,3] ならば、>>>import msgpack>>> msgpack.packb([1, 2, 3])'\x93\x01\x02\x03'>>> msgpack.unpackb(_)[1, 2, 3]MessagePack for PythonPython で実装した Official な MessagePack for Python - msgpack-python (Masahiro Nakagawa)もあるけれど、mprpc - A fast MessagePack RPC library (Studio Ousia) を使ってみた。mprc は geventとMesssagePack をベースにしていて、Official なものの 1.8倍程度の速度が出るようだ。まぁ、それほど高速とかこだわってないんだけど何にも考えずに速くなるならいいやw。mprpc を見てみると Cython使ってんじゃん。なるほどそういうことか。まあ、とにかく軽くて速けりゃ、Raspberry Pi で使うにはよいかなと(まだ Raspberry Pi では動かしてない)。ちょこっとだけソース見ると、msgpack-python の方は、下の方で tornado 使ってる。mprpc は gevent 使ってる。でもって、gsocketpool を使った実装ではさらに早くなるみたい。ちなみに、msgpack-python も、mprpc も日本の方が書かれているようだ。MessagePack も日本人の方々のようだ。ちょっと調べてみる。バイナリシリアライズ形式「MessagePack」(Sadayuki Furuhashi) のあたりも見る。そうかそうか。fluentd の人か。流行に疎い私も fluentd は名前だけは目にしていた。なんかソフトウェアの世界でも特にこの10年で日本発で世界に認められるというパターンが増えてきている印象。若くてピチピチしていた才能溢れる人たちがちゃんと育っているのね。いいことだ。ついでなのでいろいろ見ておく。MessagePack Wikiバイナリシリアライズ形式「MessagePack」Introducing the MessagePackMessagePack-RPCのプロトコル仕様(ドラフト)と実装例高速メッセージングシステムMessagePack - 楽天テクノロジーカンファレンス2010筑波大学大学院博士課程 システム情報工学研究科修士論文 分散システムのためのメッセージ表現手法に関する研究グリー技術者が聞いた、fluentdの新機能とTreasure Data古橋氏の野心 (1/3)#22 古橋貞之氏 世の中を幸せにするシステムを開発したい前置きはさておき、コード的にはこういうものになる。いずれも、Package Index: mprpc 0.1.2よりからの引用。インストール$ pip install Cython$ pip install mprpcサーバー側from gevent.server import StreamServerfrom mprpc import RPCServerclass SumServer(RPCServer): def sum(self, x, y): return x + yserver = StreamServer(('127.0.0.1', 6000), SumServer)server.serve_forever()クライアント側from mprpc import RPCClientclient = RPCClient('127.0.0.1', 6000)print client.call('sum', 1, 2)gsocketpool を使うと、import gsocketpool.poolfrom mprpc import RPCPoolClientclient_pool = gsocketpool.pool.Pool(RPCPoolClient, dict(host='127.0.0.1', port=6000))with client_pool.connection() as client: print client.call('sum', 1, 2)理屈は抜きに、簡単に使えるから嬉しいじゃないの。過去の関連記事Raspberry Pi 買ってみたRaspberry Pi で LED チカチカしてみたRaspberry Pi と Sony RC-S380/P、nfcpy で NFC カードの IDm を読み取る★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
2014.03.09
コメント(0)
全3件 (3件中 1-3件目)
1
![]()

![]()