全3件 (3件中 1-3件目)
1
![]()
電子工作系はちょっと横に置いておき、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_otgusb 1-1.2: New USB device found, idVendor=054c, idProduct=06c3usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=4usb 1-1.2: Product: RC-S380/Pusb 1-1.2: Manufacturer: SONYusb 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 tagType3Tag 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 nfcclf = 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 買ってみたRaspberry Pi で LED チカチカしてみた★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
2014.02.23
コメント(3)
![]()
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.GPIO。raspberry-gpio-python: A Python module to control the GPIO on a Raspberry Pi。というか、当然のごとく、これがインストールされてるので、import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BOARD)GPIO.setup(12, GPIO.OUT)sw = Truefor n in range(20): GPIO.output(12, sw) time.sleep(1) sw = True if sw == False else Falseで、1秒間隔で 10回点滅できた。明るさの調整も GPIO.PWM で OK。import timeimport RPi.GPIO as GPIOGPIO.setmode(GPIO.BOARD)GPIO.setup(12, GPIO.OUT)p = GPIO.PWM(12, 50) # channel=12 frequency=50Hzp.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: passp.stop()GPIO.cleanup()LED は、基本が分かったので、先に進むことにする。
2014.02.13
コメント(0)
![]()
Raspberry Pi を買った。以前からなんとなく試してみたかったのだが、なんとなく躊躇していた。値段的には買いやすいのだが、これを使って何しようという目的が特になかった。でも、NFCカードを使ってちょっと遊んでみるかという気になったので注文してみた(Amazonで買った)。円高のうちに買っておけばよかったか。★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】【送料無料】Raspberry Pi「実用」入門 [ Japanese Raspberry P ]ちなみに、DIYで人気のArduino、Raspberry Pi、BeagleBoneって、どう使い分ければいいの?、プロジェクトに合わせたDIY電子工作ボードの選び方(Arduino、Raspberry Pi、BeagleBone) とか読んで BeagleBone もいいかなと思ったが品薄っぽいので、Raspberry Pi だけ買った。Arduino を買うほど工作系の人じゃないけど、これはこれでおもしろそうなものだと前から思っている。日本発でこういうのが成功することがなかったのが残念ね。やっぱり負けてるよね。マーケティングやソフトパワー、資金の調達から製品の調達まで全般的な組織力の差ってところか。こういうの日本は苦手かもしれない。同じことをやっても、ここまで持っていけない。我々はソフトウェアの開発に資金を費やす事にしており、これによりRaspberry Piが多くの人々をひきつける事に成功している。今現在、130万個のRaspberry Piが世界に存在している。これはまったく新しいハードウェアプラットフォームであり、これが普及したのは適切なソフトウェアがあったからだ。Raspberry Piで作った素晴らしいものを世界にも教えてほしい -Eben Upton氏それに加えて、ちょっと売れたからって、いたずらにハードのバージョンアップをしないところこもよい。日本人がやると、すぐにあれもつけてこれもつけてになっていっちゃう。実際、Raspberry Pi は Sony UK TE でも製造されている から、ハード面からすれば日本発でできないことはないものだったのにね。China製も増えてるみたい。それはさておき、Raspberry Pi を買ったのは、パソリで Suica などの NFC カードを読んで IDm (カード固有の番号)を読み取れば、簡単な入所管理みたいなこともできるかなと。勢いで 2つ買ってしまった。プラスチックケースも購入した。とりあえず OS のインストール。SDカードを GParted で fat32 でフォーマットして、NOOBS (New Out of Box Software)">NOOBS を Raspberry Pi のサイトからダウンロード して解凍。ファイルを SDカードに放り込んで、Raspberry Pi に差し込んで、HDMI やキーボード、マウスも配線して、USB で給電。しばらく待つと無事起動したのでインストール開始。しばらく放置。インストールが終わったら設定。メニューにしたがって適当にやる。Xデスクトップ環境でとりあえず使うことにした。デスクトップに配置されたアイコンが Scratch、IDLE、IDLE3、Wolfram、Mathematica とか、ほんとに教育用だよね。Webブラウザは Midori。その他、Python Games、Pi Store、Debianリファレンス、WiFi Conifg、OCR Resouces、LXTerminal、Shutdown。OCR Resouces があるのがおもしろいと思った。動きはそれほど早くはないが、この価格でここまで動くのは立派。十分に使いものになる。子どものころにこんなもの与えられたら人生変わるって感じ。インストールができたので次は、Xデスクトップはやめてコンソールモードに raspi-config で再設定して、あとは、パソコンからつないであれこれする。
2014.02.11
コメント(0)
全3件 (3件中 1-3件目)
1