1168691 ランダム
 HOME | DIARY | PROFILE 【ケータイで見る】 【ログイン】

傀儡師の館.Python

PR

Recent Posts

Calendar

Rakuten Card

Keyword Search

▼キーワード検索

Category

Archives

2014.07
2014.06
2014.05
2014.04
2014.03
2014.02
2014.01
2013.12
2013.11
2013.10

Freepage List

Rakuten Profile


kugutsushiさん

怠惰な人

フォローする

Free Space

設定されていません。

Rakuten Ranking

 

全1751件 (1751件中 1-10件目)

1 2 3 4 5 6 >

2014.07.21
楽天プロフィール XML
カテゴリ:カテゴリ未分類
chromecastを買った。それほど期待していなかったのだけれど、使ってみると意外に良い。Nexus 5 にアプリをインストールして Youtube の動画を大画面で見るのが主な使い方。パソコンの Chrome から 拡張機能の Google Cast を使って飛ばすこともあるけど。




で、Nexus 5 の電源はどうかということ、けっこう長時間再生させても大丈夫。Nexus 5 で動画を再生させている時より長持ちする。まあ、通信だけやるわけだから、当然といえば当然なのだけど。ちなみに Chrome で表示させた hulu を Chromecast に飛ばすことはできるが、パソコン側で前画面表示にしておかないとテレビ側でも全画面表示にならないので、イマイチ。Android の hulu のアプリが Chromecast 対応してくれるといいのだけど...。

Chromecastには、本質的にハイジャックを防げない欠陥がある とかいう欠点もあるようだが...。

ちなみに、小飼弾氏の来た、観た、呆れた - 品評 - Google Chromecastに書かれているほど酷いもんじゃないと思う。それなりに熱くなるけど、あちってほど熱くならないし、再生もまともにできてる。まあ、Apple 製品に比べたら完成度はだいぶ落ちるんだろうけど、現状、使えないレベルではない。少し改良されたのかな。

小粒でピリリと辛いデジタルガジェットをお探しの方はRaspberry Piにしときましょう。YouTubeも1080pで再生出来るぞ!

そういや Raspberry Pi で XBMC とかまだ試してなかったな。スマホのアプリ入れて使い勝手を比べてみるかな。Raspberry Pi はそういう使い方をぜんぜんしてなかったし。










Last updated  2014.07.22 03:44:30
コメント(0) | コメントを書く

2014.04.20
カテゴリ:Raspberry Pi
(1) Pasori で NFC カードの ID を読み取って、(2) LED をチカっと光らせて、(3) サーバーに登録情報を取りに行って、(4) その人へのメッセージを音声合成で読み上げつつ、(5) ディスプレイに何か表示するというような端末を作りたいと思って少しずつチャレンジしている今日このごろ。

(1)-(5) について、だいたいのところ目処がたったわけだが、(5) について無人で動かしっぱなしにできるように洗練させていきたいところ。ということで、kiosk をキーワードにして調べてみた。ちょこっと Google で検索すると、いろいろ見つかった。

画面の印象としては、PiR.tv の画面がシンプルできれいでいいので参考にするかな。node.js で jquery などを使って作られている。この画面にカードを認識したら、ピッとその人向けへの情報が表示されるイメージ。


あれこれ見たもの


次のサイトを参考にした。

Chrome を使う 1


Chrome をインストールして使う方法をまずは試す。LXDE の autostart で chromium を起動するように設定すると、ログイン後、startx すると chromium が全画面表示で起動される。スクリーンセーバーは起動しないようにしておく。でも、LXDE もいらないんじゃかろうか。ということで 2 へ。Unclutter は、マウスポインターを消してくれる。

sudo apt-get update && apt-get upgrade -y
sudo apt-get install chromium x11-xserver-utils unclutter

/etc/xdg/lxsession/LXDE/autostart を次のようにする。

@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito http://some.web.

/etc/lightdm/lightdm.conf に追加する。

[SeatDefaults]
...
xserver-command=X -s 0 -dpms

Chrome を使う 2


デスクトップはいらないんじゃないのということで、Chromium のみを起動する。.xinitrc を編集する。

unclutter -idle 15 -root &
xset -dpms &
xset s off &
exec chromium --kiosk --incognito http://some.web.

