コンピュータ: 2019年11月アーカイブ

Raspberry Pi 3B に Raspbian Buster の最新版(Version September 2019)をインストールし直したので、FeliCa カードを読むために Python 用の NFC デバイスコントロールモジュールである nfcpy も再インストールした。

前回は Python 2 用のモジュールを入れて、その後 Python 3 用にインストールし直すなどバタバタしたが(記事「Python3 で tagtool.py を実行する」参照)、今後は基本的に Python 3 での開発しかせんだろうなぁ・・・ということで、Python 3 用にのみインストール実施。

まず、Felica 用のカードリーダーを USB ポートにつなぎ、認識しているか確認。

pi@raspberrypi:~ $ lsusb|grep Sony
Bus 001 Device 004: ID 054c:06c3 Sony Corp. RC-S380

ばっちり認識しているようだ。
では、インストールを。

pi@raspberrypi:~ $ pip3 list|grep usb
pi@raspberrypi:~ $ sudo pip3 install nfcpy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting nfcpy
  Downloading https://files.pythonhosted.org/packages/7e/ed/3b3a00ada844f8a9229c8a79f460a1a13e870b767a1eb0ee0caf99740e9d/nfcpy-1.0.3-py3-none-any.whl (186kB)
    100% |????????????????????????????????| 194kB 952kB/s 
Collecting libusb1 (from nfcpy)
  Downloading https://www.piwheels.org/simple/libusb1/libusb1-1.7.1-py3-none-any.whl (59kB)
    100% |????????????????????????????????| 61kB 102kB/s 
Collecting ndeflib (from nfcpy)
  Downloading https://files.pythonhosted.org/packages/c9/80/bbc9a4818cd74807f914d225611cd724d8c0e56237b952a9a4aa6d583f5c/ndeflib-0.3.3-py2.py3-none-any.whl (56kB)
    100% |????????????????????????????????| 61kB 1.3MB/s 
Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from nfcpy) (3.4)
Collecting pydes (from nfcpy)
  Downloading https://www.piwheels.org/simple/pydes/pyDes-2.0.1-py2.py3-none-any.whl
Installing collected packages: libusb1, ndeflib, pydes, nfcpy
Successfully installed libusb1-1.7.1 ndeflib-0.3.3 nfcpy-1.0.3 pydes-2.0.1
pi@raspberrypi:~/nfcpy/examples $ pip3 list|grep usb
libusb1           1.7.1      

インストールされたことが確認できた。
続けて、サンプルプログラムを GitHub から取得する。

pi@raspberrypi:~ $ git clone https://github.com/nfcpy/nfcpy.git

無事取得が成功したら、サンプルを動かしてみる。

pi@raspberrypi:~ $ cd /home/pi/nfcpy/examples/
pi@raspberrypi:~/nfcpy/examples $ sudo python3 tagtool.py
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:001:004
** waiting for a tag **
Type3Tag 'FeliCa Lite-S (RC-S966)' ID=012E4CD257C68AB3 PMM=00F1000000014300 SYS=88B4

読めた。簡単だったな。
ブログに「3.5インチ液晶ディスプレイ(タッチパネル)が見つからない」って書いたけど、翌日、無事和室のテーブルの上に放り投げてた手提げ袋の中から発見されたので、さっそく Raspberry pi 3 に取り付けてみた。

20191114_pi1.JPG

ディスプレイは、拡張コネクタに刺して固定する。制御用の信号のやり取りもこの拡張コネクタで行われるので、他に HDMI ケーブルなどで接続する必要はない。拡張コネクタ 40ピンのうちの 26ピンを使用する。
なので、ディスプレイを取り付けたままでも、残りのピンを使った実験などは可能。

ディスプレイを取り付けても、これだけでは何も映らない。電源が入ってグレーに光っているだけだ。

ドライバや設定ファイルをインストールするわけだが、これは GitHub に接続してインストーラ等を取得し実行するだけだ。なので、インターネットには接続できている必要がある。

