Method and system for generating RFID labels using RFID encoder attachment
11161692 · 2021-11-02
Assignee
Inventors
Cpc classification
G06K1/20
PHYSICS
B65G1/1373
PERFORMING OPERATIONS; TRANSPORTING
B41J3/4075
PERFORMING OPERATIONS; TRANSPORTING
International classification
G06F7/00
PHYSICS
B65G1/137
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The present disclosure provides a system and method for generating RFID labels using a non-RFID label printer and an easy-to-attach RFID encoder. The RFID encoder comprises an RFID controller coupled to a network, one or more antennas, a label detector, and an RFID reader. The RFID encoder can be packed into two or more encoder units that are clipped onto the front and back of the non-RFID label printer. The RFID controller receives a packet of reader settings and a packet (array) of encode data via the one or more antennas. As unprinted labels pass through the non-RFID label printer and the RFID encoder, the label detector senses tags of the unprinted labels, and triggers the RFID controller and the non-RFID label printer to encode RFIDs onto the tags.
Claims
1. A computer-implemented method for generating RFID labels using a non-RFID label printer, comprising: causing an RFID encoder to be armed, the RFID encoder attached to the non-RFID label printer, the RFID encoder comprising an RFID controller, one or more antennas, a label detector, and an RFID reader; receiving, via the one or more antennas, reader settings, encode settings, and encode data; sensing, using the label detector, a specific tag of unprinted labels; encoding the specific tag with a corresponding RFID based upon the encode data; determining that the encoding of the specific tag is not successful; recording a tag index of the specific tag as bad; and initiating a bad label process.
2. The computer-implemented method of claim 1, wherein the RFID encoder further comprises a marker label detector, and a marker apparatus.
3. The computer-implemented method of claim 2, wherein the marker apparatus is a hole punch apparatus.
4. The computer-implemented method of claim 2, further comprising: determining the tag index of the specific tag is bad; causing the marker apparatus to be armed; sensing the specific tag via the marker label detector; and marking the specific tag using the marker apparatus.
5. The computer-implemented method of claim 1, further comprising: checking the encode data to determine a corresponding tag ID (TID) of a current tag sensed by the label detector; retrieving a TID list based upon the current TID; arming the RFID encoder; and upon the RFID encoder being armed, sending print data to the non-RFID label printer to generate the RFID labels.
6. The computer-implemented method of claim 1, wherein the RFID encoder is attached to the non-RFID label printer via one or more clips, the one or more clips configured to accommodate at least one physical feature of the non-RFID label printer.
7. The computer-implemented method of claim 6, wherein the one or more clips are adapted to a rear feed lip of the non-RFID label printer, a front exit lip of the non-RFID label printer, and/or expansion ports of the non-RFID label printer.
8. The computer-implemented method of claim 1, wherein the RFID encoder includes multiple RFID readers, the RFID readers embedded in a label unwinder or rewinder of the non-RFID label printer.
9. A system, comprising: a processor; and a computer-readable medium storing instructions that, when executed by the processor, cause the system to perform operations comprising: causing an RFID encoder to be armed, the RFID encoder attached to a non-RFID label printer, the RFID encoder comprising an RFID controller, one or more antennas, a label detector, and an RFID reader; receiving, via the one or more antennas, reader settings, encode settings, and encode data; sensing, using the label detector, a specific tag of unprinted labels; encoding the specific tag with a corresponding RFID based upon the encode data; determining that the encoding of the specific tag is not successful; recording a tag index of the specific tag as bad; and initiating a bad label process.
10. The system of claim 9, wherein the RFID encoder further comprises a marker label detector, and a marker apparatus.
11. The system of claim 10, wherein the marker apparatus is a hole punch apparatus.
12. The system of claim 10, wherein the computer-readable medium storing instructions that, when executed by the processor, further cause the system to perform operations comprising: determining the tag index of the specific tag is bad; causing the marker apparatus to be armed; sensing the specific tag via the marker label detector; and marking the specific tag using the marker apparatus.
13. The system of claim 9, wherein the computer-readable medium storing instructions that, when executed by the processor, further cause the system to perform operations comprising: checking the encode data to determine a corresponding tag ID (TID) of a current tag sensed by the label detector; retrieving a TID list based upon the current TID; arming the RFID encoder; and upon the RFID encoder being armed, sending print data to the non-RFID label printer to generate the RFID labels.
14. The system of claim 9, wherein the RFID encoder is attached to the non-RFID label printer via one or more clips, the one or more clips configured to accommodate at least one physical feature of the non-RFID label printer.
15. The system of claim 14, wherein the one or more clips are adapted to a rear feed lip of the non-RFID label printer, a front exit lip of the non-RFID label printer, and/or expansion ports of the non-RFID label printer.
16. The system of claim 9, wherein the RFID encoder includes multiple RFID readers, the RFID readers embedded in a label unwinder or rewinder of the non-RFID label printer.
17. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a system, cause the system to perform operations comprising: causing an RFID encoder to be armed, the RFID encoder attached to a non-RFID label printer, the RFID encoder comprising an RFID controller, one or more antennas, a label detector, and an RFID reader; receiving, via the one or more antennas, reader settings, encode settings, and encode data; sensing, using the label detector, a specific tag of unprinted labels; encoding the specific tag with a corresponding RFID based upon the encode data; determining that the encoding of the specific tag is not successful; recording a tag index of the specific tag as bad; and initiating a bad label process.
18. The non-transitory computer-readable storage medium of claim 17, wherein the RFID encoder further comprises a marker label detector, and a marker apparatus.
19. The non-transitory computer-readable storage medium of claim 18, wherein the instructions, when executed by the at least one processor of the system, further cause the system to perform operations comprising: determining the tag index of the specific tag is bad; causing the marker apparatus to be armed; sensing the specific tag via the marker label detector; and marking the specific tag using the marker apparatus.
20. The non-transitory computer-readable storage medium of claim 17, wherein the instructions, when executed by the at least one processor of the system, further cause the system to perform operations comprising: checking the encode data to determine a corresponding tag ID (TID) of a current tag sensed by the label detector; retrieving a TID list based upon the current TID; arming the RFID encoder; and upon the RFID encoder being armed, sending print data to the non-RFID label printer to generate the RFID labels.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific examples thereof which are illustrated in the appended drawings. These drawings depict only example aspects of the disclosure and are not therefore to be considered to be limiting of its scope. The principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) The present disclosure can be embodied in many different forms. Representative embodiments are shown in the drawings, and will herein be described in detail. The present disclosure is an example or illustration of the principles of the present disclosure, and is not intended to limit the broad aspects of the disclosure to the embodiments illustrated. To that extent, elements and limitations that are disclosed, for example, in the Abstract, Summary, and Detailed Description sections, but not explicitly set forth in the claims, should not be incorporated into the claims, singly or collectively, by implication, inference, or otherwise. For purposes of the present detailed description, unless specifically disclaimed, the singular includes the plural and vice versa; and the word “including” means “including without limitation.” Moreover, words of approximation, such as “about,” “almost,” “substantially,” “approximately,” and the like, can be used herein to mean “at,” “near,” or “nearly at,” or “within 3-5% of,” or “within acceptable manufacturing tolerances,” or any logical combination thereof, for example.
(13) Various examples of the present disclosure provide systems and methods for generating RFID labels using a non-RFID label printer and an easy-to-attach RFID encoder. The RFID encoder comprises an RFID controller coupled to a network, one or more antennas, a label detector, and an RFID reader. The RFID controller receives a packet of reader settings and a packet (array) of encode data via the one or more antennas. As unprinted labels pass through the non-RFID label printer and the RFID encoder, the label detector senses tags of the unprinted labels, and triggers the RFID controller and the non-RFID label printer to encode RFID onto the tags.
(14)
(15)
(16)
(17) As unprinted labels 103 pass through a non-RFID label printer and the RFID encoder, the label detector 107 senses tags of the unprinted labels 103, and triggers the RFID controller 108 and a print head 106 of the non-RFID label printer to encode RFIDs onto the tags. In an event that encoding of a specific tag 104 is not successful, the marker label detector 109 can sense the specific tag, and cause the marker apparatus 110 to mark the specific tag. For example, the marker apparatus 110 might punch a hole in the specific tag.
(18) Although only certain components are shown within the exemplary systems 100A, 100B and 200 in
(19) Depending on the desired implementation for the exemplary systems 100A, 100B and 200, a variety of networking and messaging protocols can be used, including but not limited to TCP/IP, open systems interconnection (OSI), file transfer protocol (FTP), universal plug and play (UpnP), network file system (NFS), common internet file system (CIFS), AppleTalk etc. As would be appreciated by those skilled in the art, the exemplary systems 100A, 100B and 200 illustrated in
(20) In exemplary configurations of
(21) The above discussion is meant to be illustrative of the principles and various examples of the present disclosure. Numerous variations and modifications will become apparent once the above disclosure is fully appreciated.
(22)
(23) At step 304, the RFID encoder can receive reader settings, encode settings and encode data via the one or more antennas, as illustrated in
(24) TABLE-US-00001 TABLE 1 RFID label Print Encode 1 Pg. 1 EPC1 2 Pg. 2 EPC2 3 Pg. 3 EPC3 4 Pg. 4 EPC4 EPC5
(25) At step 306, the encode label detector (e.g., the encode label detector 107 illustrated in
(26) TABLE-US-00002 TABLE 2 RFID label Print Encode 1 Pg. 1 EPC1 2 Pg. 2 EPC2 3 Pg. 3 EPC3 4 Pg. 4 EPC4
(27) Upon encoding, the encoder can further determine whether encoding of the specific tag is successful, at step 312. In an event that the encoding of the specific tag is successful, the method 300 goes back to step 302. In an event that the encoding of the specific tag is unsuccessful, the RFID encoder records a tag index of the specific tag as “bad,” at step 314.
(28) At step 316, the RFID encoder determines whether the specific tag has the tag index as “bad.” In an event that the specific tag has the corresponding tag index recorded as “bad,” the RFID encoder can arm the marker apparatus, at step 318. The marker label detector (e.g., the marker label detector 109 illustrated in
(29) At step 322, the encoder controller can add one count to a marker tag count. At step 324, the marker apparatus can mark the specific tag to indicate that the specific tag is bad.
(30) In an event that the specific tag does not have a corresponding tag index recorded as “bad,” the method 300 goes back to step 302.
(31)
(32) At step 406, the RFID controller can check receive the encode data, and, determine a current tag sensed by the label detector. At step 408, the RFID controller can determine a corresponding TID of the current tag. At step 410, the RFID controller can retrieve a TID list based upon the TID of the current tag. In some implementations, the TID list can be stored on the RFID encoder. In some implementations, the TID list is stored on a server coupled to the network, or cloud.
(33) At step 412, the RFID controller can cause the RFID encoder to be armed. At step 414, the RFID controller can cause the non-RFID label printer to wait until the RFID encoder is ready. In response to determine that the RFID encoder is ready, the RFID controller can send print data to the non-RFID label printer, at step 416, and cause the non-RFID label printer which is synchronized with the RFID encoder to start to print RFIDs, at step 418.
(34)
(35)
(36) At step 1, Window app sends EPC data to the RFID encoder, which is illustrated in
(37)
(38)
(39) A brief introductory description of example systems and networks, as illustrated in
(40)
(41) To enable user interaction with the computing device 600, an input device 620 is provided as an input mechanism. The input device 620 can comprise a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, and so forth. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the system 300. In this example, an output device 622 and a display 636 are also provided. The communications interface 624 can govern and manage the user input and system output.
(42) Storage device 612 can be a non-volatile memory to store data that are accessible by a computer. The storage device 612 can be magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 608, read only memory (ROM) 306, and hybrids thereof.
(43) The controller 610 can be a specialized microcontroller or processor on the system 600, such as a baseboard management controller. In some cases, the controller 610 can be part of an Intelligent Platform Management Interface (IPMI). Moreover, in some cases, the controller 610 can be embedded on a motherboard or main circuit board of the system 600. The controller 610 can manage the interface between system management software and platform hardware. The controller 610 can also communicate with various system devices and components (internal and/or external), such as controllers or peripheral components, as further described below.
(44) The controller 610 can generate specific responses to notifications, alerts, and/or events, and communicate with remote devices or components (e.g., electronic mail message, network message, etc.) to generate an instruction or command for automatic hardware recovery procedures, etc. An administrator can also remotely communicate with the controller 610 to initiate or conduct specific hardware recovery procedures or operations, as further described below.
(45) The controller 610 can also include a system event log controller and/or storage for managing and maintaining events, alerts, and notifications received by the controller 610. For example, the controller 610 or a system event log controller can receive alerts or notifications from one or more devices and components, and maintain the alerts or notifications in a system event log storage component.
(46) Flash memory 632 can be an electronic non-volatile computer storage medium or chip that can be used by the system 600 for storage and/or data transfer. The flash memory 632 can be electrically erased and/or reprogrammed. Flash memory 632 can include EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), ROM, NVRAM, or CMOS (complementary metal-oxide semiconductor), for example. The flash memory 632 can store the firmware 634 executed by the system 600, when the system 600 is first powered on, along with a set of configurations specified for the firmware 634. The flash memory 632 can also store configurations used by the firmware 634.
(47) The firmware 634 can include a Basic Input/Output System or equivalents, such as an EFI (Extensible Firmware Interface) or UEFI (Unified Extensible Firmware Interface). The firmware 634 can be loaded and executed as a sequence program each time the system 600 is started. The firmware 634 can recognize, initialize, and test hardware present in the system 600 based on the set of configurations. The firmware 634 can perform a self-test, such as a POST (Power-on-Self-Test), on the system 600. This self-test can test functionality of various hardware components such as hard disk drives, optical reading devices, cooling devices, memory modules, expansion cards, and the like. The firmware 634 can address and allocate an area in the memory 604, ROM 606, RAM 608, and/or storage device 612, to store an operating system (OS). The firmware 634 can load a boot loader and/or OS, and give control of the system 600 to the OS.
(48) The firmware 634 of the system 600 can include a firmware configuration that defines how the firmware 634 controls various hardware components in the system 600. The firmware configuration can determine the order in which the various hardware components in the system 600 are started. The firmware 334 can provide an interface, such as an UEFI, that allows a variety of different parameters to be set, which can be different from parameters in a firmware default configuration. For example, a user (e.g., an administrator) can use the firmware 634 to specify clock and bus speeds; define what peripherals are attached to the system 600; set monitoring of health (e.g., fan speeds and CPU temperature limits); and/or provide a variety of other parameters that affect overall performance and power usage of the system 600. While firmware 634 is illustrated as being stored in the flash memory 632, one of ordinary skill in the art will readily recognize that the firmware 634 can be stored in other memory components, such as memory 604 or ROM 606.
(49) System 600 can include one or more sensors 626. The one or more sensors 626 can include, for example, one or more temperature sensors, thermal sensors, oxygen sensors, chemical sensors, noise sensors, heat sensors, current sensors, voltage detectors, air flow sensors, flow sensors, infrared thermometers, heat flux sensors, thermometers, pyrometers, etc. The one or more sensors 626 can communicate with the processor, cache 628, flash memory 632, communications interface 624, memory 604, ROM 606, RAM 608, controller 610, and storage device 612, via the bus 602, for example. The one or more sensors 626 can also communicate with other components in the system via one or more different means, such as inter-integrated circuit (I2C), general purpose output (GPO), and the like. Different types of sensors (e.g., sensors 626) on the system 600 can also report to the controller 610 on parameters, such as cooling fan speeds, power status, operating system (OS) status, hardware status, and so forth.
(50) It can be appreciated that example system 600 can have more than one processor (e.g., 630), or be part of a group or cluster of computing devices networked together to provide greater processing capability.
(51) For clarity of explanation, in some instances, the present disclosure may be presented as including individual functional blocks including functional blocks, including devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.
(52) In some embodiments, the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
(53) Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used, can be accessible over a network. The computer executable instructions may be, for example, binaries and intermediate format instructions, such as assembly language, firmware, or source code.
(54) Devices implementing methods according to these disclosures can include hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, rack-mount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips, or different processes executing in a single device, by way of further example.
(55) The various examples can be further implemented in a wide variety of operating environments, which in some cases can include one or more server computers, user computers or computing devices which can be used to operate any of a number of applications. User or client devices can include any of a number of general purpose personal computers, such as desktop or laptop computers running a standard operating system, as well as cellular, wireless, and handheld devices running mobile software, and capable of supporting a number of networking and messaging protocols. Such a system can also include a number of workstations running any of a variety of commercially-available operating systems, and other known applications for purposes such as development and database management. These devices can also include other electronic devices, such as dummy terminals, thin-clients, gaming systems, and other devices capable of communicating via a network.
(56) To the extent examples, or portions thereof, are implemented in hardware, the present disclosure can be implemented with any, or a combination of, the following technologies: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals; an application specific integrated circuit (ASIC) having appropriate combinational logic gates; programmable hardware such as a programmable gate array(s) (PGA); and/or a field programmable gate array (FPGA); etc.
(57) Most examples utilize at least one network that would be familiar to those skilled in the art for supporting communications using any of a variety of commercially-available protocols, such as TCP/IP, OSI, FTP, UPnP, NFS, CIFS, AppleTalk etc. The network can be, for example, a local area network, a wide-area network, a virtual private network, the Internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network, and any combination thereof.
(58) Devices implementing methods, according to these technologies, can include hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include server computers, laptops, smart phones, small form factor personal computers, personal digital assistants, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips, or different processes executing in a single device, by way of further example.
(59) In examples that utilize a Web server, the Web server can run any variety of server or mid-tier applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers, and business application servers. In response to requests from user devices, the Web server(s) can also be capable of executing programs or scripts. For example, the Web server can execute one or more Web applications, which can be implemented as one or more scripts or programs written in any programming language, such as Java®, C, C# or C++ or any scripting language, such as Perl, Python or TCL, as well as combinations thereof. The Web server(s) can also encompass database servers, including those commercially available on the open market.
(60) The system can include a variety of data stores and other memory and storage media, as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers, or remote from any or all of the computers across the network. In a particular set of examples, the information can reside in a storage-area network (SAN) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers, or other network devices can be stored locally and/or remotely, as appropriate. Where a system includes computerized devices, each such device can include hardware elements that can be electrically coupled via a bus, the elements including, for example, at least one central processing unit (CPU), at least one input device (e.g., a mouse, keyboard, controller, touch-sensitive display element or keypad), and at least one output device (e.g., a display device, printer or speaker). Such a system can also include one or more storage devices, such as disk drives, optical storage devices, and solid-state storage devices such as random access memory (RAM) or read-only memory (ROM), as well as removable media devices, memory cards, flash cards, etc.
(61) Storage media and computer readable media for containing code, or portions of code, can include any appropriate media known or used in the art, including storage media and computing media. The storage media and computing media can include, but are not limited to, removable and non-removable media for storage and/or transmission of data or information. The removable and non-removable media comprise RAM, ROM, EPROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices that can be used to store the desired information and that can be accessed by a system device. The data or information can include computer readable instructions, data structures, program modules, or other data. Based on the technology and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the various aspects of the present disclosure.
(62) The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes can be made thereunto without departing from the broader spirit and scope of the patent application, as set forth in the claims.