と設定しておいて、

su – myuser -c “startx” &
exit 0

Midori を使う



Midori をブラウザとして使うと単体で起動したときに完全な全画面表示ができないので、MobilityLab/TransitScreenのように、matchbox-window-manager を使うというのがよいのかな。

単体で全画面表示にしてみる。

xinit /usr/bin/midori -e Fullscreen -a http://dev.mobilitylab.org/TransitScreen/screen/index/11

matchbox-window-manager を使ってみる。

xset -dpms
xset s off
unclutter &
matchbox-window-manager &
midori -e Fullscreen -a http://some.web.

そうするとちゃんと全画面表示できた。

ちなみに、TransitScreen は、Open Transit Data and APIsを使って、リアルタイム(実際には20秒ごと) に交通機関の乗換の情報を表示するようなもの。Experimental real-time transit screens come to Arlington and DC を参照。


ちなみに、電源を入れたら自動的にログインしてキオスク端末化するには、RPi Debian Auto Login のようにした。

/etc/initab を編集して、

#1:2345:respawn:/sbin/getty 115200 tty1
1:2345:respawn:/bin/login -f pi tty1 >/dev/tty1 </dev/tty1 2>&1

/etc/rc.local の exit 0 の前に次の行を追加。

su -l pi -c startx

とりあえず、Rasperry Pi を起動するとブラウザが全画面で開くようになった。







Last updated  2014.04.20 23:52:50
コメント(0) | コメントを書く

2014.04.14
カテゴリ:Python
pyvideo.org には、2082 個の Python 関連のビデオがある。と思ったら、
About this siteを見ると、実はビデオそのものはなくてインデックスなのね。実際のビデオは、いろいろなサイトにあって、メタ情報が置かれていて参照できるようになっているということか。

サイトのソースコードは、http://github.com/willkg/richard、メタデータ関連のソースコードは、http://github.com/willkg/steve に公開されている。

カンファレンス関連のビデオが集められているので、暇を見つけて見てみようかな。









Last updated  2014.04.14 06:18:17
コメント(0) | コメントを書く

2014.04.13
カテゴリ:Raspberry Pi
『Raspberry Pi [実用]入門』の「喋る温度計制作」で Open JTalk で音声合成というのあったので、音声合成を試してみることにした。Open JTalk といえば、かなり前に Open JTalk を Python から使ってみるNonVisual Desktop Access (NVDA) を使ってやってみたことあったなぁ。最近、家で Windows をほとんど使ってないので、今回は試してない。

とりあえずインストール
sudo apt-get install open-jtalk hts-voice-nitech-jp-atr503-m001 open-jtalk-mecab-naist-jdic

喋らせるためのパラーメーターがやたら多いのでスクリプトにしなきゃならないレベル(1.0.6 からは .htvoice ファイルがあればパラメータをコマンドラインで指定しなくてよいようだけど)。

喋らせてみると、思ったよりも進化していて、それなりに聞けるレベル。使えるかも。でも遅い。Raspberry Pi が遅いから仕方ないのね。声は男のモデルの声なので、MMDAgent の mei も使ってみた(1.3.1 を使った)。Open JTalk 1.0.6 なら Open JTalkでテキストスピーチ on Debian など参照。

試しに手元の PC で同じことを試してみると、許容範囲の遅延で出力できた。比較的速いマシンに Raspberry Pi と他のサーバーとの連携を考える のようにしてテキストを渡して、音声合成やらせて NFS 上にファイルを書きだして、音声ファイルを Raspberry Pi で読み込んで出力させるってのもありかなと。書き込みが少なくなる分だけ Raspberry Pi の SDカードの劣化も防げるし、そうするかな。

AquesTalk Pi も試してみた。スピード的には実用的でいい。音声合成LSI 「AquesTalk pico LSI」 とか使って電子工作ってのもありかもしれない。とりあえず、ソフト版の方で試したが、
$ ./AquesTalkPi "漢字も読めます。" | aplay 

