前回に引き続き、今度はパソリを取り付けてみました。こちらはすんなり動いてくれましたが、その時の覚書を残そうと思いました。
購入したのはこちら↓「ソニー SONY 非接触ICカードリーダー/ライター PaSoRi RC-S380」
nodejsでIDm読む方法はネットにゴロゴロ転がってるので詳しくは書きませんが(^^;
以下のライブラリをインストールして、ユーザー権限でPaSoRiを使えるようにして、再起動します。
$ sudo apt-get install python-usb python-pip $ sudo pip install -U nfcpy-id-reader $ cat << EOF | sudo tee /etc/udev/rules.d/nfcdev.rules $ sudo reboot
以下のライブラリもインストールします。
$ npm install node-nfcpy-id
ついでに、カメラも連動してみます。
$ npm install pi-camera
以下のような感じで、カードタッチ時にカメラ撮影するようなコードを書いて、クラウドに送ったりラインに送ったりして遊んでました。
アップロードするような実際のコードはもう少し複雑ですが、それでもかなりお手軽な感じで実装できるので、作ってて楽しいですね。
const nfcpyid = require('node-nfcpy-id').default, cam = require('pi-camera'), config = require('./config'); const camera = new cam({ mode: 'photo', output: config.path_camera + '_temp.jpg', width: 320, height: 240, nopreview: true, }); const nfc = new nfcpyid().start(); nfc.on('touchstart', (card) => { console.log('Card Type:' + card.type, ' ID:' + card.id); camera.snap() .then((result) => { console.log('snap camera:' + result); param.fname = config.path_camera + '_temp.jpg'; // upload snap... }) .catch((error) => { console.log('snap error:' + error); }); }); nfc.on('touchend', () => { console.log('Card was away.'); }); nfc.on('error', (err) => { console.error('\u001b[31m', err, '\u001b[0m'); });
実際に接続した写真がこちら。