
技術の進歩はまだ止まっておらず、新興の新しい技術は時間とともに安価になり、ほとんどすべての人が利用できるようになります。 例は携帯電話です。 80年代半ば-90年代前半は、数千ドルの価値のあるハンドルまたはレンガを備えた携帯公衆電話でした。目的。
- 一意の識別子nfcタグは、バーコード(または追加のプロパティ)の一般的なレジスタに入力し、管理部門の在庫などを記入するときにスマートフォンから使用できます。
- より複雑なバージョンでは、アイテムのuidと名前の一部をNFCタグに直接記録できます。このオプションでは、タグとアイテムの関係はタグにのみ保存できます。
- また、チケットを使用する場合、チケットの印刷された番号を復号化するか、オープン形式でカードに番号を再度記録することができます。 これにより、バーコードと同様に、ラベルが破損したときに手動入力メカニズムを使用できます。 ユニバーサルNFCリーダーアプリケーションは、印刷されたチケット番号と有効期限の両方を読み取ります。
理想的には、従業員がNFCをサポートするスマートフォンを持ち、従業員がそれを使用しても構わない場合、機器と消耗品(タグ)の両方に費用はかかりません。 もちろん、必要な数の使用済みチケットを取得できました。 アリでは、コストはタグごとに6ルーブル以上です。

説明されている技術を実装する主なコストは、プログラマーの時間だけです。
プログラマーのタスクは、モバイルアプリケーションでアカウントに必要な在庫と倉庫の会計のロジックを実装すること、およびメインの会計データベースとのデータ交換を実装することです。
交換するには、httpまたはWebサービス、電報ボット、または別のメッセンジャーのようなソリューションを使用できます。
説明した内容をのぞき見せず、チケットにWi-Fiパスワードを書き込むことに関する記事を見たことがあり、また、TSD(WinMobileのRDPバーコード)の経験もありました。 それ以来、より便利なスマートフォンで同様のことを繰り返したいという要望がありました。
4バイトのグループはページと呼ばれます。 通常、最初の数ページはサービス情報で占められています。スクリーンショットの1つでは、最初の2ページでNFCタグIDを確認できます。

IDに加えて、ブロックされた読み取り専用バイトに関する情報も含まれる場合があります。 また、他の多くの情報もありますが、すべてラベルの種類とサポートされる機能に依存します。 また、サービス情報は、最後のページのラベルの最後に記録できます。 詳細については、TagInfoなどのタグを読み取るためのプログラムを参照できます。

購入済みの空白のタグについては、8ページのデータを記録することをお勧めします。
チケットの場合、16ページから記録することをお勧めします。 チケットを使用する場合、ディレクトリ名の長さは60文字を超えてはなりません。
いくつかのチケットは、原則として多くの旅行の旅行チケットで、20ページしかなく、ブロックされたサービスレコードを考慮して、そのようなチケットへの書き込みは機能しません。
この開発により、NFC.aタグを読み取る機能をモバイルアプリケーションにすばやく統合できるようになります。
可能なユースケース:
命名法、パッケージング、セル、保管場所の倉庫会計。
OS、MBPの会計:キャビネット、テーブル、コンピューター。
モバイルチェックポイント。
などなど。
アプリケーションソースはhttps://github.com/PloAl/RfIdToolで入手できます。
アプリケーションは「サービス」であり、メインアクティビティはありません。また、Androidアプリケーションメニューもありません。 起動は他のアプリケーションから行われ、読み取りデータがそこに転送されるか、タグに書き込むためのデータが転送されます。
下の画像が表示されています。半透明の領域「NFCタグの記録」がアプリケーションの唯一のアクティビティです。

Androidアプリケーションでの使用例:
protected void nfcStart(boolean read, String readedId) { if (read)) { Intent intent = new Intent("com.ploal.rfidtool.NFCREAD"); intent.putExtra("IdLabel", readedId); // , id } else{ Intent intent = new Intent("com.ploal.rfidtool.NFCWRITE"); intent.putExtra("PageNumber", PageNumber); //. intent.putExtra("WriteString", WriteString); //. } startActivityForResult(intent, 1); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (null != data) { String event = data.getStringExtra("event"); String uid = data.getStringExtra("uid"); String result = data.getStringExtra("result"); String text = data.getStringExtra("text"); String[] techArr = data.getStringArrayExtra("tech"); // ... } }
モバイルアプリケーション(クライアント)1での使用例:
& NFC(=,ID="") = (); . = "com.ploal.rfidtool.NFCREAD"; ..("IdLabel",ID); . = "com.ploal.rfidtool.NFCWRITE"; ..("PageNumber",""+); ..("WriteString",); ; .() .(); = ""; . . = "event" = .; . = "uid" = .; . = "result" = .; //HEX . = "text" = .; . = "tech" = .; ; ; // ... ;