のように簡単に使えるので、個人利用ならさらっとできて便利。AquesTalk Pi の使い方まとめ など参照(記事の中で amxer となっているの amixer の間違い)。ただ、非営利の個人利用だけなので組織で使う場合にはライセンス料が必要。ライセンス料は、5,800円(税込6,264円)。今いる秘密組織で使うには価格的にはよくても、いろいろ面倒なのでやめとく。だから Open JTalk で頑張る。

パソリで ID カードを読み込んだら、その人の情報を参照して、ちょこっとしゃべらせるというところのベースができた。あまっている VGA ディスプレイもつなげるようになったので、あと画面をどうやってつくるかな。

それにしても最近の音声合成すごいね。スライドバーで感情を調節できる無償音声合成ソフト「CeVIO Creative Studio FREE」CeVIO Creative Studio



本製品は名古屋工業大学を中心として開発された音声合成技術を利用しています。

なんだね。いくつか商用のものを聞いてみたけど、どれも進化してる。

Android で N2 TTS も試してみる。Nexus 5 にインストールして、Google Play ブックで読み上げさせてみたら、まあ使い物になる。無料でこのレベルのものが使えるとはよい時代になったものだ。









Last updated  2014.04.14 03:10:01
コメント(0) | コメントを書く

2014.04.12
カテゴリ:その他
OpenSSLの重大バグが発覚。インターネットの大部分に影響の可能性重大バグ「ハートブリード」、シスコとジュニパーの機器にも とか、The Heartbleed Bug が深刻な話題になっている今日この頃。なんか名前からしておどろおどろしいから、対処しなきゃ。

What leaks in practice?

We have tested some of our own services from attacker's perspective. We attacked ourselves from outside, without leaving a trace. Without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication.

やばいじゃん。その他、Vulnerability Note VU#720951 OpenSSL heartbeat extension read overflow discloses sensitive information などもチェック。

Windows Server だと Information about HeartBleed and IIS

Windows comes with its own encryption component called Secure Channel (a.k.a. SChannel), which is not susceptible to the Heartbleed vulnerability.

なので、これ自体は問題ない。OpenSSL 使ってないから。

でも、古い Windows のサーバーを QUALYS SSL LabsSSL Server Test で調べてみた。SSL Labs Test for the Heartbleed Attack など参照。

結果として、Windows Server の IIS なら Heartbleed は問題なく、"This server is not vulnerable to the Heartbleed attrack" なのね(Apache 使ってたら Windows Server でもアウトになるだろうけど)。とはいえ、問題もあって、"This server supports SSL 2, which is obsolete and insecure. Grade set to F" になっちゃった。ダメじゃんダメダメじゃん。ちゃんとしなきゃ。うぎゃー。慌ててこんなもの読んでんじゃないよ...。

大きな問題で騒がれないと、まじめに調べないのってだめだよね。これ以前に、お前はすでに死んでいるって感じになってる可能性も。。。。前の管理者から引き継いだサーバーでそのまま SSL 2.0 放置していたとは、Fランクサーバー管理者で失格だぁ。 orz

いい機会なので Forward Secrecy についても読む。Forward Secrecy については、昨年、Twitterが将来の暗号解読を防ぐため全サイトにわたってPerfect Forward Secrecyを採用Twitter、「forward secrecy」でユーザーデータ保護をさらに強化Forward Secrecy at Twitter,IIJ のインフラストラクチャーセキュリティ レポートなんかも参照。

うーむ。やっぱりサーバーなんか人にあずけちゃいたくなるよなぁ。早く捨てちゃいたいのに捨てられない Windows XP のクライアントとかもいらんし。








Last updated  2014.04.13 00:52:10
コメント(0) | コメントを書く

2014.03.30
カテゴリ:Raspberry Pi
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=0xa5000080
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_driver=2

解像度は hdmi_mode の値を変えればいい。その他、参考リンク。


★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】








Last updated  2014.03.30 20:46:20
コメント(0) | コメントを書く

2014.03.16
カテゴリ:Raspberry Pi
『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 restart


WebIOPi は、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 start



http://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【確実正規】








Last updated  2014.03.17 03:05:13
コメント(0) | コメントを書く

2014.03.09
カテゴリ:Raspberry Pi
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 Python

Python で実装した 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年で日本発で世界に認められるというパターンが増えてきている印象。若くてピチピチしていた才能溢れる人たちがちゃんと育っているのね。いいことだ。

