WO2024238973A2 - Light-based device communication - Google Patents
Light-based device communication Download PDFInfo
- Publication number
- WO2024238973A2 WO2024238973A2 PCT/US2024/030060 US2024030060W WO2024238973A2 WO 2024238973 A2 WO2024238973 A2 WO 2024238973A2 US 2024030060 W US2024030060 W US 2024030060W WO 2024238973 A2 WO2024238973 A2 WO 2024238973A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- light
- light source
- printer
- information
- pulse sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/116—Visible light communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Definitions
- This specification relates to light-based digital communication.
- Production environments can be very busy environments, with many radio-frequency (RF) signals and operating machines being present.
- Numerous workers can be present in the production environments, e g., production line supervisors, line operations, and service technicians. The workers may require to connect directly to systems in the production environment, where factory-wide communication networks may not be available or secure.
- the technologies include a system for remote monitoring devices in large industrial environments without the need for physical proximity or direct network connection, which is always be available or desirable due to security concerns.
- the technologies use light-based data transmission to communicate device status information.
- the device such as a printer, continuously emits light encoded with information about its status. This light can be captured and decoded by a camera, such as the one on a smartphone, allowing for remote monitoring of the device.
- These technologies generally involve using a light source of a system, e.g., a printer, deployed in a manufacturing, packaging and/or distribution setting, for device identification and to establish digital communication between the deployed device and a user on a mobile device.
- the light source can be used to optically-transmit encoded data using low- flicker, frequency-modulated block-coded pulses.
- a system including a printer, a light source associated with the printer and configured to emit light at one or more wavelengths, and a controller coupled with the light source.
- the controller is configured to generate a pulse sequence corresponding to information for the printer, and adjust a level of light output by the light source based on the pulse sequence to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye.
- the one or more wavelengths include at least a wavelength of infrared light, e.g., 940 nanometer light.
- the one or more wavelengths include a wavelength of visible light and a wavelength of infrared light.
- the controller is configured to adjust the level of the light output by the light source in accordance with predefined indicator codes, where a timing of spaces between the indicator codes, during which the level of the light output is not adjusted, indicates the information being communicated.
- the information can include a wired or wireless network address for the printer.
- the controller is communicatively coupled with the printer, and the controller is configured to receive, from the printer, data for the printer, and encode the data for the printer in the timing of the spaces between the predefined indicator codes to generate the pulse sequence.
- the controller can be configured to make the adjustment of the light output indiscernible to human observation with a naked eye at least in part by adjusting the level of the light output at a frequency above 75 Hertz.
- the light source is (i) a tower light, (ii) a light emitting diode, or (iii) a laser source.
- the light source includes the light emitting diode coupled with focusing optics to produce a narrow beam illumination source.
- the light source is a first light source, where the system further includes a second light source including a different emission wavelength from the first light source.
- the controller can be coupled with the second light source and configured to generate a second pulse sequence corresponding to second information for the printer and adjust a level of light output by the second light source to communicate the second information for the printer while making the adjustment of the light output indiscernible to human observation with the naked eye.
- the information further includes one or more of (A) a printer status update, (B) a fault/error code, (C) connectivity, and (D) the printer or software configuration.
- adjusting the level of light output by the light source includes adjusting an intensity of the light output of the light source between 0 to 100%.
- the pulse sequence can include adjusting the light output of the light source to a steady-state of 50% intensity of a total light output for the light source for a period of time. A period of a light pulse of the pulse sequence can be selected based on a frame rate of a receiving camera of a mobile device.
- generating the pulse sequence includes encoding the information using an optical encoding scheme including valid states of 0%, 50% and 100% intensity of the light source, where a steady-state of the light source includes a 50% intensity of the light source.
- the optical encoding scheme can include (i) a defined state and end of pulse sequences and (ii) a defined character map(s).
- Generating the pulse sequence can include determining a number of frames for the pulse sequence corresponding to the information, and in response to determining the number of frames is a multiple of 50 Hz or 60 Hz, inserting an additional frame into the pulse sequence to reduce a sensitivity to the 50 Hz or 60 Hz ambient light flashing.
- the optical encoding scheme can include alpha- numerical characters as the steady-state of the light source, where a value of the alpha- numerical characters is encoded as steady-state light signal for a set number of frames of a receiving camera of a mobile device.
- the optical encoding scheme can include a set of indicator codes, each of the indicator codes including a predetermined number of sequential light pulses, where the set of indicator codes includes: (A) a start code corresponding to a predefined code, (B) a start code corresponding to a user-defined code, (C) a new character code, (C) a stop code.
- the set of indicator codes further includes a validation code, where the validation code includes a checksum start code.
- a system including a printer, a light source associated with the printer and configured to emit light in a human visible spectrum, and a controller coupled with the light source.
- the controller is configured to generate a pulse sequence corresponding to information for the printer, and adjust a level of light output by the light source based on the pulse sequence, in the human visible spectrum, to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye.
- another innovative aspect of the subject matter described in this specification can be embodied in one or more non-transitory computer storage media encoded with computer program instructions that, when executed by one or more computers cause the one or more computers to perform operations including initiating a decoding application in an application environment on a user device, the decoding application accessing a camera of the user device.
- the operations include presenting, in a display of the user device and in the application environment, a view of the camera of the user device, where the view of the camera includes a reference window guiding a user to capture a light signal from a light source of interest.
- the operations include capturing, using the camera, multiple video frames including the light signal from the light source, and identifying, by the decoding application and within the captured video frames, a pulse sequence in the light signal emitted by the light source, the pulse sequence encoding information.
- a method including generating, by a controller coupled to a light source associated with a printer, a pulse sequence corresponding to information for the printer, where the light source is configured to emit light in a human visible spectrum.
- the method includes adjusting, by the controller, a level of light output by the light source based on the pulse sequence, in the human visible spectrum, to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye.
- the method further includes initiating a decoding application in an application environment on a user device, the decoding application accessing a camera of the user device.
- the method further includes presenting, in a display of the user device and in the application environment, a view of the camera of the user device, where the view of the camera includes a reference window guiding a user to capture a light signal from the light source, the light signal including the pulse sequence corresponding to the information for the printer.
- the method further includes capturing, using the camera, video frames including the light signal from the light source, and identifying, by the decoding application and within the captured video frames, the pulse sequence in the light signal emitted by the light source, the pulse sequence encoding the information for the printer.
- Each light source corresponding to a deployed device e.g., a signal tower or light emitting diodes of an industrial printer
- a manufacturing setting can be repurposed to broadcast a (at least locally) unique identifier encoded in the light pulses such that a camera of a mobile device (e g., mobile phone camera) can capture and decode the information.
- the technologies can allow for real-time communication and device monitoring without requiring physical proximity or direct network connection, increasing efficiency in large production environments, by reducing the need for supervisors or engineers to physically traverse the area to check the status of each device.
- the encoded data can include a wide range of information, such as device faults and warnings, batch numbers, number of items printed, remaining print jobs, and specifics of the last print job, among other things.
- the data can provide a detailed picture of the device operations and status, for example, allowing for proactive maintenance and issue resolution.
- the decoded information can be used by the mobile device to flexibly establish reliable peer-to-peer communications with individual systems directly, without having to invest in a factory-wide Wi-Fi network or Bluetooth mesh network.
- the light pulses can be selected to be observable by a camera of a mobile device but imperceptible to a user.
- a secured look up table can be used to store specific deployed device internet protocol (IP) and/or Bluetooth addresses such that only a user having access to the secured LUT can use the digital communication from a deployed device to connect to the device.
- IP internet protocol
- the subject matter described in this specification can be implemented to facilitate identifying a network or Bluetooth address of a specific system in a production environment without a user having to be sufficiently physically close to the system to read text or bar code symbology present on the system.
- the network protocol supports the use of user-defined symbology and can include dynamically-changing data such as machine-specific alerts, machine identification, and other information, and the use of non-Latin character sets to convey characters of any language.
- the subject matter described in this specification can also incorporate signal light color(s) for more efficient information transmittal.
- the systems and techniques described in this specification need not be limited to printers in a production environment, and can be applied in various other contexts that can benefit from device signaling, e.g., where an industrial device can identify itself and send various types of information, such as the device’s current status and/or the device’s network address, e.g., a modified Internet Protocol (IP) address.
- IP Internet Protocol
- the use of light for data transmission can provide enhanced data security, as the data can be easily encrypted and can be less susceptible to interception than traditional wireless communications.
- the technologies can be designed to adapt to different global standards and protocols for light-based communication. This includes the ability to automatically adjust the light pulses based on regional regulations, ensuring compliance and interoperability across different regions. This can be particularly beneficial for multinational corporations that operate in several countries with different regulatory standards.
- the data encoded into the light can include various types of information, such as device faults and warnings, batch numbers, number of items printed, remaining print jobs, specifics of the last print job and the like.
- the encoding of the data into the light can be done using a specific protocol developed for this purpose. This protocol allows for a large amount of data to be encoded into the light emissions, providing detailed status information.
- FIG. 1 shows an example of an operating environment of a light-based digital communication system in a production environment.
- FIG. 2 shows another example of an operating environment of a light-based digital communication system in a production environment.
- FIG. 3 depicts a schematic plot of a light output trace used to define a percent flicker and flicker index.
- FIG. 4 depicts an example of a tri-state optical encoding scheme.
- FIG. 5 depicts an example of encoded information using an optical encoding scheme.
- FIGS. 6-10 depict examples of encoding schemes for a set of code identifiers.
- FIGS. 11-14 depict examples of optically-encoded pulse sequences using an optical encoding scheme.
- FIGS. 15A-C depict examples of optically-encoded pulse sequences using an optical encoding scheme.
- FIG. 16 depicts a schematic of an example of a controller for operating a light source of a printer.
- FIG. 17 is a flowchart of an example of a process for encoding digital communication and transmitting the encoded optical signal with a light source.
- FIG. 18 is a flowchart of an example of a process for decoding digital communication from a light source.
- FIG. 19 is a block diagram of an example of a computer system.
- FIG. 20 depicts an example of using focusing optics to produce a narrow, non- omni directional beam of light.
- FIG. 21 shows a production environment including two or more production systems with respective light sources within range of a single location from which a camera of a mobile device can detect signals from the respective light sources.
- This specification describes technologies for light-based digital communication for a production environment, e.g., for remote device monitoring in industrial environments.
- HVAC heating, ventilation, and air conditioning
- FIGS. 1 and 2 show example operating environments of a light-based digital communication system in a production environment.
- a production environment can be, for example, a manufacturing facility including production systems deployed in the manufacturing facility, e.g., a fast-moving consumer goods packaging plant.
- a production environment can include multiple different types of production systems configured to perform various functions, e.g., fabrication/manufacturing, sorting, packing, labeling, printing, etc.
- a production environment can include multiple types of production systems which can include respective signal towers and/or programmable light emitting diodes (LEDs) for conveying, for example, system statu s/alerts.
- LEDs programmable light emitting diodes
- production systems can include one or more of a conveyor, bagger, weigh scale, filler(s), taper, carton erector, or the like.
- a production environment can include one or more industrial printers, e.g., for printing labels on parts and/or on packing.
- the production environment can include multiple packaging systems (e.g., multiple packing lines) each with a designated printer for marking and coding.
- the production environment can be an electro- magnetically noisy environment, e.g., in the RF spectrum.
- a production environment can include multiple types of human operators, e.g., line supervisors, line operators, and/or service technicians, where the human operators may need to connect to and/or acquire information from a production system in real-time with or without being immediately adjacent to the production system.
- human operators e.g., line supervisors, line operators, and/or service technicians
- space may be limited in a way that makes it difficult for a person to get close to the production system without also getting close to operating machinery, which can cause risk of injury.
- the light-based digital communication can be further extended to include a variety of other functionalities.
- the light source can be utilized to transmit updated instructions or modifications to the operation of the production system. Transmission of updated instructions or modification of the production system can be useful, e.g., in situations where immediate changes to the system operation are required.
- the encoded data can be tailored to instruct the production system to alter its operations, for instance, changing the speed of a conveyor belt, altering the printing pattern, or modifying the filling quantity in a packaging system. Real-time, light-based communication can facilitate immediate changes to the system operations, thereby enhancing the efficiency and adaptability of the production environment.
- some printers e.g., laser and print & apply printers
- the tower light can be located such that it is visible from a distance, e.g., mounted high and within line of sight of operators and supervisors.
- a production environment 200 including multiple production systems can each have respective tower lights, e.g., tower lights 202, 204, where each tower light can communicate via the light-based signal communication described in this specification.
- printers lack a tower light, such that a status light on the printhead or controller itself, e.g., light emitting diodes (LEDs), are used to perform the same function.
- a light source can be located in proximity of the production system and be in data communication with the production system and be used for address identification and digital communications. The light source can be positioned with respect to the production system to provide line of sight data communication to a user nearby the production system, e.g., mounted on a wall, ceiling, or overhead, such that the light source is accessible by a camera of a user’s mobile device.
- a light source used for address identification and digital communications includes emission wavelength ranges that overlap with detection wavelength ranges of images sensors of smart devices, e.g., embedded cameras of smart phones, tablets, or other handheld smart devices.
- a user 106 can use a camera of a mobile phone 108 to receive light-encoded signal from the light source 102.
- the emission wavelength range of the light source can be, for example, in the infrared wavelength range, visible wavelength range, or a combination of both.
- a light source can be an LED emitting in the blue, red, yellow, green, orange, or other visible wavelength range.
- a light source can be an infrared LED or laser emitting in the near infrared wavelength range, e g., about 940 nanometers (nm).
- a light source can be an ultraviolet (UV) LED or laser emitting in the UV wavelength range.
- a controller of the system can be used to control operations of the light source to transmit data using the light source coupled to the system.
- a component can be added/retrofitted to existing systems (or other components with light sources) including a controller for controlling operations of the light source to transmit data using the light source.
- a digitally-encoded, “low-flicker”, frequency-modulated, block-coded pulse can be used to optically encode and transmit the data using a light source coupled to the system, e.g., signal tower lights.
- the flicker of a light pulse is “low” when the encoded pulse frequency is set sufficiently fast as to be invisible (or indiscemible/imperceptible) to a human observer.
- indiscernible to a human user includes a repetitive wave (e.g., square wave) with a repetition > 75 Hertz (Hz).
- a frequency of the block-coded pulse can be set sufficiently slow to be visible (or discernible) to common mobile device cameras, e.g., smart phone cameras.
- mobile device cameras can have 240 frames/ second video capture capability corresponding to a 4.166 millisecond (ms) pulse that can be captured by the camera.
- mobile device cameras can have 480 frames/second video capture capability corresponding to a 2.083 ms pulse or 960 frames/second video capture capability corresponding to a 1.042 ms pulse.
- an encoding scheme for encoding information and transmitting using the light source can be selected to be sufficiently imperceptible to a human viewer, e.g., subconsciously and consciously.
- light source controllers e.g., LED drivers, can be used to operate the light source to generate robust optical signal transmission.
- the encoded pulse information can be recovered using a decoding application on a user’s mobile device, e.g., a smart phone.
- the decoding application can capture the pulsed light signal through a camera of the mobile device and the application can decode the information, e.g., using a look-up table (LUT) mapping a pulse light signal train to alpha- numerical values, e.g., hexadecimal values.
- LUT look-up table
- Transmittable information can include, for example, an actual IP, Bluetooth, or other wireless network address identifying the system (e.g., a printer), decoded (LUT) system identifiers, presence of system fault and/or warning/alerts, detailed system faults and/or warnings, other system alerts related to status (e.g., ready/printing/off/not ready status), time & date, system model & configuration, software version, service/maintenance information, batch count or another production status update, or the like.
- system e.g., a printer
- LUT decoded
- the encoded pulse information can be decoded and mapped (e.g., using a LUT) to distinguish a limited set of IP or Bluetooth addresses representative of the deployed systems in the production environment.
- the decoding application on the mobile device decodes the TP or Bluetooth address
- the decoding application can establish a high-speed data connection using the RF transmission of the system.
- a deployed system Wi-Fi or Bluetooth antenna can be colocated with the light source (e.g., co-located with the tower light or in its stalk), making use of its location and field of view in the production environment to maximize RF transmission distance.
- a transmission distance can range up to about 10 meters, with decreasing range based in part on a degree of electrical noise in the production environment.
- Wi-Fi-enabled production environment including Wi-Fi signal repeaters full coverage anywhere in the factory can be achievable, although the individual range to a single repeater can be less than a full range of the production environment.
- Wi-Fi operating at 2.4 GHz can have a transmission distance range of up to about 45 meters.
- Wi-Fi operating at 5 GHz can have a transmission distance of up to about 15 meters.
- optical communications can extend a transmission distance range from about 15 feet to about 50 feet - 75 feet by modifying the modular signal tower lights.
- the transmission distance range can be up to about 0.5 meters away.
- a network address for a deployed system can be encoded in light pulse signals where a network address can be a Wi-Fi address including either an IPv4 or IPv6 address.
- Integers "0-9" and can be part of an IP address.
- the range of IP addresses can be between 0.0.0.0 and 255.255.255.255, where the range is included in Class A, Class B, or Class C.
- a network can be denoted by the first address in the network and the size in bits of the prefix, separated by a slash
- a network address for a deployed system can be encoded as light pulse signals where a network address can be a Bluetooth address.
- a Bluetooth address includes a 48-bit value (e.g., 12 hexadecimal digits) that uniquely identifies a Bluetooth- enabled device.
- Light-based digital communication can include encoding information into a sequence of light pulses, where characteristics of the light pulses, for example, timing, frequency, amplitude/intensity, pattern, color, etc., can be used to encode and transmit the data.
- characteristics of the light pulses can be selected to be substantially undetectable by a human observer while also being detectable by a camera having at least a threshold number of frames/second capability, e g., 240 frames/second.
- characteristics of the light pulses can be selected to avoid triggering a human viewer who is photosensitive, e.g., have epilepsy or another photosensitive condition. For example, a frequency range between 5-30 Hz can be avoided due to an increased likelihood of triggering a photosensitive response.
- an intensity e g., brightness and/or contrast between light/dark
- an intensity e g., brightness and/or contrast between light/dark
- an area that a light stimulus occupies of a human viewer’s visual field can be selected to be less than about 25 percent of a total area of the field of view of the human viewer.
- a pattern or color(s) in an image generated by the light source including light and dark regions can be selected to be less than a threshold pattern of light/dark or colors to avoid triggering a photosensitive reaction.
- a wavelength of the light of the light pulses can be selected to be outside a normal viewing range of wavelengths of a human eye, e.g., outside the 400-700 nm spectrum.
- the wavelength of light not visible to the human eye can be detectable by image sensors configured to detect wavelengths of light in the infrared or ultraviolet spectra.
- Light pulses of a light source can be defined in part based on a flicker of the light source, e.g., a percent flicker and/or a flicker index.
- Percent flicker (also known as a “modulation index”) of the light source is a relative measure of the cyclic variation in output of a light source (e.g., percent modulation).
- Recent 7 flicker — 100 where A is the maximum value and B is the minimum value of the output of the light source.
- a flicker index is a relative measure of the cyclic variation in output of various sources at a given power frequency which takes into account a waveform of the light output as well as its amplitude.
- the flicker index ranges in value from 0 to 1.0, where 0 is a steady light output and increasing values indicate an increased probability of discernable light source flicker by a human observer, as well as a stroboscopic effect.
- Area 1 is the area under the curve between the average light output and the maximum value of the curve
- Area 2 is the area under the curve between the average light output and an “off’ light value, e.g., zero.
- An optical encoding scheme can be used to encode information into a pulse sequence transmittable by a light source (e.g., or light sources) such that a decoding application operating on a user’s mobile device can process the pulse sequence in captured frames by the camera of the user’s mobile device and decode the pulse sequence into the information.
- a light source e.g., or light sources
- an optical encoding scheme can be based in part on a camera frame rate of a receiving camera, e.g., a camera of a smart phone.
- an optical encoding scheme is based on a camera frame rate of 240 frames/second (fps) corresponding to a “slow-motion video” capture rate of many cameras in mobile devices.
- time is divided into 4.166 millisecond units, corresponding to a single frame of a camera having a 240 fps capture rate.
- a system that encodes information via the flashing of visible light can include the following characteristics: (A) low flashing perceptibility, (B) low lighting flicker, (C) fast system ID (identifier) decode speed (first time), (D) fast system ID decode speed / short error recovery time (after the first time), (E) high system ID decode ambient noise rejection, and (F) high system ID decode distance (e.g., a distance from user with mobile device to a transmitting light source).
- an encoding scheme includes a tri-state optical encoding scheme, with valid states of 0%, 50% and 100% brightness of the light source, where a nominal state of the light source (e g., LED) is at a 50% brightness.
- a 0% (off) pulse with an immediately-following 100% pulse yields a combined average intensity of 50% that matches the steady-state LED brightness, making the pulse pairs imperceptible by most people under most conditions.
- an average 0-100% pulse-pair intensity is the same as the background (50%), so the eye doesn’t perceive the pulse pairs discreetly embedded within a pulse waveform.
- information transmitted is represented as “L”, “M”, and “N”, corresponding to the spacings between each pair of adjacent pulses, respectively.
- an optical encoding scheme to transmit information includes one or more of (i) a defined state and end of pulse sequences, (ii) a defined character map(s), and (iii) a reduced sensitivity to 60 or 50 Hz ambient light flashing.
- an encoding scheme can be modeled on code 128 bar code standards and structure, while maintaining imperceptible flicker to a human user and insensitivity to ambient optical false signaling (e.g., due to ambient lights having 50 or 60 Hz flickering).
- the optical encoding scheme can include “quiet zones” present before and after the encoded data signal.
- the optical encoding scheme can include a specific “Stop” code (value of 106 for Code 128).
- the optical encoding scheme can include specific “Start” codes, each signifying different meanings for the data following.
- FIG. 5 depicts an example of encoded information using an optical encoding scheme.
- the optical encoding scheme includes a set of indicator codes:
- FIGS. 6-10 depict example encoding schemes for a set of code identifiers.
- FIG. 6 depicts a character/code indicator code pulse signal, e.g., a “new character” indicator in a pulse sequence. As depicted, the character indicator code is encoded as a single 0-100% pulse pair.
- an appearance of a “new character” indicator code preceded by at least one camera frame at 50% brightness, can be used to indicate (i) a start of a new character (e.g., start A) or (ii) a start of a new user-defined code (e.g., start B).
- FIG. 7 depicts an indicator code for an end pulse signal of pulse sequence transmission, e.g., a “stop code.”
- the “Stop” code consists of two 0-100% brightness pulse pairs in succession, where the “Stop” code signifies that the data sequence being transmitted is now ended.
- the stop code can be preceded by at least one frame at 50% brightness and followed by a “Quiet Zone” of a set of frames at 50% brightness, e.g., at least about 8 frames.
- “Start A” code “Stop” ends the predefined data code sequence.
- “Start B” code “Stop” ends the user-defined data code sequence.
- “Checksum Start” code “Stop” indicates that no more checksum digits will follow.
- FIG. 8 depicts an indicator code for a start of a data sequence based on predefined codes, e.g., a “start A” code.
- the “Start A” code can include of three 0-100% brightness pulse pairs in succession.
- “Start A” indicates the start of a predefined data sequence with either numeric hexadecimal digits and/or upper-case Latin characters A-Z. Numeric values can be transmitted as hexadecimal (base 16) for efficiency. According so some encoding schemes, “start A” can be preceded by a Quiet Zone of a set of camera frames, e.g., at least about 8 frames.
- steady-state light signal frames following a “start A” code for a set number of one or more frames can be assigned to a unique alpha-numerical value.
- Two or more sets of one or more frames can be separated by a “new character code” following the “start A” code, each set corresponding to a unique alpha-numerical value.
- the set number of frames corresponding to each of the alpha-numerical characters can be defined, for example, in a LUT for the encoding scheme.
- the LUT can include an “N” value corresponding to a number of video frames per code, and an alpha-numeric value is assigned to each N value. Additionally, an N value can be assigned to user-defined codes.
- Numerical values can be interpreted as base-16 (hexadecimal, 0-9, and A-F).
- IPv4 addresses can be sent as four pairs of two hexadecimal digits.
- the LUT can include, for example, Latin uppercase characters, e.g., A-Z, as well as special characters, each represented as a unique number of frames N.
- alpha-numerical characters “9,” “D,” and “8” are included in the example pulse sequence as non-pulses, e.g., as steady-state light signal for a set number of frames.
- an optical encoding scheme includes a limit to a length of the alpha-numeric character by limiting a length of “N,” e.g., the number of video frames (4.166 milliseconds each) that is allowed for the alpha-numerical characters.
- N e.g., the number of video frames (4.166 milliseconds each) that is allowed for the alpha-numerical characters.
- Limiting a number of frames that can represent a given alpha-numeric character can limit a time required to transmit and decode a single character as well as limit a transmitting light source and receiving camera pulse width (e.g., clock) precision requirements to +/- 1%.
- a value of N can range between 1 and 100 frames.
- FIG. 9 depicts an indicator code for a start of a data sequence based on user-defined codes, e.g., a “start B” code.
- the “Start B” code can include four 0-100% brightness pulse pairs in succession.
- “Start B” indicates the start of a user-defined data sequence.
- the meaning of each data code that follows (N frames at 50% brightness followed by a Character/Code Delimiter, Checksum Start, or Stop code, where 1 ⁇ N ⁇ 100), is defined by the user.
- User-defined characters or codes can have any meaning intended by the user.
- a number of unique user-defined codes can depend, in part, on a number of frames (e.g., a time interval) to transmit each code.
- a limit on a time interval to transmit a code can dictate an upper bound on an N number of frames (and therefore an N number of unique codes) that can be defined by the user. To be meaningful, those meanings must be both defined at the signal transmitter and the receiving cell phone application.
- some possible user-define code meanings can include, (i) non-Latin characters or symbols (e.g., Kanji strokes, Greek letters, punctuation, etc ), (ii) system fault / warning codes (e.g., “Low on Ink; Conveyor stopped; etc.), or (iii) mapped system IP addresses (e.g., Printer “1” maps to XXX.XXX.XXX; Printer “2” maps to YYY.YYYYY.YYYYY, etc.).
- start B can be preceded by a Quiet Zone of a set of camera frames, e.g., at least about 8 frames.
- a steady-state light signal for a set number of frames can be assigned to a unique pre-defined message, where a set of pre-defined messages are each assigned a different number of non-pulse frames in a LUT for the encoding scheme.
- an encoding scheme can include definitions of different 3-digit number codes, each representing a piece of machine status.
- an encoding scheme can include 4-, or 5-digit numerical codes.
- an encoding scheme can include pairs of numbers, where the first number specifies a type of machine information (e.g., machine model or “warning”), and a second number details the relevant information.
- the encoding scheme can include three-number codes.
- a “start B” LUT can be used to store user defined codes, where an encoded value N can be any character represented within a set of scripts.
- a “start B” LUT can include a character within scripts defined by the Unicode 15.0 standard, where the user can assign codes to characters of included in one or more scripts.
- a user can generate an encoded message using a mix of different scripts and different types of characters (e.g., numbers, letters, symbols, special characters) within an encoded “start B” message.
- a “start B” encoded sequence can precede a “start A” encoded sequence, where the “start B” encoded sequence provides information, context, or definition of the start A message.
- a start B encoded sequence can transmit an identifier “Printer IPv4 Address” as one or more N values defined in a start B LUT, where a start A encoded sequence following can include the IPv4 hexadecimal address (e.g., FFE7FFD0).
- a start B encoded sequence can transmit an identifier “Printer Fault Code” as one or more N values defined in a start B LUT, where a start A encoded sequence following can include the fault code value, e.g., “B7 ”
- a start B encoded sequence can transmit an identifier “Warning” as one or more N values defined in a start B LUT (and which can be a non-English language), where a start A encoded sequence following can include the fault warning value (e.g., “C3”).
- an encoding scheme can include both start A and start B codes.
- N values of 1 - 59 can be assigned to numbers, letters, and special characters, and N values of 60-100 can be user-defined.
- FIG. 10 depicts an indicator code for a validation code, e.g., a “checksum start” code.
- a “Checksum Start” can include five 0-100% brightness pulse pairs in succession. It indicates the start of the transmission of one or more hexadecimal (base 16) checksum digits which can be used to validate an accuracy of the transmission received by a receiving decoding application.
- the checksum digit sequence can end with a “Stop” code, as described above.
- digits can be separated by a “Character/Code Delimiter” code, as described above.
- the checksum start code can be followed by a set of frames which are added together (e.g., the checksum) by both the transmitter and the receiver, where the values of the checksum calculated by the transmitter and the receiver are validated against each other.
- a receiving decoding application can receive and sum the set of frames following the “checksum start” code until receiving either a “stop” code or a “new character” code to compute a checksum value.
- the decoding application can then receive and decode a checksum value computed by the transmitter (e.g., the controller operating the light source transmitting the data sequence) and compare the received checksum value from the transmitter to the checksum value computed by the decoding application.
- FIGS. 11-14 depict examples of optically-encoded pulse sequences using an optical encoding scheme.
- FIG. 11 depicts an example pulse sequence including a data sequence of predefined, numeric characters. The data sequence of FIG. 11 does not include a checksum digit sequence. As depicted in FIG. 11, the data sequence includes a Quiet zone of at least 8 frames at 50% brightness, followed by three 0-100% pulse pairs in succession to identify the “Start A” code, signifying our predefined codes will follow. A single frame at 50% signifies the hexadecimal digit “0”. A single 0-100% pulse pair signifies a New Character will follow. 16 frames at 50% signify the predefined hexadecimal digit “F”.
- the depicted sequence of FIG. 11 can have an advantage of relatively quick transfer (e.g., transmission).
- a relatively quick transfer can be between about 1.2 to about 1.5x faster for a data sequence not including a checksum compared to a data sequence including a two-digit checksum value.
- the approach depicted in FIG. 11 can be ultra-fast and can exhibit a sufficiently low error rate.
- ultra-fast communication can have an error rate of less than about 0.1% to about 1%.
- a threshold for a low error rate for decoding a encoded signal transmission including a two-digit checksum value can be about 0.4% maximum error rate for a 0.13-0.33 second single-repeat decoding process.
- a sequence not including a checksum can lead to an increased error rate in noisy environments such that the receiver needs to perform multiple decodes to have high confidence the data sequence is correctly decoded. In other words, the sequence is transmitted multiple times in order to provide the receiver sufficient opportunities to decode the correct data sequence.
- FIG. 12 depicts an example pulse sequence including predefined encoded values and including a single-digit checksum sequence.
- the single-digit checksum can be included in the pulse sequence for a relatively simple measure of error detection.
- the hexadecimal digits “9” and “D” are transmitted, followed by a “Checksum Start” identifier code.
- the decoding application on the mobile device can then verify that the number of frames it captured and decoded for the digits add up to the same checksum value. In the case that the checksum values match, the decoding application can conclude that the transmission is verified, and it can terminate decoding the signal. In the case that the checksum values do not match, the decoding application can attempt again to capture and decode the transmitted signal.
- FIG. 13 depicts an example pulse sequence of predefined encoded values and including a two-digit checksum sequence.
- the hexadecimal digits “9” and “D” are transmitted, followed by a “Checksum Start” identifier code.
- checksum digits are sent prior to the “Stop” code, they are the least-significant two digits of the 18 (hex), or “18”.
- the decoding application then verifies that the number of frames captured by the camera of the mobile device representing the digits add up to the same checksum value. In the case that the checksum values match, the decoding application can assume that the transmission is verified, and it can terminate decoding the signal. In the case that the checksum values do not match, the decoding application can attempt again to capture and decode the transmitted signal.
- the approach described with respect to FIG. 13 can be extended to N- number of checksum digits, with potentially diminishing returns.
- FIG. 14 depicts an example pulse sequence of user-defined encoded values and including a single-digit checksum sequence.
- the data sequence depicted in FIG. 14 illustrates a transmission of two user-defined codes with a single checksum digit.
- User codes can be defined, for example, as non-Latin characters or symbols (e.g., Kanji strokes, Greek letters, punctuation, etc.), system fault / warning codes (e.g., “Low on Ink; Conveyor stopped; etc.), mapped system IP addresses (e.g., Printer “1” maps to 168.168.168.192; Printer “2” maps to 168.168.168.195, etc.), or another user-defined code that conforms to the structure of the optical encoding scheme.
- non-Latin characters or symbols e.g., Kanji strokes, Greek letters, punctuation, etc.
- system fault / warning codes e.g., “Low on Ink; Conveyor stopped; etc.
- encoding data at video frame rates such as 240 fps has the potential for power line interference with the optical signal.
- the second message transmission and every transmission thereafter will exhibit the same sub-optimal power-phase relationship where the sine wave bright peak 1502 overlaps with the low-light pulse at the beginning of a “Start-A” command, as shown in the example depicted in FIG. 15B. Consequently, the samples aren’t independent and therefore no noise reduction is likely.
- This example scenario can be problematic for an optical encoding scheme, because the receiver is unable to communicate back to the transmitter regarding the problem, such that a different power-phase relationship can be used to transmit the information.
- transmitting the encoded information can be performed by two or more light sources.
- a deployed system in a production environment can include a light tower with multiple light sources each configured to emit a different wavelength range, e.g., two or more of red, green, yellow, blue, and white.
- a deployed system in a production environment can include multiple LEDs each configured to emit a different wavelength range, e.g., two or more of red, green, yellow, blue, and white.
- the different colors emitted by the respective light sources can be used to transmit color-coded information.
- color-based signaling can include (A) Fault (steady red light) - send printer ID, fault code, (B) warning (flashing red or steady orange light) - send printer ID, warning code, (C) printer warming Up - (flashing green or steady yellow light) - send printer ID, “warming up” code, and (D) normal operation (steady green light) - send printer ID only.
- the decoding application can be operable to recognize a color that is flashing, know which type of information is being conveyed, and interpret it appropriately, using a minimal amount of data.
- a printer ID can be just one or two hex digits, the same for a fault or warning code. With an added checksum digit, all the information can be conveyed with 3 - 5 digits - resulting in fast decoding of the transmitted message.
- the light-based digital communication system can utilize a multi-color light source, such as a multi-color LED.
- the system can use the different colors of the multi-color light source to represent different types of data or to increase the amount of data that can be transmitted in a single light pulse. For example, red represents error codes, green indicates operational status, and blue conveys device identification data. Color-coding of data transmission can enhance the efficiency of data transmission and allow for quicker identification of specific types of data by the decoding application.
- a light source coupled to a deployed system in a production environment can be a tower light.
- the tower light can be configured to signal additional information, e.g., system status, fault/error, connectivity, etc., in addition to transmitting the optically encoded data as described above.
- a controller including one or more processors in data communication with one or more memory storage can be configured to provide control signals to the light source(s) to transmit the encoded data.
- the controller can be a component of the system, e g., a component of a computer system of the system, and/or can be an added component (e g., an auxiliary controller) to the system to perform the operations described in this specification.
- the controller can include intensity modulators and/or AND Gates configured to adjust an output light signal for the light source(s), e.g., to adjust an output light intensity of the light source(s). Adjusting the output light signal can be performed dynamically, e.g., to pulse the light source(s) in accordance with the optical encoding scheme described in this specification.
- FIG. 16 depicts a schematic of an example controller 1600 for operating light source(s) 1604 of a printer 1602.
- Light source(s) 1604 can be, for example, a tower light including one or more light sources, e.g., red, yellow, and green LEDs.
- the controller can determine whether or not the printer 1602 is on or off, e g., whether or not the light source(s) are illuminated or in a “not ready” condition (e.g., a solid red signal).
- a “not ready” condition e.g., a solid red signal.
- the printer 1602 is turned on, at least one light of the tower light 1604 is illuminated, such that the light that is illuminated can be used to transmit information according to the encoding schemes described in this specification using control circuitry 1606.
- the controller 1608 can use the control circuitry 1606 to control the operation of the light source(s) 1604 of the printer 1602, e.g., each of the light source(s) 1604 can be operated separated using the control circuitry 1606.
- the control circuitry 1606 includes AND gates in a Printer ID Pulse Encoder circuit whose output is AND-ed with the on/off signals for each color’s LED, so that whichever light is on is always flashing with the printer ID of the printer 1602.
- the control circuitry 1606 includes intensity modulators, where the controller 1608 can modulate the light source output intensity between 100% and 50% brightness, for example.
- the controller 1608 is operable to transmit factory-specific LUT codes 1610, where each of N different printers in that facility has an associated set of unique low-flicker block codes (e.g., 168.1.1.70 is equal to “3”). In some implementations, the controller 1608 is operable to transmit the IP address, Bluetooth address, or other wireless address, e.g., as described in this specification.
- the tower light depicted in FIG. 16 includes an RF antenna embedded within the blinking signal tower light to provide Wi-Fi, Bluetooth, or other wireless interface to the printer.
- a decoding application operating on a user’s mobile device e.g., a smart phone
- a pulse sequence e.g., pulse sequences described with reference to FIGS. 5, 11-14
- code identifiers e.g., code identifiers described with reference to FIGS. 6-10.
- the decoding application can activate a fast-framing (e.g., 240 fps) video capture functionality of the camera and present, in an application environment (e.g., graphical user interface) within the display of the mobile device, the video in real-time to assist/guide a user to capture the light source within a reference window displayed in the application environment.
- the application environment can include a reference window and guiding signals to assist the user in positioning the light source within the reference window for capturing the transmitting data.
- the decoding application can use guiding signals to instruct the user to adjust a distance/orientation of the user’s mobile device with respect to the light source. For example, the decoding application can use guiding signals to instruct the user to move closer/farther away to adjust a size of the light source within the reference window, e.g., +/- 50%, to optimize a signal-to-noise ratio for the captured frames.
- the decoding application performs pre-processing on the captured frames including the light source and the transmitted signal. For example, the decoding application can convert the captured frames including the light source into grayscale, e.g., to simplify/expedite the processing of the light signal being transmitted.
- the decoding application can initiate a new receiving sequence for the transmitting signal and monitor for a code identifier indicative of a “start A” or “start B” code, e.g., as described above with reference to FIGS. 8 and 9 and the optical encoding scheme.
- the decoding application can decode a sequence of light pulses including a value of “N” frames (e.g., corresponding to an arbitrary alpha-numeric value).
- the decoding application can proceed to count (e.g., increment a counter) of a number of 50% brightness frames following the “start A” or “start B” code and prior to receiving a “New character” code, e.g., as described with reference to FIG. 6, or a “checksum start” code identifier, e.g., as described with reference to FIG. 10.
- the decoding application can convert the total count into a predefined alpha-numeric value or text value, e.g., using LUT.
- the decoding application will receive and decode a checksum start code identifier, which instructs the decoding application to count a number of 50% brightness frames succeeding a “start” code identifier and prior to a “new code” or “stop” code identifier.
- the decoding application can convert the number count to a predefined hexadecimal numeric value (e.g., 0-F) and validate the value against the checksum value transmitted by the light source.
- the decoding application can terminate the decoding sequence or proceed to a next decoding sequence.
- the decoding application can reinitiate a same decoding sequence, as described above.
- the decoding application can provide an alert to the user of the mobile device, e.g., in the application environment, to notify the user of the error.
- various interference reduction techniques are implemented to improve the reliability and accuracy of the light-based digital communication system in challenging environments.
- the system can use error correction codes to detect and correct errors that can occur during the transmission of light pulses. Error correction codes can be beneficial in environments with high levels of ambient light or electromagnetic noise, which can interfere with the light signal.
- directional light sources and/or receivers are utilized, which help to focus the light signal and reduce the impact of ambient light.
- the light source can be a laser diode, which emits light in a narrow beam
- the receiver can be equipped with a lens or other optical component that focuses the incoming light onto the camera sensor. Further details of direction light sources are discussed below.
- the system uses modulation techniques to encode the data into the light signal in a way that is more resistant to interference.
- the system can use frequency modulation, where the data is encoded into the frequency of the light pulses, rather than their intensity.
- Interference reduction techniques can be used individually or in combination to enhance the performance of the light-based digital communication system in various environments.
- FIG. 17 is a flowchart of an example process 1700 for encoding digital communication and transmitting the encoded optical signal with a light source.
- the process will be described as being performed by a system of one or more computers, located in one or more locations, and programmed appropriately in accordance with this specification, for example, by a controller of the printer or a controller that is retrofitted to the printer.
- the controller receives information for the printer (1702).
- the information can include, for example, a wired or wireless address of the printer.
- the controller generates a pulse sequence corresponding to the information for the printer, where generating the pulse sequence includes encoding the information in a timing of spaces between predefined indicator codes (1704).
- the controller can use a LUT including the predefined indicator codes and a set of pre-defined encoded alpha-numeric characters and/or user-defined codes corresponding to frames between the predefined indicator codes.
- the controller adjusts a level of light output by a light source based on the pulse sequences, e.g., in the human visible spectrum,, to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye (1706).
- the adjustment can be an adjustment in an intensity of the light output between 0- 100% of the available range of light output for the light source, where a steady-state output can be 50% intensity of the available range of light output for the light source.
- FIG. 18 is a flowchart of an example process 1800 for decoding digital communication from a light source.
- a user initiates 1802 a decoding application on the user’s mobile device, e.g., an “printer communication app”.
- the decoding application initializes 1804 variables and engages with the camera of the mobile device.
- the decoding application presents 1806 a view of the camera of the mobile device in a display window of the application environment and including a reference window, e.g., an “aiming square” indicating to the user where to align the light source of interest.
- the user can then center 1808 the light source within the reference window, e.g., center a printer’s tower light within the aiming square.
- the decoding application proceeds to capture 1810 N high-speed video frames including the light source.
- the decoding application can identify 1812, within the captured video frames, a light-off event (e.g., a “start” code).
- a start or initialization code is identified, the decoding application can proceed to decode 1814 the data sequence (e.g., flashing block code) transmitted from the light source.
- the decoding data sequence can be translated 1816, e.g., using a LUT, into a pulse sequence including a unique identifier for the printer.
- the unique identifier for the printer can be processed by the decoding application to connect 1818 wirelessly to the printer by establishing a connection between the printer and the mobile device over a network. Once the connection is made between the printer and the mobile device, the user can enter 1820 the printer UI application. In a case where a pattern start is not found, the decoding application can provide 1822 guidance to the user, e.g., using guiding signals or text/audio-based alerts, to adjust in response. For example, the decoding application can prompt the user “signal too low, move closer to light.” In response to detecting 1824 an updated location of the mobile device with respect to the light source decoding application can retry to identify light-off events (or a pattern start event).
- an updated location of the mobile device with respect to the light source decoding application can retry to identify light-off events (or a pattern start event).
- FIG. 19 is a block diagram of an example computer system 1900 that can be used to perform operations described above. For example, such as operations performed by the controller to encode information into a pulse sequence and/or operations performed by a mobile device running a decoding application.
- the system 1900 includes a processor 1910, a memory 1920, a storage device 1930, and an input/output device 1940. Each of the components 1910, 1920, 1930, and 1940 can be interconnected, for example, using a system bus 1950.
- the processor 1910 is capable of processing instructions for execution within the system 1900.
- the processor 1910 is a single-threaded processor.
- the processor 1910 is a multi -threaded processor.
- the processor 1910 is capable of processing instructions stored in the memory 1920 or on the storage device 1930.
- the memory 1920 stores information within the system 1900.
- the memory 1920 is a computer-readable medium.
- the memory 1920 is a volatile memory unit.
- the memory 1920 is a non-volatile memory unit.
- the storage device 1930 is capable of providing mass storage for the system 1900.
- the storage device 1930 is a computer-readable medium.
- the storage device 1930 can include, for example, a hard disk device, an optical disk device, a storage device that is shared over a network by multiple computing devices (e.g., a cloud storage device), or some other large capacity storage device.
- the input/output device 1940 provides input/output operations for the system 1900.
- the input/output device 1940 can include one or more of a network interface device, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card.
- the input/output device can include driver devices configured to receive input data and send output data to peripheral devices 1960, e.g., keyboard, printer and display devices.
- peripheral devices 1960 e.g., keyboard, printer and display devices.
- Other implementations, however, can also be used, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc.
- a single integrated circuit chip can be integrated (e.g., retrofitted) into a deployed system/device including a light source.
- a light source used for address identification and digital communications can be selected such that the wavelength of light of the light source is outside visible wavelength range of a human eye, e.g., outside the range of -400-700 nm range.
- IR wavelengths, in particular near-IR wavelengths can be within a detectable range of wavelengths by cameras of mobile devices, e.g., smart phones and tablets. By selecting IR wavelengths for the address identification and digital communications, the light pulses are invisible to the human eye.
- Many cameras of mobile devices include a spectral response extending into the infrared, e.g., extending to wavelengths of about 1000 nm.
- a sensitivity of the camera can be reduced in the infrared, e.g., due to image sensor detectability limits, by the inclusion of a filter with the camera, or both, a sufficiently bright infrared source can be used to provide light-based communication detectable in infrared by the receiving camera of the mobile device.
- an infrared source emitting at 940 nm is used for the lightbased communications.
- the 940 nm wavelength is absorbed by the Earth’s atmosphere such that sunlight has a reduced presence of 940 nm light which can reduce interference from sunlight in light-based communication using an infrared light source.
- infrared light-based communication can benefit from a robust, low-noise-susceptibility communications and result in improved signal-to-noise ratio for the light-based communication both in indoor and outdoor settings.
- 940 nm light is detectable by common silicon-based detectors, which can reduce the barrier of implementing an infrared solution.
- Infrared-based light signaling can be implemented using a similar protocol as described above with reference to visible light signaling.
- a relative luminescence required for threshold detectability of the infrared light source is higher than a luminescence required from threshold detectability of a visible light source, e.g., due to reduced sensitivity of mobile device cameras to infrared wavelengths.
- a transmission range up to about 150 meters is achievable.
- a transmission range for a light-based digital communication system using an IR light source depends in part on a field of view of the receiving camera used to capture the light signal from the IR light source.
- a transmission range can depend in part on various factors, for example, the quality of the camera’s sensor, characteristics of the IR light source, e.g., wavelength and beam divergence, and environmental conditions such as ambient light and physical obstructions.
- the light-based digital communication system can be optimized to a transmission range by adjusting operating parameters of the IR light source, e.g., intensity, beam angle in view of camera configuration, e.g., focal length, pixel size.
- IR light signal can be used for digital communication over extended distances, e.g., up to about 150 meters, by configuring the IR light source intensity in view of the camera’s detection capabilities.
- an IR light source delivering approximately 100 picoWatts (pW) per pixel at the camera, e.g., the camera of the mobile device can enable communication up to about 150 meters in a lighted, indoor environment, depending on camera configuration and environmental quality.
- An intensity of the IR light source can be selected based in part on a threshold signal to noise ratio with ambient light, e.g., sunlight, in the production environment.
- characteristics of the IR light source can be selected such that the beam size at the location of the camera is less than a threshold area, e.g., a fraction of the field of view of the camera.
- Equation 3 is a formulation for determining a field of view (FOV) of a camera: where X px is a number of pixels in a cell phone camera in the X-direction, Y px is a number of pixels in a camera in the Y-direction, FL is the focal length of the camera, and DP X is the pixel pitch of the camera.
- a mobile device can include a camera having the following specifications: 4032 pixels in the X-dimension X px , 3024 pixels in the Y- dimension Y px , a pixel pitch DP X of 1.4 microns (pm), and a focal length FL of 26 millimeters.
- the camera FOV can, in part, dictate an amount of IR light signal that is captured by the camera.
- Equation 4 is a formulation for determining a distance over which the IR lightbased communication can be implemented, e.g., such that a threshold light intensity is capturable by the camera at the distance.
- D range is a maximum distance between the camera and the IR light source
- M is the minimum number of pixels in the camera’s x-dimension required to detect the pulsing light
- H lamp represents the effective height, e.g., size, of the IR light source.
- an IR light source can have a height of 80 mm and the camera detecting the IR light source can require a minimum of 8 pixels to be able to detect the light signal from the IR light source.
- a directed signaling source is used for address identification and digital communications.
- a directed signaling source can induce a narrowbeam source such as lasers or LEDs coupled to focusing optics to narrow the emission to a narrow, non-omni directional, cone or focused beam of light.
- a directed signaling source can be a conical transmitter, e.g., a flashlight or a laser with defocusing optics.
- FIG. 20 depicts an example of using focusing optics 2002 with an LED 2004 to produce a narrow, non-omnidirectional beam of light 2006 from the emission of the LED 2004.
- a narrow, directional, pulsed light source can provide increased range of detectability of the light signal by a camera of a mobile device.
- two or more light sources can be arranged, e.g., in an array, to provide the ability to query numerous production systems from a central location.
- Each of the two or more light sources e.g., tens of light sources, hundreds of light sources, or more, are positioned such that the emitted light signals of each light source is directed towards a same location in the production environment such that a user with a mobile device can capture the light signals from the two or more light sources from one location. For example, as depicted in FIG.
- a production environment 2100 includes two or more production systems, e.g., systems 2102, 2104, with respective light sources, e.g., light sources 2106, 2108, each positioned to emit light signal directed to a single location and capturable by a camera of a mobile device 2110 positioned at the single location, e.g., with reduced interference between the light sources due to the focused beam.
- a person 2112 (or two, three, five people) with the mobile device(s) 2110 can stand in a single location, e.g., an area accommodating the people, and communicate with two or more production systems by directing the camera of the respective mobile device(s) to capture the light signal emitted by a respective infrared light source projector that includes the production system ID number.
- a directed signaling source is used for secure, line-of-sight communications, e.g., device-to-device.
- line-of-sight communications e.g., device-to-device.
- using line-of-sight can increase security awareness of interception and tampering since intercepting the signal can block the intended recipient, thereby alerting the recipient to a potential breach.
- the light-based digital communication system incorporates quantum cryptography principles to enhance the security of data transmission.
- Quantum key distribution protocols can be used to securely share encryption keys between devices, ensuring that the data encoded into light emissions is securely encrypted and resistant to interception.
- an industrial device can use the light-based data communication and identification processes described in this specification to identify itself, provide status updates (e.g., the device’s latest status), and provide an IP address (e.g., a modified IP address), error code(s), etc., to a user with a mobile device.
- each industrial device can be identified by encoding a unique universal product code (UPC) code, for example, in a pulse stream and including the “Start A” or “Start B” described above to identify status codes, IP or Bluetooth addresses, or a combination of both.
- UPC unique universal product code
- Industrial devices can include, for example, devices used in the automotive, battery manufacturing, warehouse, shipping/logistics, postal, HVAC (heating, ventilation, and air conditioning) systems, and oil processing facilities.
- the infrared-based light signaling, the processes provide secure device-to- device communications, device-to-person communications, or a combination of both.
- While the technology here is generally described with reference to to production environments, for example, including printers and manufacturing equipment, it can also be applied to any scenario where remote monitoring of a device is beneficial. For example, it can be used to monitor the status of HVAC systems, automobile maintenance intervals, or any other device that can emit light.
- the light source can be integrated with other types of sensors, such as temperature, humidity, vibration, and sound sensors, to provide more comprehensive monitoring and control of the device.
- the sensor data can be encoded into light pulses along with the device status information, allowing for more detailed and accurate device diagnostics.
- the light-based digital communication system is integrated with other types of devices such as autonomous vehicles, drones, robots, and loT devices.
- the light-based digital communication system can be used to facilitate communication between autonomous vehicles.
- the light-based digital communication system can be used toenable drones to transmit data to ground control stations using light signals.
- the light-based digital communication technology can be extended to non-industrial environments. For instance, the technology can be applied in smart homes, healthcare facilities, educational institutions, data centers, and transportation systems, among others.
- the light-based digital communication system is integrated with a smart home.
- the system can be used for monitoring and controlling various home appliances, such as refrigerators, washing machines, heating systems, and home security devices.
- a smart refrigerator can encode its status information, such as temperature, power consumption, and food inventory, into light pulses. The light pulses can then be captured by a user’s mobile device, decoded, and presented to the user, allowing the user to monitor and control the refrigerator remotely. Smart home monitoring can result in improved convenience for the user as well as improved efficiency of home management.
- the light-based digital communication system is integrated with healthcare facilities.
- the system can be used to monitor and control medical devices.
- a medical device such as an infusion pump or a patient monitor, can encode its status information, such as operational parameters, alarm conditions, and patient data, into light pulses.
- the light pulses can then be captured by a healthcare provider’s mobile device, decoded, and presented to the healthcare provider.
- Integrated lightbased digital communication allows healthcare providers to monitor and control medical devices remotely, improving patient care and operational efficiency.
- the light-based digital communication system is integrated with educational institutions.
- the system can be used to enhance classroom management and student engagement.
- a smart classroom system can encode information, such as classroom schedule, student attendance, and interactive content, into light pulses. The light pulses can then be captured by a teacher’s or student’s mobile device, decoded, and presented to the user, enhancing the educational experience.
- the light-based digital communication system is integrated with data centers.
- the system can be used for real-time monitoring and control of servers and networking equipment.
- a server can encode its status information, such as CPU usage, memory usage, and network traffic, into light pulses.
- the light pulses can then be captured by a data center operator’s mobile device, decoded, and presented to the operator, enabling efficient data center management.
- the light-based digital communication system is integrated with transportation systems.
- the system can be used for vehicle-to-vehicle and vehicle-to-infrastructure communication.
- a vehicle can encode its status information, such as speed, direction, and braking status, into light pulses.
- the light pulses can then be captured by another vehicle’s or infrastructure’s sensor, decoded, and used for collision avoidance, traffic management, and other applications.
- the light-based digital communication system includes additional or alternative types of light sources and detectors.
- the technology can use ultraviolet or infrared light for data transmission.
- non-visible light sources can enhance the security and reliability of the communication, as these types of light are less susceptible to interference and eavesdropping.
- the light-based digital communication system uses other types of light detectors, such as photodiodes, for capturing light pulses in addition to or alternatively to using cameras of user devices. This can improve the speed and accuracy of the data capture, by using detectors that have higher sensitivity and faster response times than mobile-integrated cameras.
- the light-based digital communication system can be combined with other communication technologies, such as radio frequency (RF) and acoustic communication, for enhanced functionality and flexibility.
- RF radio frequency
- a device can use light-based communication for transmitting status information and RF or acoustic communication for transmitting control commands. This can provide a more robust and versatile communication solution, as each communication technology has its own strengths and weaknesses.
- the device continuously emits light encoded with its status information. This allows for real-time monitoring of the device status.
- the device emits light encoded with its status information in response to a specific trigger. For example, a fault condition, a request for status information, or any other event that requires communication of the device status.
- the light emissions can be captured by a camera and decoded to retrieve the status information. The camera can focus on a specific device to read its light emissions, allowing for individual device monitoring in an environment with multiple devices.
- the light emissions of the light-based digital communication system are used to communicate an ID that allows for wireless connection to the device for more detailed status information or control.
- the subject matter and the actions and operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- the subject matter and the actions and operations described in this specification can be implemented as or in one or more computer programs, e.g., one or more modules of computer program instructions, encoded on a computer program carrier, for execution by, or to control the operation of, data processing apparatus.
- the carrier can be a tangible non-transitory computer storage medium.
- the carrier can be an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- the computer storage medium can be or be part of a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
- a computer storage medium is not a propagated signal.
- data processing apparatus encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- Data processing apparatus can include special-purpose logic circuitry, e.g., an FPGA (field programmable gate array), an ASIC (application-specific integrated circuit), or a GPU (graphics processing unit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- a computer program can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program, e g., as an app, or as a module, component, engine, subroutine, or other unit suitable for executing in a computing environment, which environment may include one or more computers interconnected by a data communication network in one or more locations.
- a computer program may, but need not, correspond to a file in a file system.
- a computer program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code.
- the processes and logic flows described in this specification can be performed by one or more computers executing one or more computer programs to perform operations by operating on input data and generating output.
- the processes and logic flows can also be performed by special-purpose logic circuitry, e.g., an FPGA, an ASIC, or a GPU, or by a combination of special-purpose logic circuitry and one or more programmed computers.
- Computers suitable for the execution of a computer program can be based on general or special-purpose microprocessors or both, or any other kind of central processing unit.
- a central processing unit will receive instructions and data from a read-only memory or a random-access memory or both.
- the essential elements of a computer are a central processing unit for executing instructions and one or more memory devices for storing instructions and data.
- the central processing unit and the memory can be supplemented by, or incorporated in, special-purpose logic circuitry.
- a computer will also include, or be operatively coupled to, one or more mass storage devices, and be configured to receive data from or transfer data to the mass storage devices.
- the mass storage devices can be, for example, magnetic, magneto-optical, or optical disks, or solid-state drives.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
- PDA personal digital assistant
- GPS Global Positioning System
- USB universal serial bus
- the subject matter described in this specification can be implemented on one or more computers having, or configured to communicate with, a display device, e.g., a LCD (liquid crystal display) monitor, or a virtual- reality (VR) or augmented-reality (AR) display, for displaying information to the user, and an input device by which the user can provide input to the computer, e.g., a keyboard and a pointing device, e.g., a mouse, a trackball or touchpad.
- a display device e.g., a LCD (liquid crystal display) monitor, or a virtual- reality (VR) or augmented-reality (AR) display
- VR virtual- reality
- AR augmented-reality
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s device in response to requests received from the web browser, or by interacting with an app running on a user device, e g., a smartphone or electronic tablet.
- a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.
- a system of one or more computers is configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions.
- That one or more computer programs is configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.
- That special-purpose logic circuitry is configured to perform particular operations or actions means that the circuitry has electronic logic that performs the operations or actions.
- Example l is a system including a printer, a light source associated with the printer and configured to emit light at one or more wavelengths, and a controller coupled with the light source.
- the controller is configured to generate a pulse sequence corresponding to information for the printer, and adjust a level of light output by the light source based on the pulse sequence to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye.
- Example 2 is the system of example 1, where the one or more wavelengths includes a wavelength of infrared light.
- Example 3 is the system of example 2, where the wavelength of infrared light includes 940 nanometer light.
- Example 4 is the system of any of the examples 1 to 3, where the one or more wavelengths comprise a wavelength of visible light and a wavelength of infrared light.
- Example 5 is the system of any of the examples 1 to 4, where the controller is configured to adjust the level of the light output by the light source in accordance with predefined indicator codes, wherein a timing of spaces between the indicator codes, during which the level of the light output is not adjusted, indicates the information being communicated.
- Example 6 is the system of any of the examples 1 to 5, where the information comprises a wired or wireless network address for the printer.
- Example 7 is the system of any of the examples 1 to 6, where the controller is communicatively coupled with the printer, and the controller is configured to: receive, from the printer, data for the printer; and encode the data for the printer in the timing of the spaces between the predefined indicator codes to generate the pulse sequence.
- Example 8 is the system of any of the examples 1 to 7, where the controller is configured to make the adjustment of the light output in a human visible spectrum indiscernible to human observation with a naked eye at least in part by adjusting the level of the light output at a frequency above 75 Hertz.
- Example 9 is the system of any of the examples 1 to 8, where the light source includes (i) a tower light, (ii) a light emitting diode or (iii) a laser source.
- the light source includes (i) a tower light, (ii) a light emitting diode or (iii) a laser source.
- Example 10 is the system of example 9, where the light source comprises the light emitting diode coupled with focusing optics to produce a narrow beam illumination source.
- Example 11 is the system of any of the examples 1 to 10, where the light source is a first light source, and wherein the system further includes a second light source comprising a different emission wavelength from the first light source, where the controller is coupled with the second light source.
- the controlled is configured to generate a second pulse sequence corresponding to second information for the printer, and adjust a level of light output by the second light source based on the second pulse sequence to communicate the second information for the printer while making the adjustment of the light output indiscernible to human observation with the naked eye.
- Example 12 is the system of any of the examples 1 to 11, where the information further includes one or more of (A) a printer status update, (B) a fault/error code, (C) connectivity information, or (D) printer or software configuration information.
- A a printer status update
- B a fault/error code
- C connectivity information
- D printer or software configuration information
- Example 13 is the system of any of the examples 1 to 12, where adjusting the level of light output by the light source comprises adjusting an intensity of the light output of the light source between 0 to 100%.
- Example 14 is the system of example 13, where the pulse sequence causes adjustment of the light output of the light source to a steady-state of 50% intensity of a total light output for the light source for a period of time.
- Example 15 is the system of examples 13 or 14, where a period of a light pulse of the pulse sequence is selected based on a frame rate of a receiving camera of a mobile device.
- Example 16 is the system of any of examples 13 to 15, where generating the pulse sequence includes encoding the information using an encoding scheme including valid states of 0%, 50% and 100% intensity of the light source, wherein a steady-state of the light source comprises a 50% intensity of the light source.
- Example 17 is the system of example 16, where the encoding scheme includes (i) a defined state and end of pulse sequences and (ii) a defined character map(s).
- Example 18 is the system of any of examples 1 to 17, where the controller is configured to generate the pulse sequence by performing operations including determining a number of frames for the pulse sequence corresponding to the information, and in response to determining the number of frames is a multiple of 50 Hz or 60 Hz, inserting an additional frame into the pulse sequence to reduce a sensitivity to the 50 Hz or 60 Hz ambient light flashing.
- Example 19 is the system of any of examples 16 to 18, where the encoding scheme includes alpha-numerical characters as the steady-state of the light source, where a value of the alpha-numerical characters is encoded as steady-state light signal for a set number of frames of a receiving camera of a mobile device.
- Example 20 is the system of any of examples 16 to 19, where the encoding scheme includes a set of indicator codes, each of the indicator codes including a predetermined number of sequential light pulses, where the set of indicator codes includes: (A) a start code corresponding to a predefined code, (B) a start code corresponding to a user-defined code, (C) a new character code, and (D) a stop code.
- the set of indicator codes includes: (A) a start code corresponding to a predefined code, (B) a start code corresponding to a user-defined code, (C) a new character code, and (D) a stop code.
- Example 21 is the system of example 20, where the set of indicator codes further includes a validation code, and where the validation code includes a checksum start code.
- Example 22 is one or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations including: initiating a decoding application in an application environment on a user device, the decoding application accessing a camera of the user device, presenting, in a display of the user device and in the application environment, a view of the camera of the user device, where the view of the camera includes a reference window guiding a user to capture a light signal from a light source of interest, capturing, using the camera, a plurality of video frames including the light signal from the light source, and identifying, by the decoding application and within the captured plurality of video frames, a pulse sequence in the light signal emitted by the light source, the pulse sequence encoding information.
- Example 23 is a computer-implemented method including generating, by a controller coupled to a light source associated with a printer, a pulse sequence corresponding to information for the printer, where the light source is configured to emit light in a human visible spectrum, and adjusting, by the controller, a level of light output by the light source based on the pulse sequence, in the human visible spectrum, to communicate the information for the printer while making the adjustment of the light output indiscernible to human observation with a naked eye.
- Example 24 is the computer-implemented method of example 23, further including initiating a decoding application in an application environment on a user device, the decoding application accessing a camera of the user device, presenting, in a display of the user device and in the application environment, a view of the camera of the user device, where the view of the camera includes a reference window guiding a user to capture a light signal from the light source, the light signal including the pulse sequence corresponding to the information for the printer, capturing, using the camera, a plurality of video frames including the light signal from the light source, and identifying, by the decoding application and within the captured plurality of video frames, the pulse sequence in the light signal emitted by the light source, the pulse sequence encoding the information for the printer.
- Example 25 is a system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform the method of any one of examples 23 to 24.
- Example 26 is a computer program carrier encoded with a computer program, the program comprising instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform the method of any one of examples 23 to 24. While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what is being claimed, which is defined by the claims themselves, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363467139P | 2023-05-17 | 2023-05-17 | |
| US63/467,139 | 2023-05-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2024238973A2 true WO2024238973A2 (en) | 2024-11-21 |
| WO2024238973A3 WO2024238973A3 (en) | 2025-04-10 |
Family
ID=93519802
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/030060 Pending WO2024238973A2 (en) | 2023-05-17 | 2024-05-17 | Light-based device communication |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024238973A2 (en) |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6702417B2 (en) * | 1997-07-12 | 2004-03-09 | Silverbrook Research Pty Ltd | Printing cartridge with capacitive sensor identification |
| JP2002290335A (en) * | 2001-03-28 | 2002-10-04 | Sony Corp | Optical space transmission equipment |
| WO2008148046A1 (en) * | 2007-05-24 | 2008-12-04 | Federal Law Enforcement Development Services, Inc. | Led light broad band over power line communication system |
| US20100220351A1 (en) * | 2009-02-27 | 2010-09-02 | Konica Minolta Systems Laboratory, Inc.. | Systems and methods for printer status determination |
| US9742493B2 (en) * | 2015-09-30 | 2017-08-22 | Osram Sylvania Inc. | Reconstructing light-based communication signals captured with a rolling shutter image capture device |
| JP6438178B1 (en) * | 2017-04-27 | 2018-12-12 | オリンパス株式会社 | Light source system |
| US20230182484A1 (en) * | 2021-01-04 | 2023-06-15 | Hand Held Products, Inc. | Printing apparatus |
-
2024
- 2024-05-17 WO PCT/US2024/030060 patent/WO2024238973A2/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024238973A3 (en) | 2025-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10476590B2 (en) | Artificial light source based messaging platform | |
| EP2805586B1 (en) | Visible light communications using a remote control | |
| US9451675B2 (en) | Configuration of operating devices for lighting means | |
| US9746542B2 (en) | Lighting apparatus and positioning system | |
| CN104770068A (en) | Apparatus and method for displaying electronic device information | |
| US20150028746A1 (en) | Augmented reality graphical user interface for network controlled lighting systems | |
| US10659157B2 (en) | Apparatus and method for registering visible light communication device and combining visible light communication signal and wireless communication signal | |
| US20160381766A1 (en) | Lighting Device, Lighting System, and Method for Registering Lighting Device | |
| CN105636202A (en) | Indoor fusion positioning system | |
| KR20120132885A (en) | Warning system for indicating danger | |
| KR101447602B1 (en) | Light communication system utilizing the illumination sensor of mobile and method thereof | |
| WO2024238973A2 (en) | Light-based device communication | |
| CN111726916B (en) | Photodiagnosis and monitoring using wearable devices | |
| CN218674715U (en) | Open circuit gas detection system and transceiver for detecting gas along an open circuit | |
| US6943762B2 (en) | Visual message display device | |
| US10991285B2 (en) | Cloud-based remote diagnostics for smart signage | |
| CN106559533B (en) | A kind of handset remote controller, remote control system and method | |
| KR101800451B1 (en) | Information providing system and information providing method | |
| EP3618580B1 (en) | Transmission coding scheme for a lighting system | |
| KR101455571B1 (en) | System and Method for Managing a Parking Space Using a One-Pass Tag | |
| Das et al. | Implementation of dimming controlled visible light communication using Raspberry Pi | |
| KR20200006790A (en) | Display apparatus and the control method thereof | |
| EP2688229B1 (en) | Method for detecting interactive devices and associated equipments | |
| CN109916440B (en) | Storage Environment Monitoring System | |
| KR101475607B1 (en) | Vehicle diagnostic apparatus using visible light communication and method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24808217 Country of ref document: EP Kind code of ref document: A2 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024808217 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2024808217 Country of ref document: EP Effective date: 20251124 |
|
| ENP | Entry into the national phase |
Ref document number: 2024808217 Country of ref document: EP Effective date: 20251124 |
|
| ENP | Entry into the national phase |
Ref document number: 2024808217 Country of ref document: EP Effective date: 20251124 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24808217 Country of ref document: EP Kind code of ref document: A2 |