NFC无线标签



技术进步并不会停滞不前,新兴的新技术随着时间的推移变得越来越便宜,并且几乎所有人都可以使用。 一个例子是手机。 80年代中期-90年代初是带有把手或砖头的便携式公用电话,价值几千美元,90年代末-带有凸出天线的大型手机,其价格为100美元或更多。目的。

  • 唯一标识符nfc标签可以输入到典型的条形码寄存器(或其他属性)中,并在填写(例如)行政部门清单时从智能手机使用。
  • 在更复杂的版本中,您可以将项目的uid和部分名称直接记录在NFC标签中,使用此选项,标签和项目的关系只能存储在标签中。
  • 同样,在使用票证的情况下,可以解密票证上的打印号码或以开放格式将号码再次记录在卡上。 标签损坏时,这将使您具有手动输入机制,类似于条形码。 通用NFC读取器应用程序同时读取打印的凭单编号和有效期。

理想情况下,如果员工拥有支持NFC的智能手机并且员工不介意使用它,那么设备和消耗品(标签)都不会花费任何费用。 好吧,当然,我们设法获得了所需数量的已使用票。 在Ali上,费用是每个标签超过6卢布。



实现上述技术的主要成本只是程序员的时间。
程序员的任务是在移动应用程序中实现帐户所需的库存和仓库会计逻辑,以及与主会计数据库进行数据交换。

为了进行交换,您可以使用http或Web服务,电报bot或其他类似于Messenger的解决方案。

我没有看到任何描述,我曾经看过一篇关于在票证上写wifi密码的文章,并且还拥有使用TSD(WinMobiles的rdp条形码)的经验,我认为这不菲且昂贵。 从那时起,人们一直希望在更方便的智能手机上重复类似的操作。

4个字节的组称为页面。 前几页通常包含服务信息,在其中一个屏幕截图中,您可以在前两页中看到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"); //   ... } } 

在移动应用程序(客户端)1s中使用的示例:

 &  NFC(=,ID="")  =  ();    . = "com.ploal.rfidtool.NFCREAD"; ..("IdLabel",ID);  . = "com.ploal.rfidtool.NFCWRITE"; ..("PageNumber",""+); ..("WriteString",); ;  .()  .();  = "";     .   . = "event"   = .;  . = "uid"   = .;  . = "result"   = .; //HEX   . = "text"   = .;  . = "tech"   = .; ; ; //   ... ;  

Source: https://habr.com/ru/post/zh-CN428902/


All Articles