ついでなのでいろいろ見ておく。

前置きはさておき、コード的にはこういうものになる。いずれも、Package Index: mprpc 0.1.2よりからの引用。

インストール

$ pip install Cython
$ pip install mprpc


サーバー側

from gevent.server import StreamServer
from mprpc import RPCServer

class SumServer(RPCServer):
def sum(self, x, y):
return x + y

server = StreamServer(('127.0.0.1', 6000), SumServer)
server.serve_forever()


クライアント側

from mprpc import RPCClient

client = RPCClient('127.0.0.1', 6000)
print client.call('sum', 1, 2)


gsocketpool を使うと、

import gsocketpool.pool
from mprpc import RPCPoolClient

client_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 Type B 512MB【確実正規】







Last updated  2014.03.09 22:55:52
コメント(0) | コメントを書く

2014.02.23
カテゴリ:Raspberry Pi
電子工作系はちょっと横に置いておき、Raspberry Pi で NFC カードを読み取ってみる。使った NFC リーダーは、Sony の パソリ RC-S380/P。nfcpyを使ったら、簡単にカード情報を読み取ることができた。pynfc: Python bindings for libnfc は 2012年7月末から更新がないような感じなので、nfcpy を使うことにした。

nfcpy の公式ドキュメントnfcpy Example Programsを見ると便利なtagtool.py などの使い方も分かる。Using LibUSB for installing FeliCa NFC-Device on Windows 7 64bit とかは answers.lauchpad.net/nfcpy で見つかる。

nfcpy: Getting started を見ると、インストールの仕方が分かる。nfcpy のページも読んでおいた方が役に立つ。日本語情報で参考になるのは、nfcpyでお手軽NFC開発[1/2]nfcpyでお手軽NFC開発[2/2]あたり。

たとえば、sudo でプログラム動かすのやだしというのであれば、 /etc/udev/rules.d/nfcdev.rules にリーダーの情報を登録してあげればいいとかは、公式サイトの nfcpy のサイトを見ると分かる。私の場合、パソリ RC-S380/P を使っているので、idVendor=054c, idProduct=06c3 を含む情報を書き込んだ。dmesg コマンドで見ると、

usb 1-1.2: new full-speed USB device number 5 using dwc_otg
usb 1-1.2: New USB device found, idVendor=054c, idProduct=06c3
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=4
usb 1-1.2: Product: RC-S380/P
usb 1-1.2: Manufacturer: SONY
usb 1-1.2: SerialNumber: 5555555 # これは嘘シリアル

なので

SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="054c", \
ATTRS{idProduct}=="06c3", GROUP="plugdev" # Sony RC-S380/P


を書き込んだ。
Python module for near field communication: A major update for nfcpyを見ると、次のようにあるので、RC-S380 が使えるなら RC-S380/P でも大丈夫かなと、ちょっと idProduct を変えて試したわけ。

- The driver API needed to change in order to support tag emulation, as possible now with the RC-S380 reader.

これで、USB を引きぬいてから、再度つなぐと、sudo しなくてもプログラムが動かせるようになった。ちなみに、ユーザーは、plugdev グループに入れておく必要があるが(GROUP="plugdev" で指定している)、Raspberry Pi のデフォルトユーザーの pi は最初からそういう設定になっているので、nfcdev.rules に書き込むだけで OK だった。

インストールについては、python-usb を最初にインストールしておく。lsusb コマンドで、パソリが認識されているのを確認。

$ sudo apt-get install python-usb

その後、nfcpy をダウンロード

$ wget https://launchpad.net/nfcpy/0.9/0.9.1/+download/nfcpy-0.9.1.tar.gz
$ tar xvzf nfcpy-0.9.1.tar.gz

# または
$ sudo apt-get install bzr
$ cd <somedir>
$ bzr branch lp:nfcpy

ダウンロードしたら試してみる。


$ sudo sample/tagtool.py
[nfc.clf] searching for reader with path 'usb'
[nfc.clf] using SONY RC-S380/P at usb:001:004
[main] touch a tag
Type3Tag IDm=01010101ffffffff PMm=1001001001001000 SYS=0003
# IDm と PMm はデタラメ