pi@raspberrypi:~ $ git clone https://github.com/goodtft/LCD-show.git
Cloning into 'LCD-show'...
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 1186 (delta 15), reused 14 (delta 6), pack-reused 1160
Receiving objects: 100% (1186/1186), 758.18 KiB | 904.00 KiB/s, done.
Resolving deltas: 100% (778/778), done.
pi@raspberrypi:~ $ ls -ld LCD-show
drwxr-xr-x 6 pi pi 4096 11? 14 21:40 LCD-show
pi@raspberrypi:~ $ chmod -R 755 LCD-show
pi@raspberrypi:~ $ cd LCD-show
pi@raspberrypi:~/LCD-show $ ls -la
?? 636
drwxr-xr-x  6 pi pi   4096 11? 14 21:40 .
drwxr-xr-x 25 pi pi   4096 11? 14 21:40 ..
drwxr-xr-x  8 pi pi   4096 11? 14 21:40 .git
-rwxr-xr-x  1 pi pi    828 11? 14 21:40 LCD-hdmi
-rwxr-xr-x  1 pi pi   2316 11? 14 21:40 LCD24-3A+-show
-rwxr-xr-x  1 pi pi   2319 11? 14 21:40 LCD24-show
-rwxr-xr-x  1 pi pi   2319 11? 14 21:40 LCD28-show
<略>
drwxr-xr-x  2 pi pi   4096 11? 14 21:40 etc
-rwxr-xr-x  1 pi pi   6374 11? 14 21:40 rotate.sh
-rwxr-xr-x  1 pi pi   2869 11? 14 21:40 system_backup.sh
-rwxr-xr-x  1 pi pi   2982 11? 14 21:40 system_restore.sh
drwxr-xr-x  2 pi pi   4096 11? 14 21:40 usr
-rwxr-xr-x  1 pi pi  41542 11? 14 21:40 xinput-calibrator_0.7.5-1_armhf.deb
-rwxr-xr-x  1 pi pi 115568 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb
-rwxr-xr-x  1 pi pi 116938 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.5-1_armhf.deb
-rwxr-xr-x  1 pi pi 117184 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.6-1+b1_armhf.deb
-rwxr-xr-x  1 pi pi 117054 11? 14 21:40 xserver-xorg-input-evdev_2.10.5-1_armhf.deb
pi@raspberrypi:~/LCD-show $ sudo ./LCD35-show

これでパッケージのインストールが終わり、再起動がかかる。

20191114_pi2.JPG

起動したディスプレイにはちゃんとデスクトップ画面が表示されているのである。
付属のペンで画面にタッチしてみると、ちゃんとタッチパネルの機能も生きている。

簡単なもんやなあ~(笑)

しかし、これが新たなる事件を生むのであった・・・
現在、Windows + Excel で動いている某集計プログラムを、安価に複数台展開できるように Raspbian + Libre Office Calc に移植しようと思ってて、お客さんに説明用の Raspberry pi 3 のデモ機を作ろうかと。

・・・が、4ヶ月ほど前に Raspberry pi 3 と一緒に買った 3.5インチ液晶ディスプレイ(タッチパネル)が見当たらん(^^;
仕方ないので、4年前に Raspberry pi 2 用に買った「5インチIPSハイビジョンLCDディスプレイ(タッチパネル)」をつないでみた。800 x 480 の解像度のディスプレイである。

んが、Raspbian のディフォルトの解像度は 720 x 480 で、選択肢の中にも 800 x 480 の解像度はない。
720 x 480 の実際の表示が下の写真。

20191109_pi1.JPG

確かに、右側に何も表示されていない部分がある。
ぐぐってみると、「Raspberry Pi 3に HDMI接続の 800x480 5インチ TFT液晶を接続して使用する方法」というサイトに 800 x 480 のディスプレイを追加しディフォルト設定にする方法が書かれていたのでやってみた。

/boot/config.txt を以下のように修正する。

pi@raspberrypi:~ $ diff /boot/config.txt /boot/config.txt_20191109
26d25
< hdmi_force_hotplug=1
30d28
< hdmi_group=2
32,39d29
< hdmi_mode=87
< hdmi_cvt=800 480 60 6 0 0 0
< framebuffer_width=800
< framebuffer_height=480
< dtparam=spi=on
< dtoverlay=ads7846,penirq=25,speed=10000,penirq_pull=2,xohms=150

これで、ディスプレイいっぱいを使った 800 x 480 の表示ができるようになった。

20191109_pi2.JPG

・・・が、タッチパネルが反応せんのお。
もちろん、タッチパネルキャリブレーションとかの設定はしていないが、それ以前のような問題が・・・

この週末にもう少し設定をいじってみよう。
参考にしたページは、Raspbian Jessie を対象にしているそうだが、うちの OS はそれより 2世代新しい Raspbian Buster である。そのへんの関係だったらちょっと面倒くさいが・・・

このアーカイブについて

このページには、2019年11月以降に書かれたブログ記事のうちコンピュータカテゴリに属しているものが含まれています。

前のアーカイブはコンピュータ: 2019年9月です。

次のアーカイブはコンピュータ: 2019年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら