FujiiHの部屋

アクセスカウンタ

zoom RSS Windows 10 IoT CoreとPN7150 (NFC)

<<   作成日時 : 2017/02/06 00:09  

ブログ気持玉 0 / トラックバック 0 / コメント 0

久しぶりの投稿です。
Raspberry PI 3でFelicaを読ませようとすると、普通はPasori RC-S380を使うことが多いと思います。
しかし、この場合OSをRasbianにするしかありません。Rasbianなら専用のドライバーは不要で、usbのライブラリとpythonがあれば、Felicaを読めるからです。
一方、Windows10 IoT Coreなら専用のドライバーが必要ですが、そのドライバーがありません。RC-S380に付属のドライバーはWindows用ですが、CPUがx86用で、Raspberry Pi 3はCPUがARMなので使えません。

また、Pasori RC-S390をBluetoothで接続する方法もあります。
Windows 10 IoT coreはBLEに対応しているので接続できます。しかし、S-390はFelica専用なのと、BLEでのデータ取得のプログラム作成に挫折したというのもあって、諦めました。

そこでWindows 10 IoT coreのHardware Compatibility Listにも載っているNFC用デバイスのPN7120とその後継バージョンのPN7150を使ってみることにします。
これらのデバイスはNFC対応ですが、FelicaはもちろんMaifareにも対応しています。
今回はPN7150を使ってみます。Hardware Compatibility ListにはPN7120しか載っていませんが、PN7150の商品説明には対応と書いているので、使ってみることにしました。
画像


まずは、Raspberry Pi 3にPN7150を接続してみます。
特に難しい点はありませんが、白色の足をつける時に戸惑いましたが、Raspberry PiとPN7150のインターフェイスデバイスの間に差し込んで付属のねじで止めます。
画像


PN7150のドライバーをダウンロードしてきます。これはPN7120と共通で、PN71X0としてリリースされています。
ダウンロードはこちらから行います。
しかし、このZIPファイルにはACPIテーブルのファイルacpitbl.datが含まれていますが、これが現在のWindows 10 IoT Core(特にInsider Preview)には適合していないそうです。従ってこれは使いません。
また含まれているinfファイルには、

DriverVer=06/21/2006,10.0.10572.1000

という箇所がありますが、ここを現在のWindows 10 IoT Coreのバージョンに合わせます。私は、Insider Previewのバージョン10.0.15007.100を使っているため、そのように書き換えました(これは不要かもしれません)。

Raspberry Piの実際のACPIテーブルの内容をエキスポートさせます。
そのためのツールであるasl.exeをこちらからダウンロードします。これはARM用なのでこちらを使用します。

次に、Raspberry Pi 3を起動します。
IoT DashboardからRaspberry PI 3にPowerShellで接続します。またRaspberry Piは隠し共有になっているので、\\IPアドレス\C$でアクセスしてフォルダを開きます。

  1. C:\Windows\System32に上記のINFファイルをコピーします。

  2. 解凍したasl.exeを適当なフォルダにコピーします。

  3. 接続したPowerShellでasl.exeを保存したフォルダにカレントディレクトリを移動させます。

  4. そこで次のように入力してDSDT.ASLファイルを出力します。
    ./asl.exe /tab=dsdt /resdecode

  5. 出力されたDSDT.ASLファイルに、PN71X0の箇所を追記します。もしすでにあれば修正します。修正の内容はこちらを参照するか、こちらの2.1章を参照してください

  6. つぎのようにASPIテーブルのバイナリファイルを作成します。
    ./asl.exe DSDT.ASL

  7. 作成されたバイナリファイルDSDT.AMLをapcitbl.datとリネームし、C:\Windows\System32にコピーします。

  8. Raspberry Piを再起動します。この時点ではまだPN7150のデバイスのドライバーが登録されていないので、まだPN7150を利用できません。

  9. PowerShellのカレントディレクトリをC:\Windows\System32に移動し、次のように実行します。
    devcon dp_add NXPPN71X0.inf

  10. Raspberry Piを再起動します。


上記のacpitbl.datをこの手順で作るのがめんどうであればこちらからダウンロードしてください。

確認のため、ドライバーのZIPファイルに付属のProximity_BasicTest.appxとProximity_BasicTest.cerをApps.ManagerでRaspberry Piにインストールし、起動します。
Felicaのカードをかざして、次のように表示されれば、OKです。
画像


ここまでの手順は、おおよそこちらに記載されているものを参考にしました。
おそらく、PN7120でも同様の手順をすれば動くのではないでしょうか…
Windows 10 IoT core insider previewもこれから変わっていくでしょう。いつまでこの手順が有効かは分かりませんが、まとめて見ましたので参考にしてみてください。


amazon.co.jpで買う
Amazonアソシエイト by Raspberry Pi 3 MODEL B 【RS正規流通品】 の詳しい情報を見る / ウェブリブログ商品ポータル


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Windows 10 IoT CoreとPN7150 (NFC) FujiiHの部屋/BIGLOBEウェブリブログ
文字サイズ:       閉じる