[{"data":1,"prerenderedAt":532},["ShallowReactive",2],{"navigation_docs":3,"-apps-nfc-to-rfid":296,"-apps-nfc-to-rfid-surround":527},[4,65,110],{"title":5,"path":6,"stem":7,"children":8,"icon":64},"Systems & Solutions","\u002Fsystems","1.systems\u002F0.index",[9,11,29,46],{"title":10,"path":6,"stem":7},"Overview",{"title":12,"path":13,"stem":14,"children":15},"Serverless Registry","\u002Fsystems\u002Fserverless-registry","1.systems\u002Fserverless-registry\u002F0.index",[16,17,21,25],{"title":10,"path":13,"stem":14},{"title":18,"path":19,"stem":20},"CloudFlare Worker","\u002Fsystems\u002Fserverless-registry\u002Fworker","1.systems\u002Fserverless-registry\u002F1.worker",{"title":22,"path":23,"stem":24},"sreg CLI","\u002Fsystems\u002Fserverless-registry\u002Fsreg-cli","1.systems\u002Fserverless-registry\u002F2.sreg-cli",{"title":26,"path":27,"stem":28},"GitHub Actions","\u002Fsystems\u002Fserverless-registry\u002Fgithub-actions","1.systems\u002Fserverless-registry\u002F3.github-actions",{"title":30,"path":31,"stem":32,"children":33},"Serverless Satis","\u002Fsystems\u002Fserverless-satis","1.systems\u002Fserverless-satis\u002F0.index",[34,35,39,43],{"title":10,"path":31,"stem":32},{"title":36,"path":37,"stem":38},"CLI generator","\u002Fsystems\u002Fserverless-satis\u002Fs3-satis","1.systems\u002Fserverless-satis\u002F1.s3-satis",{"title":40,"path":41,"stem":42},"GitHub Action","\u002Fsystems\u002Fserverless-satis\u002Fs3-satis-github-action","1.systems\u002Fserverless-satis\u002F2.s3-satis-github-action",{"title":18,"path":44,"stem":45},"\u002Fsystems\u002Fserverless-satis\u002Fcloudflare-worker","1.systems\u002Fserverless-satis\u002F3.cloudflare-worker",{"title":47,"path":48,"stem":49,"children":50},"WebPrint","\u002Fsystems\u002Fwebprint","1.systems\u002Fwebprint\u002F0.index",[51,52,56,60],{"title":10,"path":48,"stem":49},{"title":53,"path":54,"stem":55},"Server","\u002Fsystems\u002Fwebprint\u002Fserver","1.systems\u002Fwebprint\u002F1.server",{"title":57,"path":58,"stem":59},"Host Service","\u002Fsystems\u002Fwebprint\u002Fservice","1.systems\u002Fwebprint\u002F2.service",{"title":61,"path":62,"stem":63},"API","\u002Fsystems\u002Fwebprint\u002Fapi","1.systems\u002Fwebprint\u002F3.api","mdi:monitor",{"title":66,"path":67,"stem":68,"children":69,"icon":109},"Apps & Tools","\u002Fapps","2.apps\u002F0.index",[70,71,75,79,83,87,91],{"title":10,"path":67,"stem":68},{"title":72,"path":73,"stem":74},"File Hasher.NET","\u002Fapps\u002Ffile-hasher","2.apps\u002F1.file-hasher",{"title":76,"path":77,"stem":78},"GitFlow Tool","\u002Fapps\u002Fgit-flow","2.apps\u002F1.git-flow",{"title":80,"path":81,"stem":82},"NFC to RFID","\u002Fapps\u002Fnfc-to-rfid","2.apps\u002F1.nfc-to-rfid",{"title":84,"path":85,"stem":86},"PDF Scan Splitter","\u002Fapps\u002Fpdf-scan-splitter","2.apps\u002F1.pdf-scan-splitter",{"title":88,"path":89,"stem":90},"USB Scale Counter","\u002Fapps\u002Fusb-scale-counter","2.apps\u002F1.usb-scale-counter",{"title":92,"path":93,"stem":94,"children":95,"page":108},"Deprecated","\u002Fapps\u002Fdeprecated","2.apps\u002F9.deprecated",[96,100,104],{"title":97,"path":98,"stem":99},"Batch Comparator","\u002Fapps\u002Fdeprecated\u002Fcomparator","2.apps\u002F9.deprecated\u002Fcomparator",{"title":101,"path":102,"stem":103},"ContactBridge","\u002Fapps\u002Fdeprecated\u002Fcontact-bridge","2.apps\u002F9.deprecated\u002Fcontact-bridge",{"title":105,"path":106,"stem":107},"File Hasher.PY","\u002Fapps\u002Fdeprecated\u002Ffile-hasher-python","2.apps\u002F9.deprecated\u002Ffile-hasher-python",false,"teenyicons:terminal-outline",{"title":111,"path":112,"stem":113,"children":114,"icon":295},"Libraries & Packages","\u002Flibraries","3.libraries\u002F0.index",[115,116,173,214,227,239],{"title":10,"path":112,"stem":113},{"title":117,"path":118,"stem":119,"children":120,"page":108},"PHP & Laravel","\u002Flibraries\u002Fphp","3.libraries\u002F100.php",[121,125,129,133,137,141,145,149,153,157,161,165,169],{"title":122,"path":123,"stem":124},"Binary Tools","\u002Flibraries\u002Fphp\u002Fbinary-tools","3.libraries\u002F100.php\u002Fbinary-tools",{"title":126,"path":127,"stem":128},"Certificate Chain","\u002Flibraries\u002Fphp\u002Fcert-chain","3.libraries\u002F100.php\u002Fcert-chain",{"title":130,"path":131,"stem":132},"Eloquent Sluggable","\u002Flibraries\u002Fphp\u002Feloquent-sluggable","3.libraries\u002F100.php\u002Feloquent-sluggable",{"title":134,"path":135,"stem":136},"Eloquent Tokenable","\u002Flibraries\u002Fphp\u002Feloquent-tokenable","3.libraries\u002F100.php\u002Feloquent-tokenable",{"title":138,"path":139,"stem":140},"Eloquent ULID-able","\u002Flibraries\u002Fphp\u002Feloquent-ulidable","3.libraries\u002F100.php\u002Feloquent-ulidable",{"title":142,"path":143,"stem":144},"Eloquent UUID-able","\u002Flibraries\u002Fphp\u002Feloquent-uuidable","3.libraries\u002F100.php\u002Feloquent-uuidable",{"title":146,"path":147,"stem":148},"emSzmal Banking API wrapper","\u002Flibraries\u002Fphp\u002Femszmal","3.libraries\u002F100.php\u002Femszmal",{"title":150,"path":151,"stem":152},"EPC Tag Data Standard","\u002Flibraries\u002Fphp\u002Fepc-tds","3.libraries\u002F100.php\u002Fepc-tds",{"title":154,"path":155,"stem":156},"File Hasher.PHP","\u002Flibraries\u002Fphp\u002Ffile-hasher","3.libraries\u002F100.php\u002Ffile-hasher",{"title":158,"path":159,"stem":160},"Content Negotiable Responses for Laravel","\u002Flibraries\u002Fphp\u002Flaravel-content-negotiable-responses","3.libraries\u002F100.php\u002Flaravel-content-negotiable-responses",{"title":162,"path":163,"stem":164},"LPD Client and Server","\u002Flibraries\u002Fphp\u002Flpd","3.libraries\u002F100.php\u002Flpd",{"title":166,"path":167,"stem":168},"Partial Key Verification Library for PHP","\u002Flibraries\u002Fphp\u002Fpartial-key-verification","3.libraries\u002F100.php\u002Fpartial-key-verification",{"title":170,"path":171,"stem":172},"WebPrint.PHP","\u002Flibraries\u002Fphp\u002Fwebprint","3.libraries\u002F100.php\u002Fwebprint",{"title":174,"path":175,"stem":176,"children":177,"page":108},"Capacitor.JS","\u002Flibraries\u002Fcapacitor","3.libraries\u002F200.capacitor",[178,182,186,190,194,198,202,206,210],{"title":179,"path":180,"stem":181},"SPP Bluetooth Printer for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fbluetooth-printer","3.libraries\u002F200.capacitor\u002Fbluetooth-printer",{"title":183,"path":184,"stem":185},"Sunmi Camera Scanner for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-camera-scanner","3.libraries\u002F200.capacitor\u002Fsunmi-camera-scanner",{"title":187,"path":188,"stem":189},"Sunmi Keyboard Handler for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-keyboard-handler","3.libraries\u002F200.capacitor\u002Fsunmi-keyboard-handler",{"title":191,"path":192,"stem":193},"Sunmi Inner Printer SDK for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-printer","3.libraries\u002F200.capacitor\u002Fsunmi-printer",{"title":195,"path":196,"stem":197},"Sunmi Scan Head  SDK for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-scanhead","3.libraries\u002F200.capacitor\u002Fsunmi-scanhead",{"title":199,"path":200,"stem":201},"Sunmi Scan Head (lite) SDK for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-scanhead-lite","3.libraries\u002F200.capacitor\u002Fsunmi-scanhead-lite",{"title":203,"path":204,"stem":205},"Sunmi UHF RFID SDK for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fsunmi-uhf","3.libraries\u002F200.capacitor\u002Fsunmi-uhf",{"title":207,"path":208,"stem":209},"Dymo M10 USB Scale driver for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fusb-scale","3.libraries\u002F200.capacitor\u002Fusb-scale",{"title":211,"path":212,"stem":213},"WebView WatchDog for Capacitor.js","\u002Flibraries\u002Fcapacitor\u002Fwebview-watchdog","3.libraries\u002F200.capacitor\u002Fwebview-watchdog",{"title":215,"path":216,"stem":217,"children":218,"page":108},"JavaScript & TypeScript","\u002Flibraries\u002Fjs","3.libraries\u002F300.js",[219,223],{"title":220,"path":221,"stem":222},"Partial Key Verification Library for TS\u002FJS","\u002Flibraries\u002Fjs\u002Fpartial-key-verification","3.libraries\u002F300.js\u002Fpartial-key-verification",{"title":224,"path":225,"stem":226},"WebPrint.JS","\u002Flibraries\u002Fjs\u002Fwebprint","3.libraries\u002F300.js\u002Fwebprint",{"title":228,"path":229,"stem":230,"children":231,"page":108},".NET & C#","\u002Flibraries\u002Fnet","3.libraries\u002F400.net",[232,235],{"title":72,"path":233,"stem":234},"\u002Flibraries\u002Fnet\u002Ffile-hasher","3.libraries\u002F400.net\u002Ffile-hasher",{"title":236,"path":237,"stem":238},"Partial Key Verification Library for Compact Framework","\u002Flibraries\u002Fnet\u002Fpartial-key-verification","3.libraries\u002F400.net\u002Fpartial-key-verification",{"title":92,"path":240,"stem":241,"children":242,"page":108},"\u002Flibraries\u002Fdeprecated","3.libraries\u002F999.deprecated",[243,247,251,255,259,263,267,271,275,279,283,287,291],{"title":244,"path":245,"stem":246},"CoinHive API and Captcha","\u002Flibraries\u002Fdeprecated\u002Fcoinhive-api","3.libraries\u002F999.deprecated\u002Fcoinhive-api",{"title":248,"path":249,"stem":250},"Eloquent Encryptable","\u002Flibraries\u002Fdeprecated\u002Feloquent-encryptable","3.libraries\u002F999.deprecated\u002Feloquent-encryptable",{"title":252,"path":253,"stem":254},"Eloquent GUID-able","\u002Flibraries\u002Fdeprecated\u002Feloquent-guidable","3.libraries\u002F999.deprecated\u002Feloquent-guidable",{"title":256,"path":257,"stem":258},"Laravel Web Cron","\u002Flibraries\u002Fdeprecated\u002Flaravel-cron","3.libraries\u002F999.deprecated\u002Flaravel-cron",{"title":260,"path":261,"stem":262},"Laravel .env filler","\u002Flibraries\u002Fdeprecated\u002Flaravel-dotenv-filler","3.libraries\u002F999.deprecated\u002Flaravel-dotenv-filler",{"title":264,"path":265,"stem":266},"Laravel Permissions","\u002Flibraries\u002Fdeprecated\u002Flaravel-permissions","3.libraries\u002F999.deprecated\u002Flaravel-permissions",{"title":268,"path":269,"stem":270},"Polish Validator Rules for Laravel","\u002Flibraries\u002Fdeprecated\u002Flaravel-polish-validator","3.libraries\u002F999.deprecated\u002Flaravel-polish-validator",{"title":272,"path":273,"stem":274},"Laravel SMS Notification Channel","\u002Flibraries\u002Fdeprecated\u002Flaravel-sms","3.libraries\u002F999.deprecated\u002Flaravel-sms",{"title":276,"path":277,"stem":278},"Laravel SMS Notification Channel - JustSend.pl Driver","\u002Flibraries\u002Fdeprecated\u002Flaravel-sms-justsend","3.libraries\u002F999.deprecated\u002Flaravel-sms-justsend",{"title":280,"path":281,"stem":282},"Laravel SMS Notification Channel - SerwerSMS.pl Driver","\u002Flibraries\u002Fdeprecated\u002Flaravel-sms-serwersms","3.libraries\u002F999.deprecated\u002Flaravel-sms-serwersms",{"title":284,"path":285,"stem":286},"Diceware Generator","\u002Flibraries\u002Fdeprecated\u002Fpassphrase-generator","3.libraries\u002F999.deprecated\u002Fpassphrase-generator",{"title":288,"path":289,"stem":290},"Raw Printer tools for C#","\u002Flibraries\u002Fdeprecated\u002Fraw-printer","3.libraries\u002F999.deprecated\u002Fraw-printer",{"title":292,"path":293,"stem":294},"Signed Document","\u002Flibraries\u002Fdeprecated\u002Fsigned-document","3.libraries\u002F999.deprecated\u002Fsigned-document","charm:package",{"id":297,"title":80,"active":298,"body":299,"description":519,"extension":520,"featured":521,"featured_description":521,"featured_icon":521,"github":308,"layout":521,"links":521,"list_title":521,"meta":522,"navigation":298,"path":81,"platform":523,"seo":524,"stem":82,"system":521,"system_url":521,"type":525,"__hash__":526},"docs\u002F2.apps\u002F1.nfc-to-rfid.md",true,{"type":300,"value":301,"toc":512},"minimark",[302,322,330,335,341,377,417,421,428,439,454,457,461,492,501,505],[303,304,305,312,317],"u-button-group",{},[306,307,311],"u-button",{"href":308,"icon":309,"target":310},"https:\u002F\u002Fgithub.com\u002Fkduma-autoid\u002Fandroid-sunmi-nfc-to-uhf-rfid","bxl:github","_blank","GitHub Repository",[306,313,316],{"href":314,"icon":315,"target":310},"https:\u002F\u002Fgithub.com\u002Fkduma-autoid\u002Fandroid-sunmi-nfc-to-uhf-rfid\u002Freleases\u002Flatest\u002F","material-symbols:cloud-download","Releases",[306,318,321],{"href":319,"icon":320,"target":310},"https:\u002F\u002Fkduma-autoid.github.io\u002Fandroid-sunmi-nfc-to-uhf-rfid\u002F#nfc-to-rfid:index","material-symbols:menu-book","Full Documentation",[323,324,325],"p",{},[326,327],"img",{"alt":328,"src":329},"NFC to RFID - encode NFC card UIDs onto UHF RFID tags","\u002Fapps\u002Fnfc-to-rfid\u002Fbanner-large.png",[331,332,334],"h2",{"id":333},"what-it-does","What it does",[323,336,337,340],{},[338,339,80],"strong",{}," copies the UID of an NFC card onto a UHF EPC Gen2 tag, so a long-range UHF scan returns the same identifier\nthe card reports over NFC. Typical use: assets or badges carry both an NFC card (secure, short-range identification) and a UHF label\n(bulk inventory from a distance).",[342,343,344,351,357,371],"ul",{},[345,346,347,350],"li",{},[338,348,349],{},"Encode"," - tap a card, confirm, and its UID is written into the tag's EPC; tags can be password-locked against tampering.",[345,352,353,356],{},[338,354,355],{},"Scan"," - bulk inventory of encoded tags with live card-tag pairing validation.",[345,358,359,362,363,366,367,370],{},[338,360,361],{},"Validate"," - tap a card and get an instant ",[338,364,365],{},"PAIRED"," \u002F ",[338,368,369],{},"TAG MISSING"," verdict.",[345,372,373,376],{},[338,374,375],{},"NXP originality check"," - the card's silicon is verified against NXP public keys on every tap.",[378,379,380,396],"table",{},[381,382,383],"thead",{},[384,385,386,390,393],"tr",{},[387,388,349],"th",{"align":389},"center",[387,391,392],{"align":389},"Scan & validate",[387,394,395],{"align":389},"Validate one-by-one",[397,398,399],"tbody",{},[384,400,401,407,412],{},[402,403,404],"td",{"align":389},[326,405],{"alt":349,"src":406},"\u002Fapps\u002Fnfc-to-rfid\u002Fencode-confirm-write.png",[402,408,409],{"align":389},[326,410],{"alt":355,"src":411},"\u002Fapps\u002Fnfc-to-rfid\u002Fscan-validation-paired.png",[402,413,414],{"align":389},[326,415],{"alt":361,"src":416},"\u002Fapps\u002Fnfc-to-rfid\u002Fvalidate-paired.png",[331,418,420],{"id":419},"installation","Installation",[323,422,423,424,427],{},"On a Sunmi device install the app from the ",[338,425,426],{},"Sunmi App Store"," - open this link on the device:",[429,430,436],"pre",{"className":431,"code":433,"language":434,"meta":435},[432],"language-text","market:\u002F\u002Fwoyou.market\u002FappDetail?packageName=dev.duma.android.nfctorfid\n","text","",[437,438,433],"code",{"__ignoreMap":435},[323,440,441,442,449,450,453],{},"Alternatively download the APK from ",[443,444,448],"a",{":target":310,"href":445,"rel":446},"https:\u002F\u002Fgithub.com\u002Fkduma-autoid\u002Fandroid-sunmi-nfc-to-uhf-rfid\u002Freleases\u002Flatest",[447],"nofollow","GitHub Releases","\nor build it yourself (JDK 17+): ",[437,451,452],{},".\u002Fgradlew :app:assembleDebug",".",[323,455,456],{},"Requires Android 7.0+ with NFC and a supported UHF reader: the built-in module of a Sunmi L2s RFID \u002F L3, the UHF trigger handle of a\nSunmi L2k \u002F L2s \u002F L2H \u002F L2s Pro, or a Chainway reader (R2 \u002F R3) over USB or Bluetooth.",[331,458,460],{"id":459},"how-it-works","How it works",[462,463,464,470,476,482],"ol",{},[345,465,466,469],{},[338,467,468],{},"Tap the NFC card"," - the app reads its UID and checks the NXP originality signature.",[345,471,472,475],{},[338,473,474],{},"Check for one tag"," - exactly one UHF tag must be in range, otherwise the workflow stops with an error.",[345,477,478,481],{},[338,479,480],{},"Confirm"," - the current and the new EPC are shown, with an overwrite warning if the tag belongs to another card.",[345,483,484,487,488,491],{},[338,485,486],{},"Write, lock, verify"," - the UID is written into the 96-bit EPC (",[437,489,490],{},"4E"," + UID length + UID, non-GS1 namespace),\nthe tag is locked with an access and a kill password and read back to verify.",[323,493,494,495,497,498,500],{},"The same EPC is later used by ",[338,496,355],{}," and ",[338,499,361],{}," to pair cards with tags. Feedback (tones, vibration, full-screen green\u002Fred flash)\nis designed for warehouse use. The English and Polish interface is selected automatically.",[331,502,504],{"id":503},"full-documentation","Full documentation",[323,506,507,508,453],{},"Supported readers and auto-detection, settings, encoding format, NXP originality and troubleshooting are described in the\n",[443,509,511],{":target":310,"href":319,"rel":510},[447],"full documentation",{"title":435,"searchDepth":513,"depth":513,"links":514},2,[515,516,517,518],{"id":333,"depth":513,"text":334},{"id":419,"depth":513,"text":420},{"id":459,"depth":513,"text":460},{"id":503,"depth":513,"text":504},"Android app that copies the UID of an NFC card onto a UHF RFID tag, for Sunmi handhelds and Chainway readers","md",null,{},"Android",{"title":80,"description":519},"app","va7_l5M5omC2mY_fPSy_AVp72XrtzRzdaY15h1eGZ1w",[528,530],{"title":76,"path":77,"stem":78,"description":529,"children":-1},"Useful helper for using gitflow-like branching model in a project. It is a simple shell script that helps you to create, finish and publish branches in a git repository. It supports automatically bumping version tag and pushing from and to correct branches.",{"title":84,"path":85,"stem":86,"description":531,"children":-1},"A tool to sort batch scanned PDF documents based on document number contained in barcode placed on document.",1793220976201]