今度はWin10でnfcpyを使ってカードリーダーRC-S380(SONY)からIDを読むPythonプログラム

Win10から使おうとしてだいぶ大変だったが、なんと

GitHubのNFCPYに全部書いてあった。よく読まないとだめですね。

どうも英文だとぱっと見て理解できないから、読まないのですよね。

WinUSBとLibUSBをインストールしなくてはならなかった。他のサイトにLibUSBをダウンロードしてDLLをコピーすることは書いてあったのだが、WinUSBが書いてなかった。でも、ちゃんと本家には書いてあった。ちゃんと読めば苦労はしなかった。で、めでたく実行できた。

でもこれからです。

やりたいのは、カードを読んで勤務時間の記録システムを作ること。間に合うでしょうか。

nfcpy.readthedocs.io

Raspberry Piとnfcpyを使ってカードリーダーRC-S380(SONY)からIDを読むPythonプログラム

カードリーダーRC-S380(SONY)を使うPythonプログラム

Raspberry Piとnfcpyを使って、カードを読む

最終的にとっても参考になったのがこのサイトです

lsusbでUSBのディバイスがどうなっているか表示される

nfcpyはここGitHubにある。さらに、詳しい使い方は、そこの下の方Read the Docsにを読めばいい。

実際のnfcpyのインストールは

sudo pip3 install -U nfcpyでできる。-Uはアップデートも含めて

 再インストールは

sudo pip3 install -I nfcpyでできる。-Iが(アイ)再インストール

 

結構これがうまくいかなかった。

普通にPython2と3がインストールされているので、3に入れるときはpip3とするとPython3にインストールすることができる。nfcpyがPython3で動かなかったようだが、最近対応するようになったようだ。

このあと、nfcpyの中にある、examplesフォルダにある、tagtools.pyを実行すると試しに使えてカードのIDを読むことができた。

ただ、sudo python3 tagtools.pyで動かさないとエラーがでる。

これを回避しないと、他のプログラミング環境で動かない。(RaspberryPiに入っていたTommyを使ってみた) その方法は、

$ python3 -m nfc

これを実行すると

> This is the 1.0.3 version of nfcpy run in Python 3.7.3
> on Linux-4.19.57-v7+-armv7l-with-debian-10.0
> I'm now searching your system for contactless devices
> ** found usb:054c:06c3 at usb:001:004 but access is denied
> -- the device is owned by 'root' but you are 'pi'
> -- also members of the 'root' group would be permitted
> -- you could use 'sudo' but this is not recommended
> -- better assign the device to the 'plugdev' group
> sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"06c3\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
> sudo udevadm control -R # then re-attach device
> I'm not trying serial devices because you haven't told me
> -- add the option '--search-tty' to have me looking
> -- but beware that this may break other serial devs
> Sorry, but I couldn't find any contactless device

/etc/udev/rules.d/nfcdev.rulesのこの場所に、better assign the device to the 'plugdev' groupする事を書いてやるようだ。

その後は

sudo reboot

で再起動するとsudoしなくてもエラーが出なくなる。これで、Tommyでも動くようになった。

 

Netcommons3のインストール

ネットコモンズ3(3.2.2)をOCNのサーバーにインストールした。

けっこう大変だった。

まず、ZIPファイルをダウンロードして解凍してから、サーバーにFilezillaで送ってみたが、ファイルが多すぎて途中で何度も失敗。

そこで、サーバーにZIPファイルのまま送って、サーバー上でZIPファイルを解凍するPHP実行ファイルを動かして解凍した。これが結構簡単だった。ここに書いてあった。

次に、Netcommons2と同じようにブラウザからHPのルートにアクセスしてインストールをするとPHPが動かない。これは、PHPのパスが通っていないためなようで、

APP/Consoleの中にある

CakeというファイルにあるPHPのパスを変更する。

ファイルの下から2行目

exec php -q "$CONSOLE"/cake.php・・・・とあるところのPHPのパスを指定する

自分のOCNの場合PHPのバージョンを7.2.10としてあったので

exec /usr/local/php-7.2/bin/php -q "$CONSOLE"/cake.php・・・とする

OCNの管理者マニュアルにPHPのありかは書いてあった。PHPのコードを書いてサーバーにファイルを送りPHPのバージョンファイルを表示させても出てくるようだ。

これで、PHPのチェックとかはうまくいく。でも、一箇所上の方で機能が使えないと警告は出る。そのまま進めると、MySQLの設定に進む

IDとパスワードはOCNのMySQLで設定したものに変更する。IDはデフォルトでrootになっていたので変更する必要がある。

で、やっとインストールが始まったと思ったら

これは、ここに書いてありました。

そこで、app/Plugin/Migrations/Lib/CakeMigration.phpのコードの17行目

class CakeMigration extends Object{ というのを

class CakeMigration extends CakeObject{ としてやるとうまくいく

インストールは数分かかり、止まっているようで、結構時間がかかる印象。

なにしろ結構面倒だった。

 

はてなダイアリーから移行ができた。

新しいページがかけなくて、管理画面が出せなくて、最終的にはヘルプから、管理画面にリンクが張ってあって、そこから出した。

そうすると、「記事をかく」ボタンがあってそこからこれがかけた。ちょっとわかりにくい。ブックマークした。

まあできた。

 

Magic KyeboardのWindows10での使い方がわかった
左下のシフトキーの下にある上矢印のキー
英数とひらがなを押すごとにトグルで変えてくれる。
何でこんなのがわからなかったのか。
日本語の入力は結構簡単にできる。やっぱり使いやすい。
いつも使っているUSBのThinkPadのキーボードより使いやすいかもしれない。
キーストロークThinkPadのキーボードより浅いのでその方が気持ちいい。
でもなんかAtokだとやっぱりおかしい。
一回MSIMEにするとAtokでも動くようになる。

GoogleHomeMiniの天気予報について調べてみた。
どこの天気予報なのか?出どころをはっきりさせたかったので、調べてみると、ウェザーニューズのようですね。
でも、GoogleHomeのヘルプに書いてあるのかというとここには書いてない。
Googleアシスタントでその中に、お天気キャスターAI「Airi」が登場してそれが、ウェザーニューズ提供とあって初めて分かる。
これってAIを使っていく上でとても大きな問題だと思う。
出どころをはっきりさせることはとても重要。天気予報当たらないね▷なんで?となったとき、出どころがわかることが必要なのは明らか。
根拠を明らかにしないとだめでしょ。

itunesの音楽が聞けないかといろいろ調べてみた。
ここにあった
よくわからないけど、とりあえず鳴った。どうもiPhoneのGoogleHomeアプリの設定の画面がたくさんあるWeb上の情報とは違っていて、手探り状態なのです。画面のコピーが貼ってあって詳しいのですが、ちょっと自分の実際のとは違うのです。

とりあえず、やり方としては、iPhoneのBluetoothSpeakerとして音を出すことになる。
GoogleHomeアプリの設定をするのだがこれがまた分かりづらい。
ペアモードを有効にして、iPhoneをペア設定にしたBluetoothバイスにすればいい。
先に、GoogleHomeMiniのペアモードを有効にして、iPhoneBluetooth設定からGoogleHomeMiniのある部屋の名前を設定してやればできた。
まずよくわからない。
Googleとしては、itunesは使わせたくないわけですので、そんなことは書いてないのは当然ですか。
まあとりあえずできた。