インタプリタからも試してみる。ちゃんと認識している。

>>>import nfc
>>>clf = nfc.ContactlessFrontend('usb')
>>>print(clf)
SONY RC-S380/P on usb:001:004

リーダーをUSB デバイスとして決め打ちで指定するときには、

import nfc
clf = nfc.ContactlessFrontend('usb:054c:06c3')
print(clf)


のようにすればよい(前のコマンドを実行したあとで、うまく行かなかったら、clf.close()してから、決め打ちの方法を試してみればよいようだ。

ちなみに、sudo しないで Python を実行すると、リーダーが見つからないので、上述のように nfcdev.rules にリーダー情報を書き込んで使うか、毎回 sudo で実行する。

nfcdev.rules に書き込まず、sudo しないと次のようにリーダーが認識できないかった。

pi@rasb01 ~/src/nfcpy-0.9.1/examples $ python tagtool.py
[nfc.clf] searching for reader with path 'usb'
[nfc.clf] no reader found at 'usb'
[main] no contactless reader found


読んだだけではつまらないので、Raspberry Pi で LED チカチカしてみた で試した LED をチカリと光らせてみた(単にカードを読み込み終わったあとに、チカリと LED を点滅させるだけ)。

過去の関連記事


★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】



無料アクセス解析






Last updated  2014.02.24 04:01:16
コメント(0) | コメントを書く

2014.02.13
カテゴリ:Raspberry Pi
Raspberry Pi 買ってみた ので、あれこれ遊んでみようかと思う。

★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】

でも、電子工作系はよくわからないし、本をちゃんと読んでから試すのもまどろっこしいので、Raspberry Pi 電子工作 LEDの点灯や各種アナログセンサーを使ったMaker's系のプログラム で紹介されているキットを安易に購入してみた。こういうものを買ったからには、とりあえず LED チカチカとかやってみなきゃいけない気になったので。もっともこの程度なら Google で適当に情報を探して必要な部品を自分で揃えた方が安上くできるという話もあるが、とりあえず調べたり本を読んだりするの面倒だからお金で解決した。自分で部品買えば、もっと安上がりにできそう。余計なお金をつかいたくなければ、次の本を買って読んでから、秋月電子通商とかで部品買い集めた方がいいかも。まだパラパラめくっただけだけど、ほんとうに実用的でよい感じの本。


【送料無料】Raspberry Pi「実用」入門 [ Japanese Raspberry P ]

まだ、本はちゃんと読んでないけど、すぐ試したいので Raspberry PiでLED点灯(Lチカ)してみよう。Raspberry PiとRubyでLED制御 をやってみる。v = open("/sys/class/gpio/gpio27/value", "w") って、gpio25 の間違いじゃないか。コピペしても動かんじゃん。まあいいや。とりえずチカチカできた。その勢いで PWMでRaspberry PiのLEDの明るさ調整するやってみたが、光らない。配線そのままだと pin = 1 じゃなくて、pin = 6 じゃん。コピペそのままならジャンパーを差し替えなきゃ。このページを見て、ちゃんと位置を確認してねと。なんだこれは、理解させるために面倒なことをわざとやってる...。楽しませてくれるなぁ。おかげで理解が深まった。というか、なんというか。

Ruby の wiringPI みたいなものは、Python にも調べてみたらあった。RPi.GPIOraspberry-gpio-python: A Python module to control the GPIO on a Raspberry Pi。というか、当然のごとく、これがインストールされてるので、

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)

sw = True
for n in range(20):
GPIO.output(12, sw)
time.sleep(1)
sw = True if sw == False else False


で、1秒間隔で 10回点滅できた。

明るさの調整も GPIO.PWM で OK。

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)

p = GPIO.PWM(12, 50) # channel=12 frequency=50Hz
p.start(0)
try:
while 1:
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
except KeyboardInterrupt:
pass
p.stop()
GPIO.cleanup()


LED は、基本が分かったので、先に進むことにする。



無料アクセス解析






Last updated  2014.02.13 20:12:35
コメント(0) | コメントを書く

全1751件 (1751件中 1-10件目)

1 2 3 4 5 6 >

Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2014 Rakuten, Inc. All Rights Reserved.