Modular locker systems and methods
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- CIRCULAR LIBRARY NETWORK EHF
- Filing Date
- 2025-01-31
- Publication Date
- 2026-07-01
AI Technical Summary
Conventional locker systems are inflexible, inefficient in space utilization, and have complex wiring infrastructure leading to high installation costs and maintenance challenges, with centralized control systems requiring significant reconfiguration efforts.
A modular and scalable locker system with a bus-based communication network connecting locker controllers in series, allowing for flexible configuration and simplified wiring, enabling efficient communication and control of multiple lockers.
The system provides improved flexibility in locker configurations, reduced installation complexity, enhanced scalability, and efficient communication, addressing the inefficiencies of traditional locker systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to locker systems, and more particularly to modular and scalable locker systems, methods of assembly, and methods for controlling locker systems. BACKGROUND
[0002] Locker systems, including smart locker systems, have become an integral part of various environments, including workplaces, educational institutions, and public spaces. These systems provide secure storage solutions for personal belongings, equipment, and other items and self-service package delivery services. Traditional locker systems typically consist of a fixed number of individual lockers arranged in a predetermined configuration. Each locker is usually equipped with a locking mechanism that can be operated manually or electronically.
[0003] Existing systems may be characterized by their rigid configurations before and after setup, with predetermined sizes and quantities of individual lockers. This inflexibility poses challenges in environments where space requirements do not match predetermined configurations, may fluctuate over time, or where diverse storage needs exist. For example, in a workplace setting, the inability to easily modify locker sizes or quantities may lead to inefficient space utilization and may not adequately accommodate varying employee storage needs.
[0004] Conventional locker systems typically employ centralized wiring infrastructure. In such locker systems, each individual locker unit is connected directly to a central control system via dedicated wiring. This centralized approach often results in a complex network of cables running throughout the entire locker installation. Such wiring may complicate the initial setup of the locker system and may pose challenges for maintenance, scalability, and potential reconfiguration of the locker system. Moreover, the volume of wiring required for locker systems with a centralized wiring infrastructure can lead to increased installation costs and potential points of failure within the system that might be hard to identify. Additionally, a single locker or component malfunctioning may necessitate replacing or rewiring a significant portion of the system, leading to increased downtime and maintenance costs. SUMMARY
[0005] The present disclosure provides for modular and scalable locker systems, methods of assembly, and methods for controlling and operating locker systems. At least some of the described embodiments aim to alleviate or overcome one or more challenges described above with reference to conventional locker systems and related methods.
[0006] In some embodiments, a system for controlling an assembly of lockers is provided, comprising: a plurality of sets of lockers, each locker associated with a corresponding controller, the plurality of sets of lockers being communicatively connected in series, wherein each set of lockers comprises at least one locker, wherein each locker comprises a lock communicatively connected to the corresponding controller; a bus comprising a plurality of segments, each segment configured to connect neighboring controllers; wherein: each controller comprises a processor and a memory; each controller is configured to receive communications from the bus and send communications to the bus; and a host controller comprising a processor and a memory and configured to send an instruction via the bus to cause at least one of the plurality of controllers to unlock the corresponding lock, thereby unlocking the respective locker.
[0007] In some embodiments, a method for controlling an assembly of a plurality of lockers is provided, the method comprising: sending a message via a bus, by a host controller to a controller of a first locker of the plurality of lockers, the message identifying a selected locker, wherein the plurality of lockers includes the first locker and a last locker, the plurality of lockers communicatively connected in series via the bus from the first locker to the last locker, and wherein each locker is associated with a corresponding controller and comprises a lock communicatively connected to the corresponding controller; iteratively, until the message is received by a controller of the selected locker or a controller of the last locker: updating the message by the controller that received the message and sending the updated message to the controller of the next locker; if the message is received by the controller of the last locker or the last locker is the selected locker, generating a response message by the controller of the last locker, and otherwise: generating, by the controller of the selected locker, the response message, and iteratively, until the response message is received by the last locker: forwarding the response message to the controller of the next locker; and sending, from the controller associated with the last locker, the response message to the host controller.
[0008] In some embodiments, a modular locker system is provided, comprising: one or more locker units for defining a plurality of lockers comprising a first locker and a last locker, each locker having a door, a lock configured to lock and unlock the door, and a controller configured to be connected to the lock for controlling the lock, thereby the plurality of lockers having a plurality of corresponding controllers; a host controller; and a bus system for connecting the plurality of controllers in series from a first controller of the first locker to a last controller of the last locker and connecting the host controller to the first controller, the bus system configured to define: at least a first communication path from the host controller to the first controller through the plurality of controllers in series to the last controller and a second communication path from the last controller to the host controller, bypassing the plurality of controllers; wherein the host controller is configured to send instructions to the plurality of controllers through the first communication path and receive response through the second communication path.
[0009] In some embodiments, a method for assembling a modular locker system is provided, the method comprising: providing at least one locker unit; positioning at least one panel within the at least one locker unit to define a plurality of lockers within the at least one locker unit, the plurality of lockers comprising at least a first locker and a last locker; securing a plurality of doors to the locker unit to enclose respectively the plurality of lockers, the plurality of lockers comprising a first door and a last door to enclose the first locker and a last door to enclose the last locker; securing a plurality of locks to the at least one locker unit, each locker having a lock of the plurality of locks positioned to cooperate with the door of the locker, each lock having an associated controller configured to control the lock, the plurality of locks comprising a lock configured to lock and unlock the first door and a lock configured to lock and unlock the last door; connecting the controllers associated with the plurality lockers in series via a bus system from a first controller of the first locker to a last controller of the last locker; and connecting the first controller to a host controller via the bus system, the bus system configured to define at least a first communication path from the host controller to the first controller through the plurality of controllers in series to the last controller and a second communication path from the last controller to the host controller, bypassing the plurality of controllers. BRIEF DESCRIPTION OF FIGURES
[0010] Embodiments will be described, by way of example, with reference to the following drawings, in which:
[0011] FIG. 1A illustrates an orthogonal front view of a locker assembly system, according to aspects of the present disclosure.
[0012] FIG. IB illustrates a perspective view of a locker assembly system, according to aspects of the present disclosure.
[0013] FIG. IC illustrates a perspective view of another locker assembly system, according to aspects of the present disclosure.
[0014] FIGS. ID-IE illustrate perspective and orthogonal views of components of a locker control system, according to aspects of the present disclosure.
[0015] FIG. IF illustrates a block diagram of a controller for use in a locker control system, according to aspects of the present disclosure.
[0016] FIG. 1G illustrates an exploded view of a controller, according to aspects of the present disclosure.
[0017] FIG. 2 illustrates a perspective view of a bus within locker assembly system, according to aspects of the present disclosure.
[0018] FIG. 3 illustrates an orthogonal top view of a first type printed circuit board, according to aspects of the present disclosure.
[0019] FIG. 4A illustrates a circuit diagram of a first type PCB coupled to a last locker controller, according to aspects of the present disclosure.
[0020] FIG. 4B illustrates communication paths within a first type PCB coupled to a nonlast locker controller, according to aspects of the present disclosure.
[0021] FIG. 4C illustrates communication paths within an alternative first type PCB coupled to a non-last locker controller, according to aspects of the present disclosure.
[0022] FIG. 5 illustrates an orthogonal top view of a second type printed circuit board, according to aspects of the present disclosure.
[0023] FIG. 6A illustrates communication paths within a second type PCB coupled to a non-last locker set, according to aspects of the present disclosure.
[0024] FIG. 6B illustrates a communication paths within a second type PCB coupled to a last locker set, according to aspects of the present disclosure.
[0025] FIG. 6C illustrates communication paths within an alternative second type PCB coupled to a last locker set, according to aspects of the present disclosure.
[0026] FIG. 7 illustrates a flowchart for a method of controlling an assembly of lockers, according to aspects of the present disclosure.
[0027] FIG. 8A illustrates a communication sequence in a locker control system, according to aspects of the present disclosure.
[0028] FIG. 8B illustrates another communication sequence in a locker control system, according to aspects of the present disclosure.
[0029] FIG. 9A illustrates a front orthogonal view of a modular locker system, according to aspects of the present disclosure.
[0030] FIG. 9B illustrates an isometric view of a modular locker system, according to an embodiment. [0031 ] FIG. 9C illustrates an isometric view of a locker unit, according to aspects of the present disclosure.
[0032] FIG. 9D illustrates an exploded view of a modular locker unit, according to an embodiment.
[0033] FIGS. 10A-10B illustrate isometric views of cable connections in a locker control system, according to aspects of the present disclosure.
[0034] FIG. 11 illustrates a flowchart for assembling a modular locker system, according to an embodiment.
[0035] FIG. 12 illustrates an isometric view of a locker unit vertical panel, according to aspects of the present disclosure.
[0036] FIG. 13 illustrates a flowchart for a method of modifying a locker configuration, according to an embodiment.
[0037] Common reference numerals are used throughout the figures to indicate similar features. DETAILED DESCRIPTION
[0038] The disclosed embodiments provide for modular and scalable locker systems, methods of assembly, methods for controlling locker systems, and methods of operating locker systems. At least some of the described embodiments provide one or more advantages over conventional systems, such as improved flexibility in locker configurations, simplified wiring and installation, enhanced scalability, and / or more efficient communication between locker components.
[0039] FIG. 1A and FIG. IB illustrate an exemplary locker assembly or system 100. Locker assembly 100 comprises a plurality of locker sets 120. Each locker set 120 (also referred to as a set of lockers) comprises at least one locker 101.
[0040] FIGs. 1A and IB depict each locker set including multiple lockers. However, in some example configurations, one or more locker sets, or all locker sets, may include a single locker only.
[0041] FIGs. 1A and IB show multiple lockers 101 arranged in vertical columns, with each column forming a set of lockers 120. Further, in FIG. 1A and IB, all lockers are shown to have the same size. However, this arrangement is exemplary only and locker system 100 may have locker sets arranged and / or sized differently.
[0042] For example, in some embodiments, each locker set is formed of a row of lockers. In some other embodiments, one or more locker sets, may be formed of a row of lockers and / or one or more locker sets may be formed of a column of lockers.
[0043] In some embodiments, all locker sets 120 may have the same number of lockers. In some embodiments, at least two locker sets 120 may have a different number of lockers.
[0044] In some embodiments, at least one locker set may have all lockers of the same size. In some embodiments, at least one locker set may include lockers that differ in sizes. In some embodiments, different locker sets may have differently sized lockers.
[0045] In some embodiments, a certain combination of lockers can be selected to form a set of lockers, for example, for operating reasons. For example, where a particular user requires a certain number of lockers, such lockers can form a set of lockers associated with that particular user.
[0046] For clarity purposes, FIGs. 1A and IB show lockers 101 without doors. However, each locker 101 may be fitted with a door (e.g., door 102 shown in FIG. IC) that, when opened (i.e., in an opened position), provides access to that locker’s interior and, when closed (i.e., in a closed position), encloses that locker’s interior, preventing access to that locker’s interior. The locker may also be fitted with a lock or a lock unit, such as a lock 115 or a lock unit 130 (shown in and discussed in detail with reference to FIGs. ID and IE) for locking the door in the closed position.
[0047] FIG. IC shows an exemplary locker set 120 having lockers 101 arranged vertically (in a column). Locker set 120 may be formed by assembling two side panels 122, a top panel 124, a bottom panel 126, and a back panel 128 (no visible in FIG. IC). In locker set 120 of FIG. IC, shelving units (panels) or shelves 104 separate locker set 120 into a plurality of lockers 101.
[0048] All panels can be made of durable materials, such as wood, fiberboard, particle board, composite lamber, or steel. Different materials may be used for different panels, for example, for structural reasons (e.g., a particular locker or locker set must be able to support a certain weight, a certain type of environment must be maintained within a particular locker or locker set, e.g., temperature, humidity, etc.) or decorative reasons (to compliment the environment housing a locker set).
[0049] Side panels 122 may be configured to ease positioning of shelving units 104 during assembly of locker set 120. For example, side panels 122 may include pre-formed grooves 125. Once positioned to separate locker set 120 into a plurality of lockers 101, shelving units 104 may be secured to side panels 122. In some embodiments, side panels 122 may include openings for receiving dowels to facilitate a dowel joint between shelving units 104 and side panels 122. In other embodiments, side panels 122 may include holes to facilitate securing of shelving units 104 to side panels 122 using fasteners, such as screws. In yet other embodiments, shelving units 104 may be secured to side panels 122 using cam screws and cam lock nuts, which enable easy securing and removal of shelving units 104. In yet other embodiments, the top side of shelving units 104 and the inside of side panels 122 may include blind holes to provide means to attach brackets for securing shelving panels 104 to side panels 122. A skilled artisan would appreciate that other means for positioning and / or securing shelving units 104 within locker set 120 may be employed.
[0050] As shown in FIG. IC, lockers 101 may have different sizes, including different interior sizes. In some embodiments, no back panel 128 is used to assemble locker set 120; rather locker set 120 may be secured against a wall or another surface using appropriate fasteners.
[0051] In FIG. IC, each locker 101 is fitted with a door 102. Door 102 is sized to match the size of the respective locker’s opening so as to enclose locker’s interior 107 when door 102 is closed (i.e., in a closed position). In some embodiments, door 102 is mounted to corresponding locker 101 using hardware 105. For example hardware 105 may be a hinge pivotally connecting door 102 to side panel 122 to allow door 102 to pivot between the open and closed positions.
[0052] In FIG. IC, each locker 101 is fitted with a lock 115 configured to couple with a hoop 103 to secure or lock door 102 in the closed position, i.e., to lock locker 101, thereby preventing access to that locker’s interior 107. Locker 101 also has a controller 110 associated with locker 101 and communicatively connected to lock 115 of that locker 101. Controller 110 is configured to control lock 115 to lock and unlock locker 101.
[0053] FIG. IE shows controller 110 communicatively coupled with or connected to lock 115. As shown in FIG. ID, in some embodiments, controller 110 and lock 115 may be integrated into a lock unit 130. Lock unit 130 may include a housing or cover 135 to facilitate protection of controller 110 and lock 115 from being damaged, such as during assembly of locker system 100 or use of locker 101 housing lock unit 130.
[0054] Returning to FIG. 1C, in some embodiments, lock 115 may comprise a locking element. A corresponding latch hoop may be attached to a locker door, such as hoop 103 attached to door 102 as shown in FIG. IC. When latch hoop 103 is positioned inside an aperture of the locking element of lock 115 and lock 115 is locked, locker door 102 is secured in the closed position. In some embodiments, lock 115 may comprise an electromagnet or any other appropriate locking system for securing door 102 in the closed position. For example, lock 115 may comprise a deadbolt while side panels 122 may include a corresponding blind hole, allowing the door to be open only if the deadbolt is retracted and out of the corresponding blind hole. In some embodiments, lock 115 may be configured to maintain a locked state (is biased towards being locked), unless instructed otherwise. In some embodiments, lock 115 is biased to maintain the locked state when lock 115 and controller 110 are powered off.
[0055] Returning to FIGs. 1A and IB, a bus 160 runs through or about locker assembly 100. Bus 160 may comprise a plurality of segments (also referenced as sections) for connecting neighboring controllers 110. Bus 160 is configured to allow controllers 110 to receive and send communications.
[0056] As shown in FIG. IF, controller 110 may comprise a processor 111 and a memory 112 enabling controller 110 to process and store information related to locker operations. Processor 111 may be any suitable type of computation unit, for example, a microprocessor, digital signal processor (DSP), field programmable gate array (FPGA), application specific Integrated circuit (ASIC), or any other form of circuitry suitable to perform functions described in this disclosure. As shown in FIG. 1G, controller 110 may, for example, be a Printed Circuit Board (PCB) 110-1 enclosed in a housing or cover 110-2. Returning to FIG. IF, memory 112 may be any suitable type of computer readable memory and may be of volatile and / or non-volatile type.
[0057] Returning to FIG. 1A, host controller 150 may be positioned in association with locker assembly 100 to facilitate operation of locker assembly 100. Host controller 150 comprises a processor and a memory, and is configured to send instructions via bus 160 to cause at least one controller 110 to unlock corresponding lock 115, thereby unlocking respective locker 101. In some example embodiments, host controller 150 may be located inside one of lockers 101, such as shown in FIG. 1A In such embodiments, locker 101 housing host controller 150 may not have door 102. In some other example embodiments, host controller 150 may be located externally to locker assembly 100, e.g., adjacent or remote, or located elsewhere within the locker assembly.
[0058] In some embodiments, host controller 150, whether external or internal to locker assembly 100, may be communicatively connected to a user interface device, for example, a touch screen, configured to enable a user to engage with host controller 150, for example to generate requests for operating one or more lockers 101. When host controller 150 is positioned within one of lockers 101, the user interface device may be fitted to that locker 101 instead of door 102.
[0059] In some embodiments, instead or additionally, host controller 150 may be connected to a network, allowing users to communicate with host controller 150 through the network, for example, using a corresponding application on their mobile phone.
[0060] The disclosed embodiments are not limited to a particular arrangement or type of the network. In some embodiments, the network can include the Internet, a wired Wide Area Network (WAN), a wired Local Area Network (LAN), a wireless WAN (e.g., WiMAX), a wireless LAN (e.g., IEEE 802.11, etc.), a mesh network, a mobile / cellular network, an enterprise or private data network, a storage area network, a virtual private network using a public network, a nearfield communications technique (e.g., Bluetooth, infrared, etc.), or other suitable type of network.
[0061] In some embodiments, when locker assembly or system 100 includes multiple locker sets 120, such locker sets 120 may be connected in series. In some examples, when a particular set of lockers 120 comprises a plurality of lockers 101, a plurality of controllers 110 corresponding to the plurality of lockers 101 of the set may be connected in series such as to form a daisy chain configuration. Connecting controllers 110 in series, or in a daisy chain configuration within a locker set and between different locker sets, facilitates reduction of the cable or wire length of cables or wire required to connect controllers 110 to host controller 150. A more detailed disclosure on how different lockers and locker sets may be connected to facilitate operation of locker system 100 is provided throughout this disclosure, for example, with reference to FIG. 2.
[0062] Locker assembly 100 may be powered electrically by connecting locker assembly 100 to a power source. This power source can be of any suitable type sufficient to support operation of locks 115 and controllers 110 in locker assembly 100, such as a wall outlet or a generator. In some embodiments, locker assembly 100 may be connected to a wall outlet, itself being connected to a transformer because the voltage needed to supply energy to controllers 110 and locks 115 (e.g., 0-20V) may be lower than the voltage supplied at the wall outlet (e.g., 110-220V). Once output by the transformer, power may be distributed to controllers 110 and locks 115 by bus 160. A more detailed discussion on the power distribution from the power source through locker assembly 100 to support its operation is provided throughout this disclosure, for example with reference to FIGs. 5, and 6A-6C.
[0063] Locker assembly and systems described throughout this disclosure, such as locker assembly 100, are modular and scalable systems for enabling and controlling access to multiple lockers 101. A communication network formed by bus 160 and controllers 110 allows for control and monitoring of the entire locker assembly 100 through host controller 150 communicatively coupled to the communication network.
[0064] Referring to FIG. 2, a bus system 200 for connecting controllers within an assembly of lockers, such as locker assembly 100, is illustrated. Bus system 200 comprises a plurality of bus segments, each segment configured to connect neighboring controllers, such as controllers 110. A bus segment may comprise a PCB and cables coupled to the PCB. In some embodiments, a PCB and / or cable may be part of more than one bus segment. In other words, segments may be overlapping with one another. For example, as can be seen in FIG. 2 PCB 270-3 and cable 290-3 may be considered a part of bus segments 250-2 and 250-3.
[0065] In the context of the present disclosure, neighboring controllers of neighboring locker sets do not have to be physically adjacent within a locker assembly or a locker set. Rather, when discussing controllers or sets of lockers communicatively coupled in series, neighboring controllers or neighboring sets of lockers are respectively controllers or sets of lockers directly coupled by bus segments. Referring to FIG. 1A for example, the top left locker and the bottom right locker may be neighboring lockers when connected directly by a bus segment.
[0066] Bus system 200 may include two types of segments: intra-set segments 250 and inter-set segments 260 Intra-set segments are configured to connect two controllers within the same set of lockers, thereby connecting the corresponding two lockers within the locker set. Inter-set segments are configured to connect two controllers corresponding to lockers of two different sets of lockers, thereby connecting the two locker sets.
[0067] Different types of PCBs, or differently configured PCBs, may be used in intra-set and inter-set segments. A first type of PCB 270, also referenced as a routing PCB 270, may be used for connecting lockers within the same set of lockers. A second type of PCB 280, also referenced as a power PCB, may be used for connecting different sets of lockers. Both routing PCBs 270 and power PCBs 280 respectively enable communication through bus system 200. In addition to enabling communication through bus system 200, power PCBs 280 facilitate power distribution from a power source to each set of lockers for powering controllers 110 and locks 115 within that locker set.
[0068] In some embodiments, routing PCBs 270 and power PCBs 280 are PCBs have different designs, each suitable to provide the functionalities of routing PCB 270 and power PCB 280 respectively. In some embodiments, routing PCBs 270 and power PCBs 280 are PCBs of the same design, e.g., from the same batch of PCBs, that subsequently have been configured to facilitate data communication only and data communication and power distribution respectively. For example, configuring a PCB as routing PCB 270 may simply include connecting communication cables only to designated communication ports of the PCB when assembling locker system 100, while configuring the PCB as power PCB 280 may also include connecting power cables to designated power ports of the PCB when assembling locker system 100. In some embodiments, configuring the PCB as routing PCB 270 or power PCB 280 may include color coding ports of the PCB designated for communication and / or power distribution pre-assembly of locker system 100. In some embodiments, communication ports of the PCB can be further color coded to indicate direction of communication paths. In some embodiments, configuring the PCB as a routing or power PCB may include plugging ports that are not intended for use with plugs indicating that the ports are not to be used.
[0069] In some embodiments, an intra-set segment (e.g., intra-set segment 250) may comprise two routing PCBs 270 (e.g., PCB 270-1 and PCB 270-2) communicatively coupled by cable 290 (e.g., cable 290-1), and having further two cables 290 (e.g., cables 290-2) respectively coupled to PCBs 270 (e.g., PCB 270-1 and PCB 270-2). Further cables 290-2 may communicatively couple PCBs 270 to the respective neighboring controllers.
[0070] In some embodiments, an inter-set segment (e.g., inter-segment 260) may comprise two power PCBs 280 (e.g., PCBs 280-1 and 280-2) and two routing PCBs 270 (e.g., PCBs 270-4 and 270-5). In inter-set segment 260, two power PCBs 280-1 and 280-2 are communicatively coupled to each other and to two routing PCBs 270-4 and 270-5 respectively by communication cables 290. Two routing PCBs 270 are communicative coupled to the respective neighboring controllers by further communication cables 290. Two power PCBs 280-1 and 280-2 are also coupled by power cable 295 to facilitate power distribution to respective locker sets. A more detailed discussion on the power distribution is provided later in this disclosure, with reference to FIGs. 5, 6A-6E.
[0071] In some embodiments, when locker assembly 100 comprises a single set of lockers, only intra-set segments may be used to communicatively couple neighboring controllers. In such embodiments, cables 290 may communicatively couple host controller 150 to a first controller, and controllers to routing PCBs 270.
[0072] Referring to FIGs. 3, 4A-4E, these figures illustrate examples of routing PCB 270 for connecting lockers within a locker set. For ease of explanation, these figures illustrate PCBs comprising only those ports that are necessary for the described functionality of routing PCBs. However, as described elsewhere in this disclosure, a routing PCB may include additional ports. As shown in FIG. 3, PCB 270 comprises a first port 310, a second port 320, and a third port 330. In some examples, PCB 270 may include a solder jumper 350 (shown in FIG. 4B), which is described in more details elsewhere in this disclosure.
[0073] In the exemplary PCB configuration shown in FIG. 3, first port 310 is located or situated at one end of PCB 270 (e.g., a designated bottom of PCB 270), second port 320 is located or situated at the opposite end of PCB 270 (e.g., a designated top of PCB 270), and third port 330 is located or situated between first and second ports 310 and 320 (e.g., on the left or right side of PCB 270). In some embodiments, first and second ports 310 and 320 receive cables along the same (first) direction (e.g., lengthwise of PCB 270), while third port 330 receives cables in a different (second) direction from that of first and second ports 310 and 320 (e.g., crosswise of PCB 270). In some embodiments the second direction is perpendicular to the first direction. However, any configuration of PCB ports 310, 320 and 330 may be considered.
[0074] In some example embodiments, each port 310, 320, and 330, may comprise, six pins for communication and / or power distribution. In some example embodiments, each port 310, 320, and 330 may comprise two communication pins and four power distribution pins. In some example embodiments, only two pins may be dedicated to providing power to the lock and the controller. In such embodiments, each port of routing PCB 270 may comprise four pins, two for power distribution and two for communication routing, or comprise six pins, two for power distribution and four for communication routing with the two extra communication pins providing for a back-up communication path, for example, in case the main communication path were to fail. In some embodiments, the ports of PCB 270 may comprise six pins, but only four pins are used. In such embodiments, cables and ports may be color coded to ensure that cables are connected to the corresponding pins.
[0075] In an example configuration of routing PCB 270 that could be used to communicatively couple controller 110 within locker set 120, other than the last controller, such as PCB 270-1 in FIG. 2, pins 311, 321, 331, 312, 322, and 332 may be wired within PCB 270 and dedicated to providing power to controllers within locker set 120. Pins 313, 323, 333, 314, 324, and 334 may be wired and dedicated to providing power to lock 115 associated with controller 110 coupled to PCB 270. Pins 315, 316, 325, 326, 335, and 336 may be dedicated to routing communication between controllers in locker set 120. A skilled artisan would appreciate that the pins arrangement described with respect to FIG. 3 are only exemplary, and any number and arrangement of pins may be considered as long as they provide for described functionality of routing PCB 270.
[0076] With reference to FIG. 4A-4E, although not all pins are identified in these figures, it should be understood that where FIG. 4A-4E illustrate the same pins as shown in FIG. 3, the same description applies to such pins as described with reference to FIG. 3. FIG. 4A shows exemplary communication paths taken by the messages or response messages within PCB 270-1 when passing between two neighboring controllers of the same set of lockers. Pin 315 may be connected to pin 336, pin 335 may be connected to pin 325, and pin 326 may be connected to pin 316. A communication 410, for example, a message or a response message from a previous controller, enters PCB 270-1 through pin 315. PCB 270-1 routes communication 410 to pin 336 for forwarding as communication 412 to a controller coupled to the PCB. A communication output 414 by the controller coupled to the PCB enters PCB 270-1 through pin 335. PCB 270-1 then routes communication 414 to pin 325 for forwarding as communication 416 towards the next controller. A communication 418 from the next controller enters PCB 270-1 through pin 326. PCB 270-1 then routes communication 418 to pin 316 for forwarding as communication 420 towards a host controller or a next controller located in a different locker set.
[0077] In such a configuration, PCB 270-1 may be configured to forward communications received through first port 310 through third port 330, forward communications received through third port 330 through second port 320, and forward communications received through second port 320 through first port 310.
[0078] In some embodiments, controllers 110 may use a UART (universal asynchronous receiver / transmitter) communication protocol for transmitting bytes of data in a sequential manner in both directions. In some other embodiments, controllers 110 may use a I2C (Inter-Integrated Circuit) communication protocol for transmitting bytes of data in a sequential manner in both directions. In yet some other embodiments, controllers 110 may use a CAN (Controller Area Network) bus protocol.
[0079] FIG. 4B shows exemplary power distribution paths within PCB 270-1. Pins 311, 321 and 331 may be electrically coupled within PCB 270-1 to form power distribution path 458, and pins 312, 322 and 332 may be electrically coupled within PCB 270-1 to form power distribution path 456. Power distribution paths 458 and 456 may be configured to provide power to controller 110 coupled to PCB 270-1. Pins 314, 324 and 334 may be electrically coupled within PCB 270-1 to form power distribution path 452, and pins 313, 323 and 333 may be electrically coupled within PCB 270-1 to form power distribution path 454. Power distribution paths 452 and 454 may be configured to provide power to lock 115 associated with controller 110 coupled with PCB 270-1.
[0080] In some embodiments, a message or communication sent by a controller in one locker set (e.g., controller 110-2 in FIG. 2) towards a controller in the next locker set (e.g., controller 110 in FIG. 2) has a direct (return) path through PCBs coupled to the previous controllers in the locker set (e.g., PCB 270-1 in FIG. 2) and, bypassing the previous controllers (e.g., controller 110-1 in FIG. 2) in that locker set coupled to those PCBs (e.g., PCB 270-1 in FIG. 2).
[0081] In some examples, for a routing PCB communicatively coupled to the last controller of a set of lockers (e.g., PCB 270-2), a solder jumper 350 may be added to that PCB (e.g., PCB 270-2), short-circuiting second port 320. In this configuration, pins 315, 316, 335, and 336 may be dedicated to routing communication between the controllers. FIG. 4C shows exemplary communication paths taken by the messages or response messages within PCB 270-2 when passing between the controller associated with the last locker of a set and its neighboring controller. Pin 315 may be connected to pin 336, and pin 335 may be connected to pin 316. A communication 422, for example, a message or a response message from a previous controller enters PCB 270-2 through pin 315. PCB 270-2 routes communication 422 to pin 336 for forwarding as communication 424 to a controller coupled to the PCB. A communication output 426 by the controller coupled to the PCB enters PCB 270-2 through pin 335. PCB 270-2 then routes communication 424 to pin 316 for forwarding as communication 428 towards the host controller or the next controller located in a different locker set.
[0082] In such a configuration, PCB 270-2 may be configured to forward communications received through first port 310 through third port 330, and forward communications received through third port 330 through first port 310.
[0083] FIG. 4D shows exemplary power distribution paths within PCB 270-2. Pins 311 and 331 may be electrically coupled within PCB 270-2 to form power distribution path 468, and pins 312 and 332 may be electrically coupled within PCB 270-2 to form power distribution path 466. Power distribution paths 468 and 466 may be configured to provide power to controller 110 coupled to PCB 270-2. Pins 314 and 334 may be electrically coupled within PCB 270-2 to form power distribution path 462, and pins 313 and 333 may be electrically coupled within PCB 270-1 to form power distribution path 464. Power distribution paths 462 and 464 may be configured to provide power to lock 115 associated with controller 110 coupled with PCB 270-2.
[0084] In other examples, as illustrated in FIG. 4E, PCB 270 communicatively coupled to the last controller of a set of lockers may comprise only two communication ports: first port 310 and third port 330. In this configuration, although not shown in FIG. 4E, the communication and power distribution paths are the same as described with respect to FIG. 4B.
[0085] Referring to FIGs. 5, 6A, 6B, and 6C, these figures illustrate power PCB 280 for connecting different sets of lockers. PCB 280 comprises a first port 510, a second port 520, and a third port 530. In some examples, PCB 280 may include a solder jumper 550 (shown in FIG. 6B), which is described in more details elsewhere in this disclosure.
[0086] In the exemplary PCB configuration shown in FIG. 5, first port 510, second port 520 and third port 530 are located or situated at one edge of PCB 280. In some embodiments, first, second and third ports 310-330 receive cables in the same direction (e.g., crosse wise of PCB 280). However, any configuration of PCB ports 510, 520 and 530 may be considered.
[0087] In some embodiments, each port 510, 520, and 530, may comprise six pins for communication and / or power distribution. In some example embodiments, each port 510, 520, and 530 may comprise two communication pins and four power distribution pins. In some example embodiments, only two pins may be dedicated to providing power to the lock and the controller, In such embodiments, each port of power PCB 280 may comprise four pins, two for power distribution and two for communication routing, or comprise six pins, two for power distribution and four for communication routing with the two extra communication pins providing for a back-up communication path, for example, in case the main communication path were to fail. . In some embodiments, the ports of PCB 280 may comprise six pins, but only four pins are used. In such embodiments, cables and ports may be color coded to ensure that cables are connected to the corresponding pins.
[0088] In an example configuration of power PCB 280 that could be used to communicatively couple locker sets 120,other than the last set of lockers, such as PCB 280-1 in FIG. 6A, pins 511, 521, 531, 512, 522, and 532 may be wired within PCB 280 and dedicated to providing power to the controllers. Pins 513, 523, 533, 514, 524, and 534 may be wired within PCB 280 and dedicated to providing power to a lock associated with the controller coupled to PCB 280. Pins 515, 516, 525, 526, 535, and 536 may be dedicated to routing communication between the controllers in different locker sets 120. A skilled artisan would appreciate that the pins arrangement described with respect to FIG. 5 are only exemplary, and any number and arrangement of pins may be considered as long as they provide for described functionality of routing PCB 270.
[0089] With reference to FIG. 6A-6E, although not all pins are identified in these figures, it should be understood that where FIG. 6A-6E illustrate the same pins as shown in FIG. 5, the same description applies to such pins as described with reference to FIG. 5. FIG. 6A shows exemplary communication paths taken by the messages or response messages within PCB 280-1 when passing between two neighboring controllers in different lockers sets. Pin 515 may be connected to pin 536, pin 535 may be connected to pin 525, and pin 526 may be connected to pin 516. A communication 610, for example, a message or a response message from a routing PCB 270 coupled to the PCB, enters PCB 280-1 through pin 515. PCB 280-1 routes communication 610 to pin 536 for forwarding as communication 612 to a routing PCB 270 coupled to the PCB. A communication output 614 by the routing PCB 270 coupled to the PCB enters PCB 280-1 through pin 535. PCB 280-1 then routes communication 614 to pin 525 for forwarding as communication 616 towards the next power PCB 280. A communication 618 from the next power PCB 280 enters PCB 280-1 through pin 526. PCB 280-1 then routes communication 618 to pin 516 for forwarding as communication 620 towards the host controller or routing PCB 270 coupled to the PCB.
[0090] In such a configuration, PCB 280-1 may be configured to forward communications received through first port 510 through third port 530, forward communications received through third port 530 through second port 520, and forward communications received through second port 520 through first port 510.
[0091] FIG. 6B shows exemplary power distribution paths within PCB 280-1. Pins 511, 521 and 531 may be electrically coupled within PCB 270-1 to form power distribution path 658, and pins 512, 522 and 532 may be electrically coupled within PCB 270-1 to form power distribution path 656. Power distribution paths 458 and 456 may be configured to provide power to controllers 110. Pins 514, 524 and 534 may be electrically coupled within PCB 280-1 to form power distribution path 652, and pins 513, 523 and 533 may be electrically coupled within PCB 270-1 to form power distribution path 654. Power distribution paths 652 and 654 may be configured to provide power to locks 115 associated with controllers 110, and may be connected to power distribution ports 560 and 570, which are discussed in more details later in this disclosure.
[0092] In some examples, for a power PCB communicatively coupled to the last set of lockers (e.g., PCB 280-2), a solder jumper 550 may be added to that PCB, short-circuiting second port 520. In this configuration, pins 515, 516, 535, and 536 may be dedicated to route communication between the controllers. FIG. 6C shows exemplary communication paths taken by the messages or response messages within PCB 280-2 when passing between two neighboring controllers in different locker sets, one of the controllers being in the last set of lockers. Pin 515 may be connected to pin 536, and pin 535 may be connected to pin 516. A communication 622, for example, a message or response message from a power PCB 280 coupled to the PCB (e.g., the previous power PCB) enters PCB 280-2 through pin 515. PCB 280-2 routes communication 622 to pin 536 for forwarding as communication 624 to routing PCB coupled to the PCB. A communication output 626 by the controller coupled to the PCB enters PCB 280-2 through pin 535. PCB 280-2 then routes communication 626 for forwarding as communication 628 to pin 516 towards the host controller or power PCB 280 coupled to the PCB.
[0093] In such a configuration, PCB 280-2 may be configured to forward communications received through first port 510 through third port 530, and forward communications received through third port 530 through first port 510.
[0094] FIG. 6D shows exemplary power distribution paths within PCB 280-2. Pins 511 and 531 may be electrically coupled within PCB 280-2 to form power distribution path 658, and pins 512 and 532 may be electrically coupled within PCB 280-2 to form power distribution path 656. Power distribution paths 658 and 656 may be configured to provide power to controllers 110. Pins 514 and 534 may be electrically coupled within PCB 280-2 to form power distribution path 652, and pins 513 and 533 may be electrically coupled within PCB 280-1 to form power distribution path 654. Power distribution paths 652 and 654 may be configured to provide power to locks 115 associated with controllers 110.
[0095] In other examples, as illustrated in FIG. 6E, PCB 280-2 communicatively coupled to the last set of lockers may comprise only two communication ports: first port 510 and third port 530. In this configuration, although not shown in FIG. 6E, the communication and power distribution paths are the same as described with respect to FIG. 6B.
[0096] Second type of PCB 280 may also be configured to support power supply to the plurality of sets of lockers via power supply connectors 560 and 570. In some embodiments, the number of lockers communicatively connected in series may create a voltage drop along the bus. Power supply connectors 560 and 570 may provide a more stable power supply for the controllers and lockers. In some embodiments, power supply connectors may be configured to couple PCBs 280 with power cables 295. In such embodiments, power provided by the power source may be adapted to match the power requirements of controllers 110 and locks 130, and distributed to PCBs 280 through power cables 295. PCBs 280 may then be configured to provide appropriate power to controllers 110 and locks 130 through cables 290 and connectors 310, 320, 330, 510, 520, and 530.
[0097] FIG. 7 illustrates a method 700 for controlling or operating a locker system comprising a plurality of lockers using a host controller. The plurality of lockers includes a first locker and a last locker, with the lockers communicatively connected in series via a bus from the first locker to the last locker. Each locker of the plurality of lockers is associated with a corresponding controller and comprises a lock communicatively connected to the corresponding controller. Method 700 facilitates communication between the host controller and the plurality of controllers in the locker system, enabling actions such as unlocking and locking one or more lockers, and gathering data from lockers, such as capturing and recording data from sensors associated with or located within lockers in the locker system.
[0098] Method 700 begins at step 710, where the host controller sends a communication, such as a message, via the bus to a controller of the first locker of the plurality of lockers. The message identifies a selected locker.
[0099] For example, the communication or message may comprise instructions to open the selected locker. In some embodiments, the locker has been selected by a user via user interface device of the host controller or an application communicatively coupled to the host controller, such an application running on a mobile device. In some embodiments, during an initialization stage, the host controller may select a locker that is not present in the plurality of lockers, for example, has an identification number higher than any of the controllers of the plurality of lockers.
[0100] In some other embodiments, the selected locker may comprise at least one of a sensor (e.g., a weight sensor, a temperature sensor, a pressure sensor, etc.) or an image capturing device, and the message may comprise a request to gather data by the at least one sensor or image capturing device. When a request to gather data by the at least one sensor or image capturing device is received by a controller, a processor comprised in the controller (e.g., processor 111) may send instructions to the sensor to gather data and store the gathered data on a memory, also comprised in the controller (e.g., memory 112). The data stored in the memory mays then be sent towards the host controller. A more detailed discussion on the transmission of data towards the host controller is provided later in this disclosure.
[0101] In some embodiments, the selected locker may comprise a lighting device (e.g., LED light), and the message may comprise instructions to turn on / off the light in the locker or change the color of the light. The color of the light may indicate that the locker is full, empty, or need maintenance. The selected locker may also comprise heating / refrigerating elements and a temperature measuring device. The message may include instructions to switch on or off the light in the locker. The message may also include instructions to keep the temperature inside the locker around a preset value. For example, if the selected locker comprises a refrigerating element, a temperature sensor and a weight sensor, the message may include the following instructions: if the value recorded by the weight sensor is above a predefined threshold, turn on the refrigerating element to keep the temperature inside the locker below a predefined value. If not, turn off the refrigerating element. In other examples, the selected locker may comprise RFID (Radio Frequency Identification) or NFC (Near-Field Communication) chips. If the objects to be stored in the locker also have an RFID or NFC chip, the RFID or NFC chip may be read by the controller of the locker to identify the object being placed in the selected locker.
[0102] In step 712, method 700 enters an iterative process. A controller that receives the message updates the message and sends the updated message to a controller of the next locker in the series. This process continues until the message is received by a controller of the selected locker or a controller of the last locker, as determined in step 714. It is to be understood that if the first controller is the selected controller, method 700 skips step 712 to proceed directly to step 714.
[0103] The message and the updated message may each comprise a first identifier identifying the controller receiving the message or the updated message respectively, and a second identifier identifying the controller of the selected locker. An identifier of a controller may be a positive integer number. In some embodiments, a controller identifier is a positive integer number between 0 and the number of controllers minus 1. In some examples, the identifier of the first controller may be 0. The plurality of controllers may have sequentially numbered identifiers. For example, an identifier of a controller i, idt, may be equal to idt = +<x, where oc is an integer and id^ Is the identifier of the previous controller, a may for example be equal to 1, 2, 5 or any suitable integer number. In another example, a controller identifier may be calculated based on any bijective function for which the input is the identifier of the previous controller.
[0104] If the message comprises, for example, instructions to open the selected locker, the selected locker being associated with controller 15 for example, the message sent by the host controller to the controller of the first locker may take the following form: <0:15>, meaning, this message is sent to controller 0 and controller 15 should open the door of the corresponding locker.
[0105] In some embodiments, updating the message by the controller that received the message may comprise updating the first identifier with an identifier of the controller associated with the next locker. In the example given earlier, upon receiving message <0:15> and because neither the last controller nor the selected controller has been reached, the controller of the first locker may update the message to <1:15> and send the updated message to the second controller. Similarly, because the second locker is not the selected locker, upon receiving the message <1:15>, the controller of the second locker may update the message to <2:15> and send the updated message to the third controller. This process may continue until the controller of the sixteenth locker (locker 15) receives the message <15:15>.
[0106] If the message is received by the controller of the last locker, as determined in step 716, the method 700 proceeds to step 718. In step 718, the controller of the last locker generates a response message. Following step 718, in step 726, the controller associated with the last locker sends the response message to the host controller.
[0107] If the condition in step 716 is not met, meaning that the message is received by the controller of the selected locker, where the selected locker is not the last locker, the method 700 proceeds to step 720. In some embodiments, when a controller receives a message in which the second identifier matches that controller’s identifier, the controller determines that it controls the selected locker.
[0108] In step 720, the controller of the selected locker generates a response message. For example, the message may comprise instructions to perform an action by the controller having the identifier matching the second identifier. In some embodiments, the action may be opening the selected locker. Additionally, or alternatively, the action may be gathering data in the selected locker, and changing the lighting or temperature inside the selected locker. Pursuant to such an instruction included in the received message, the controller of the selected locker may perform the requested action, and generate the response message reflecting whether the requested action has been performed and / or provide requested information (e.g., sensor measurements).
[0109] According to some exemplary embodiments, the instruction may comprise an instruction to open the selected locker, in which case the controller having the identifier matching the second identifier unlocks the corresponding lock and sends the response message comprising a confirmation that the selected locker has been opened. In such embodiments, if the selected locker is associated with controller 15 for example, the response message may take the following form: <15:15o>, confirming that locker 15 has been opened.
[0110] Alternatively, or additionally, the instruction may comprise a request to gather data by at least one sensor or image capturing device, in which case the controller having the identifier matching the second identifier causes the at least one sensor or image capturing device of the respective locker to gather data and sends the response message comprising the gathered data. In such embodiments, if the selected locker is associated with controller 15 for example, the response message may take the following form: <15:15-30, specifying that the temperature inside locker 15 is 3°C.
[0111] Following step 720, method 700 enters another iterative process in step 722. The response message is forwarded to the controller of the next locker in the series. This process continues until the response message reaches (is received by) the last locker, as determined in step 724.
[0112] Finally, in step 726, the controller associated with the last locker sends the response message to the host controller.
[0113] If the first identifier and the second identifier in the message received by the controller of the last locker fail to match, the controller of the last locker may be configured to send the response message comprising the identifier of the controller of the last locker and the identifier of the controller of the selected locker. In this manner, all controllers in the series may self-identify.
[0114] For example, when method 700 is performed in response to the assembly of lockers being powered up, the identifier of the selected controller included by the host controller in the message may be a predefined number that is higher than the number of the plurality of lockers in the assembly of lockers. Alternatively, the identifier of the selected controller may be a predefined number that is different than an identifier of any of the plurality of lockers in the assembly of lockers.
[0115] In some examples, the assembly of lockers may be powered back up after a power outage. In such cases, the lockers may be configured to stay closed and locked while the power is out.
[0116] In some other examples, the assembly of lockers may be powered down and powered back up because a component malfunction has been detected. For example, malfunction of a component may be detected if a request message is sent by the host controller, but no response message is received within a preset time period. In such cases, the malfunctioning component may simply be replaced, taking advantage of the modularity of the locker assembly system.
[0117] In yet some other examples, the locker assembly may be powered down and powered back up if the number or configuration of lockers are being changed. A method for adding or removing a locker within the assembly of lockers is described in more details elsewhere in this disclosure.
[0118] FIG. 8A and FIG. 8B illustrate the communication paths and message routing within the locker control system, corresponding to method 700 described in FIG. 7.
[0119] FIG. 8 A depicts a scenario where the selected locker is one of the existing lockers in the system, but not the last locker. A host controller initiates communication by sending a message, represented by a solid line, to the first controller in the series. The message is then updated and passed sequentially through intermediate controllers until reaching the selected controller. Upon receiving the message, the selected controller generates a response message, shown as a dashed line. This response message is then forwarded through subsequent controllers until reaching the last controller, which sends the response back to the host controller.
[0120] Consider an exemplary implementation where the locker assembly comprises 15 lockers. In this exemplary implementation, if the eleventh locker needs to be unlocked , the method for operating the lockers may proceed as follows. The host controller sends the request message <0:10> to the first controller. Upon receiving the request message, the first controller identifies that the first identifier does not match the second identifier, modifies the request message to <1:10>, and sends the modified (updated) message to the second controller. The same action is performed by subsequent controllers until the eleventh controller receives the request message <10:10>. The eleventh locker then identifies that the first identifier matches the second identifier, sends instructions to open the lock associated with the eleventh locker, and, once the lock is open, generates the response message <ll:10o>. The eleventh controller then sends the response message to the twelfth controller. The twelfth controller identifies that the received message is a response message and sends it unmodified to the thirteenth controller. This process continues until the fifteenth controller, which is the last controller, receives the response message <14:10o>. The last controller then sends the response message to the host controller, bypassing all the controllers in the locker assembly.
[0121] Instead of, or in addition to, the instruction to open the eleventh locker, the request message may include a query about the temperature inside the eleventh locker, For example, the request message sent by the host controller may read <0:10T?> and the response message generated by the eleventh controller, after obtaining data gathered by a temperature sensor inside the eleventh locker, may read <11:10-30, indicating that the temperature inside the eleventh locker is 3°C.
[0122] In some examples, the request message may comprise both an instruction to open the selected locker and a query about data measured by sensors inside the selected locker. For example, where the query relates to temperature, the request message sent by the host controller may, for example, read <0:10:10T?>, and the response message generated by the eleventh controller may read <11: lOo: 10-30.
[0123] FIG. 8B illustrates two alternative scenarios: when the selected locker is the last locker in the series, or when the selected locker does not exist within the system. In both cases, the initial message from the host controller, depicted by a solid line, is passed through all controllers in the series. When the message reaches the last controller, the last controller generates a response message, represented by a dashed line. This response message is then sent directly back to the host controller. In the first case, when the selected locker is the last locker of the series, the response message may comprise a confirmation that the locker has been opened, or data gathered by at least one of a sensor or image capturing device comprised in the selected sensor, as explained previously with reference to FIG. 7. In the second case, when the selected locker does not exist within the system, the response message may comprise the identifier of the controller associated with the last locker, indicating to the host controller the number of lockers comprised in the assembly of lockers.
[0124] Consider the previous example where the locker assembly comprises 15 lockers. If, for example, the locker assembly has been powered off and powered back on, the host controller may initiate an initialization routine. In such cases, the process may proceed as follows. The host controller sends a request message to the first controller, requesting that locker number 9001 be open <0:9001>. The first controller identifies that the first identifier does not match the second identifier, modifies the request message to <l:9001> and sends the modified (updated) request message to the second controller. This process continues until the fifteenth controller, which is the last controller, receives the request message <14:9001>. The last controller then sends the response message <14:9001> to the host controller, bypassing all the controllers in the locker assembly. Upon receiving the request message from the last controller, the host controller identifies that the locker assembly comprises fifteen lockers, and may store this information in a local memory, and / or remotely if the host controller is connected to a network.
[0125] In both figures, the solid lines represent the path of the initial message from the host controller and the updated messages, while the dashed lines indicate the route of the response message back to the host controller. This visual representation demonstrates the sequential nature of communication within the locker control system, highlighting how messages are passed from one controller to the next until reaching their intended destination or the end of the controller series.
[0126] Figures 9A-9B illustrate front and side views of a modular locker system 900. As depicted, modular locker system 900 includes one or more locker units 910 defining plurality of lockers.
[0127] Each locker has a door 102, a lock 115 (not shown in FIG. 9A-9B) configured to lock and unlock door 102, and a controller 110 (not shown in FIG. 9A-9B) configured to be connected to lock 115 for controlling lock 115. The plurality of lockers have a plurality of corresponding controllers. As shown in FIG. 9C, door 102 may be sized to match the opening of locker 101 so as to enclose the interior of the locker when door 102 is closed. In some examples, door 102 may be secured to the corresponding locker 101 using hardware, for example the door hinges shown in FIG. 9C. Lock 115 may be configured to couple with a hoop on door 102 to secure door 102 in a locked position. Controller 110 may be communicatively connected to lock 115 of locker 101, as shown in FIG. IE. In some examples, controller 110 and lock 115 may be integrated into a lock unit 130, as depicted in FIG. ID.
[0128] In FIG. 9B, user interface 905, previously described with reference to FIG. 1A, is located a top panel of locker unit 910, allowing users to interact with modular locker system for locker assignment and access. User interface 905 may, for example, comprise a screen allowing users to select which locker to open or enter a confirmation number for a pre-booked item comprised in a locker.
[0129] Modular locker system 900 comprises host controller 150 (not shown in FIG. 9A-9B) and bus system 160 (not shown in FIG. 9A-9B) for connecting the plurality of controllers in series from a first controller of a first locker to a last controller of a last locker and connecting host controller 150 to the first controller. Bus system 160 is configured to define at least a first communication path from host controller 150 to the first controller through the plurality of controllers in series to the last controller and a second communication path from the last controller to host controller 150, bypassing the plurality of controllers. Host controller 150 is configured to send instructions to the plurality of controllers through the first communication path and receive response messages through the second communication path. For example, instructions sent by host controller 150 would reach each controller 110 of modular locker system 900, while a response message sent from the last controller to host controller 150 would not reach any controller 110. In some embodiments, modular locker system 900 comprises a plurality of locker units 910, wherein different locker units 910 are configured to be connected in series via sections of bus system 160.
[0130] In some embodiments, bus system 160 of modular locker system 900 may comprise cables and at least one printed circuit board (PCB). This configuration may allow for efficient and organized connectivity between various components of the locker system. Exemplary implementations of bus system 160 are given with regard to FIGs. 10A-10B.
[0131] The at least one PCB may be of two types. A first type of PCB 270 (routing PCB) may be configured to couple controllers associated with lockers within the same locker unit. This type of PCB may facilitate communication and power distribution among neighboring controllers. A second type of PCB 280 (power PCB) may be configured to couple different locker units. This type may enable connectivity between separate locker units, allowing for scalability and modular expansion of the system.
[0132] The cables used in bus system 160 may be of different types, each serving a specific purpose. Power and communication cables 1010 may be configured to distribute both power supply and communication between the controllers. This dual-function cable may reduce the overall number of cables required in the system. High voltage cables 1020 may be dedicated to distributing power supply for the controllers. This type may ensure a stable power source for the controllers 110. Low voltage cables 1030 may be specifically designed to distribute power supply for locks 115. By using separate cables for lock power, the system may, for example, maintain security even if other parts of the system experience power issues. A more detailed discussion on the coupling between PCBs and cables is given somewhere else in this disclosure, with regard to figures 3-6E.
[0133] The use of different types of PCBs and cables may provide flexibility in system design and installation. For instance, routing PCBs may be used within individual locker units, while power PCBs may be employed to connect separate units. In this manner, only a limited number of power PCBs may be required when compared to the overall number of PCBs used by the system. Similarly, the different cable types may be used as needed based on the specific power and communication requirements of different parts of the system. In this manner, the overall cost of the locker assembly can be reduced because a more complex components are used sparingly, rather than throughout the locker assembly.
[0134] Referring back to FIGs. 9A-9C, locker unit 910 may comprise at least four panels, including two vertical panels 940 and two horizontal panels 930. In some embodiments, locker unit 910 may comprise a third vertical panel 940. In some other embodiments, locker unit may be placed against a wall. In both cases, objects placed inside each locker may only be accessed by opening the corresponding door. In some embodiments, panels may be assembled using joinery like, for example, crenelated joinery as illustrated in FIGs. 9B-9D. Panels may also be secured together using fasteners, such as screws or dowel joints.
[0135] All panels can be made of durable materials, such as wood, fiberboard, particle board, composite lamber, or steel. Different materials may be used for different panels, for example, for structural reasons (e.g., a particular locker or locker set must be able to support a certain weight, a certain type of environment must be maintained within a particular locker or locker set, e.g., temperature, humidity, etc.) or decorative reasons (to compliment the environment housing a locker set).
[0136] In some embodiments, at least one locker unit 910 comprises a plurality of lockers. Locker units 910 may be arranged vertically, as shown by four units on left side of Figures 9A-9B, or horizontally, as depicted by two units on right side of Figures 9A-9B. In some embodiments, modular locker system 900 may only comprise vertical locker units. In some other embodiments, modular locker system 900 may only comprise horizontal locker units. In yet some other embodiments, modular locker system 900 may comprise both horizontal and vertical locker units.
[0137] In some embodiments, as illustrated in FIG. 9D, two neighboring lockers within a locker unit 910 may be separated by a panel 950. In some embodiments, panel 950 may be positioned horizontally between the vertical panels 940, dividing the internal space of locker unit 910 into distinct compartments (locker’s interior). For example, horizontal panel may be placed in vertical locker units. In some other embodiments, panel 950 may be positioned vertically. For example, vertical panels may be placed in horizontal locker units. In some examples, a locker unit may comprise both vertical and horizontal panels separating the lockers comprised in locker unit 910. This configuration may allow for efficient use of space within locker unit 910 while providing clear separation between individual lockers.
[0138] Vertical panels 940 may be configured to ease positioning of panels 950 during assembly of locker unit 910. For example, vertical panels 940 may include pre-formed grooves 960. Vertical panels 940 may include multiple groves 960 at different heights, facilitating such adjustments in panel 950 placement and consequently in locker size. Once positioned to separate locker unit 910 into a plurality of lockers, panels 950 may be secured to vertical panels 940. In some embodiments, vertical panels 940 may include openings for receiving dowels to facilitate a dowel joint between panels 950 and vertical panels 940. In other embodiments, vertical panels 940 may include holes to facilitate securing of panels 950 to vertical panels 940 using fasteners, such as screws. In yet other embodiments, panels 950 may be secured to vertical panels 940 using cam screws and cam lock nuts, which enable easy securing and removal of panels 950. In yet other embodiments, the top side of panels 950 and the inside of vertical panels 940 may include blind holes to provide means to attach brackets for securing shelving panels 104 to vertical panels 940. A skilled artisan would appreciate that other means for positioning and / or securing panels 950 within locker set 120 may be employed.
[0139] In some embodiments, the number of panels 950 separating lockers within locker unit 910 may be equal to the number of lockers in the locker unit minus 1. For example, with reference to FIG. 9D, if a locker unit 910 contains six lockers, there may be five panels 950 separating these lockers. This arrangement may ensure that each locker is properly delineated within the unit.
[0140] In some implementations, panels 950 may be removable or adjustable, potentially allowing for customization of locker sizes within a single locker unit 910. This flexibility may enable the modular locker system to adapt to varying storage needs. The customization of locker sizes and configurations will be detailed later in this disclosure.
[0141] FIG. 11 illustrates a method 1100 of assembling a modular locker system, for example modular locker system 900 depicted in FIG. 9A-9B. Method 1100 comprises several steps that may be executed in a flexible order based on user convenience.
[0142] In step 1112, at least one panel 950 is positioned within locker unit 910 to define a plurality of lockers within locker unit 910. The plurality of lockers comprises at least a first locker and a last locker. Panel 950 may be horizontal. Alternatively, panel 950 may be vertical. Panel 950 may be inserted into groves 960 on vertical panels 940, as illustrated in FIG. 9D and explained earlier in this disclosure. Methods for installing and securing panel 950 within locker unit 910 have been provided earlier in this disclosure with reference to FIG. 9D.
[0143] Step 1114 involves securing a plurality of doors 102 to locker unit 910 to enclose respectively the plurality of lockers. The plurality of lockers comprises a first door to enclose the first locker and a last door to enclose the last locker. As shown in FIG. 9C, door 102 may be sized to match the opening of the locker so as to enclose the locker when closed. In some examples, door 102 may comprise a transparent portion (e.g., glass, plastic, e.g., acrylic, SiCellA, or other material have a certain transparency level) to allow users to see the locker’s interior. Methods for securing doors 102 to a locker unit 910 have been provided earlier in this disclosure with reference to FIG. IC.
[0144] In step 1116, a plurality of locks 115 may be secured, or otherwise fitted, to locker unit 910. Each locker may have a lock 115 of the plurality of locks positioned to cooperate with door 102 of the locker. Each lock 115 has an associated controller 110 configured to control lock 115. The plurality of locks may comprise a lock configured to lock and unlock the first door, and a lock configured to lock and unlock the last door. Locks may be secured to locker unit 910 using any type of fasteners (e.g., screws). In some embodiments, lock 115 may comprise two parts (e.g., electromagnetic lock, latch hoop lock) with one part being secured to the door and a second part being secured inside the locker. In some other embodiments, lock 115 may comprise only one part (e.g., deadbolt lock) secured either on the door or in the locker, while the locker or the door comprises a corresponding blind hole. In some embodiments, lock 115 may be configured to maintain a locked state (is biased towards being locked), unless instructed otherwise. In some embodiments, lock 115 is biased to maintain the locked state when lock 115 and controller 110 are powered off.
[0145] Step 1118 involves connecting controllers 110 associated with the plurality of lockers in series via a bus system from a first controller of the first locker to a last controller of the last locker, for example bus system 160.
[0146] If at least one locker unit comprises more than one locker, connecting controllers 110 may comprise connecting controllers within locker units. In some embodiments, connecting controllers 110 within a locker unit may include using cables (e.g. communication and power cable 1010) and PCBs (e.g., routing PCB 270). As detailed with regard to FIG. 2, coupling (connecting) two controllers 110 within the same locker unit may comprise coupling a first controller in the locker unit to a first routing PCB (e.g., PCB 270), coupling the first routing PCB (e.g., PCB 270) to a second routing PCB (e.g., PCB 270) and coupling the second routing PCB (e.g., PCB 270) to a second controller 110 using cables (e.g., communication and power cable 1010). In some embodiments, as illustrated in FIGs. 10A-10B, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging a plug associated with cable 1010 into a port (e.g., port 310-330) attached to the controller or the PCB. In some other embodiments, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging plugs associated with each individual sub-cable of cable 1010 into the pins (e.g. pins 311-316, 321-326, 331-336) associated with a port (e.g., port 310-330) attached to the controller or the PCB.
[0147] If the modular locker system comprises more than one locker unit 910, connecting controllers 110 may comprise connecting controllers located in different locker units, hereby connecting different locker units. In some embodiments, connecting controllers 110 within a locker unit may include using cables (e.g. communication and power cable 1010, high voltage cable 1020, low voltage cable 1030) and PCBs (e.g., routing PCB 270, power PCB 280). As detailed with regard to FIG. 2, coupling (connecting) two controllers 110 located in different units may comprise coupling a first controller to a first routing PCB (e.g., PCB 270), coupling the first routing PCB (e.g., PCB 270) to a first power PCB (e.g., PCB 280), coupling the first power PCB (e.g., PCB 280) to a second power PCB (e.g., PCB 280), coupling the second power PCB (e.g., PCB 280) to a second routing PCB (e.g., PCB 270) and coupling the second routing PCB (e.g., PCB 270) to a second controller 1 lOusing cables (e.g., communication and power cable 1010, high voltage cable 1020, low voltage cable 1030). In some embodiments, as illustrated in FIGs. 10A-10B, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging a plug associated with cable 1010 into a port (e.g., port 310-330, 510-530, 560-570) attached to the controller or the PCB. In some other embodiments, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging plugs associated with each individual sub-cable of cable 1010 into the pins (e.g. pins 311-316, 321-326, 331-336) associated with a port (e.g., port 310-330, 510-530) attached to the controller or the PCB. Coupling PCBs using cables may also include plugging high voltage cables 1020 and low voltage cables 1030 into power distribution ports (e.g. ports 560-570).
[0148] In step 1120, the first controller is connected to a host controller 150 via the bus system. In some embodiments, connecting (coupling) the first controller to the host controller mays include using cables (e.g. communication and power cable 1010, high voltage cable 1020, lowvoltage cable 1030) andPCBs (e.g., routing PCB 270, power PCB 280). ). As detailed with regard to FIG. 2, coupling (connecting) the first controller to the host controller may comprise coupling the first controller to a routing PCB (e.g., PCB 270), coupling the routing PCB (e.g., PCB 270) to a power PCB (e.g., PCB 280), and coupling the power PCB (e.g., PCB 280) to the host controller using cables (e.g., communication and power cable 1010, high voltage cable 1020, low voltage cable 1030). In some embodiments, as illustrated in FIGs. 10A-10B, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging a plug associated with cable 1010 into a port (e.g., port 310-330, 510-530, 560-570) attached to the controller or the PCB. In some other embodiments, coupling PCBs using cables, or coupling a PCB and a controller using cables may include plugging plugs associated with each individual sub-cable of cable 1010 into the pins (e.g. pins 311-316, 321-326, 331-336) associated with a port (e.g., port 310-330, 510-530) attached to the controller or the PCB. Coupling the power PCB to the host controller using cables may also include plugging high voltage cables 1020 and low voltage cables 1030 into power distribution ports (e.g. ports 360-370) associated with the power PCB or the host controller.
[0149] The bus system is configured to define at least a first communication path, from host controller 150 to the last controller of the plurality of controllers of the system, through the plurality of controllers in series starting with the first controller, and a second communication path, from the last controller to host controller 150, bypassing the plurality of controllers. In the context of this disclosure, defining a communication path from the last controller to host controller 150, bypassing the plurality of controllers may result in a message sent from the last controller going through all PCBs of bus system 160 without going through any of controllers 110. The corresponding PCB cabling and communication paths have been discussed in more detailed earlier in this disclosure, for example, with reference to FIGs. 3-6.
[0150] Method 1100 may further comprise connecting a first locker unit and a second locker unit of the at least one locker unit via the bus system. This allows for expansion of the modular locker system as needed. In some embodiments, the additional locker unit may be placed at one end of modular locker system 900. In some other embodiments, the additional locker unit may be placed between two locker units. In some embodiments, different locker units may be secured together using fasteners to improve the stability and robustness of modular locker system 900. In some other embodiments, different lockers units may not be secured together to improve the modularity of modular locker system 900 and facilitate the reconfiguration of locker units 910.
[0151] It should be noted that the steps of method 1100 are not limited to the specific order depicted in FIG. 11 and rather may be executed in order that is more convenient for the user, providing flexibility in the assembly process. For example, as shown in FIG. 12, controllers 110 and locks 115 may be secured to a vertical panel of locker unit 910 before panels 950 are positioned within locker unit 910 and doors 102 are secured to the locker unit.
[0152] FIG. 13 illustrates a method 1300 for modifying a locker configuration within a locker unit, such as a locker unit 910. This method may be used to introduce a new locker into an existing locker unit, effectively dividing one locker into two separate compartments (locker interiors).
[0153] Method 1300 begins with step 1310, which involves removing a door 102 from an existing locker within locker unit 910. This step may be performed by detaching door 102 from its hinges or mounting points on vertical panels 940 of locker unit 910.
[0154] In step 1312, controller 110 associated with the respective locker is disconnected. This may involve detaching controller 110 from its mounting position on vertical panel 940 and disconnecting it from bus system 160. A more detailed discussion on the connection of controllers has been provided earlier in this disclosure. A skilled person would deduce the steps necessary to disconnect a controller 110 from that disclosure.
[0155] Step 1314 involves removing lock 115 that was associated with removed door 102. This lock 115 may have been mounted on vertical panel 940 or integrated into door 102 itself, or both.
[0156] In step 1316, a panel 950 is positioned within the now-open locker space. This panel 950 may be inserted into the locker space, e.g., horizontally or vertically into groves 960 on vertical panels 940, effectively dividing the locker into two separate compartments. Panel 950 may be similar to those used in the initial assembly of locker unit 910, as described in relation to FIG. 9D. A more detailed description of the installation of a panel 950 has been provided earlier in this disclosure, for example with respect to FIG. 9D.
[0157] Step 1318 involves securing two locks 115 in the newly divided locker space, with one lock positioned on each side of newly inserted panel 950. These locks 115 may be mounted on vertical panels 940 or integrated into new doors 102 that will be installed to enclose the newly created lockers, or both.
[0158] Finally, in step 1320, controllers 110 associated with two new locks 115 are connected in series to each other and to the other controllers in locker unit 910. This connection is made using segments of bus system 160, which may include the various types of PCBs and cables described earlier in relation to FIGs. 10A-10B.
[0159] Method 1300 demonstrates the modularity and flexibility of described locker systems, allowing for reconfiguration and expansion of storage options within existing locker unit 910. By following method 1300, a single larger locker can be efficiently converted into two smaller lockers, adapting to changing storage needs without requiring the installation of an entirely new locker unit.
[0160] In some implementations, a method for removing a locker from an existing locker unit 910 may be provided. This method may be used to combine two smaller lockers into a single larger compartment, effectively increasing the storage capacity for larger items within the modular locker system.
[0161] The method may begin with removing doors 102 from two adjacent lockers within the locker unit 910. This step may involve detaching doors 102 from their respective hinges or mounting points on vertical panels 940 of locker unit 910.
[0162] Next, controllers 110 associated with both lockers may be disconnected. This may include detaching controllers 110 from their mounting positions on vertical panels 940 and disconnecting them from bus system 160.
[0163] The method may then proceed with removing locks 115 that were associated with removed doors 102. These locks 115 may have been mounted on vertical panels 940 or integrated into doors 102 themselves. Various lock configurations have been described earlier in this disclosure.
[0164] Following the removal of locks 115, panel 950 separating the two lockers may be removed. Panel 950 may, for example, be extracted from groves 960 on vertical panels 940. If panel 950 was secured to locker unit 910 using fasteners described earlier in this disclosure, such fasteners may need to be unfastened. For example, panel 950 may need to be un-secured before it is extracted from grooves 960. Removing panel 950 effectively combines the two separate compartments (locker interiors) into a single larger space.
[0165] Method 1300 may then involve securing a single lock 115 in the newly combined locker space (locker interior). This lock 115 may be mounted on one of vertical panels 940 or integrated into a new, larger door 102 that will be installed to enclose the newly created larger locker. In some embodiments, one of the previously mounted locks may be used. In other embodiments, a new lock may be used. Any type and configuration of lock described earlier in this disclosure may be used here.
[0166] A new, larger door 102 may then be secured to locker unit 910 to enclose the combined locker interior space. This door 102 may be sized to match the opening of the newly created larger locker.
[0167] Finally, controller 110 associated with new lock 115 may be connected in series to the other controllers in locker unit 910. This connection may be made using segments of bus system 160, which may include the various types of PCBs and cables described earlier.
[0168] Method 1300 for removing a locker further demonstrates the adaptability of the modular locker system. By following these steps, two smaller lockers can be efficiently converted into one larger locker, accommodating changes in storage requirements without necessitating a complete overhaul of the locker unit 910.
[0169] Also disclosed herein are the following clauses: 1. A system for controlling an assembly of lockers, the system comprising: a plurality of sets of lockers, each locker associated with a corresponding controller, the plurality of sets of lockers being communicatively connected in series, wherein each set of lockers comprises at least one locker, wherein each locker comprises a lock communicatively connected to the corresponding controller; a bus comprising a plurality of segments, each segment configured to connect neighboring controllers; wherein: each controller comprises a processor and a memory; each controller is configured to receive communications from the bus and send communications to the bus; and a host controller comprising a processor and a memory and configured to send an instruction via the bus to cause at least one of the plurality of controllers to unlock the corresponding lock, thereby unlocking the respective locker. 2. The system of clause 1, wherein each set of lockers consists of a single locker. 3. The system of clause 1, wherein at least one of the plurality of sets of lockers comprises a plurality of lockers. 4. The system of clause 3, wherein the plurality of controllers corresponding to the plurality of lockers of the at least one set of lockers are connected in a daisy chain. 5. The system of any one of clauses 1 to 5, wherein at least one segment of the plurality of segments comprises at least one printed circuit board (PCB) and cables coupled to the at least one PCB. 6. The system of clause 5, wherein the at least one PCB comprises a first port, a second port and a third port. 7. The system of clause 6, wherein the at least one PCB is a first type of PCB for connecting lockers within the same set of lockers or a second type of PCB for connecting different sets of lockers. 8. The system of clause 7, wherein the at least one segment is configured to connect two neighboring controllers corresponding to lockers of the same set of lockers, the at least one segment comprising two printed circuit boards (PCBs) of the first type communicatively coupled to the respective neighboring controllers and to each other. 9. The system of clause 8, wherein the PCB of the first type communicatively coupled to the controller of the last locker of the set of lockers is configured to: when receiving communications through the first port, forward the communications through the third port; and when receiving communication through the third port, forward the communications through the first port. 10. The system of clause 8, wherein the PCB of the first type communicatively coupled to the controller of a locker of a set of lockers, other than the last locker, is configured to: when receiving communications through the first port, forward the communications through the third port; when receiving communication through the third port, forward the communication through the second port; and when receiving communication through the second port, forward the communications through the first port. 11. The system of clause 7, wherein the at least one segment is configured to connect two neighboring controllers corresponding to lockers of two different sets of lockers, the at least one segment comprising two PCBs of the first type communicatively coupled to the respective neighboring controllers and two PCBs of the second type communicatively coupled to the PCBs of the first type and each other. 12. The system of clause 11, wherein the PCB of the second type communicatively coupled to the last set of lockers of the plurality of sets of lockers is configured to: when receiving communications through the first port, forward the communications through the third port; and when receiving communications through the third port, forward the communications through the first port. 13. The system of clause 11, wherein the PCB of the second type communicatively coupled to any set of lockers of the plurality of set of lockers, other than the last set of lockers, is configured to: when receiving communications through the first port, forward the communications through the third port; when receiving communication through the third port, forward the communication through the second port; and when receiving communication through the second port, forward the communications through the first port. 14. The system of any one of clauses 7 to 13, wherein the PCBs of the second type are configured to support power supply to the plurality of set of lockers. 15. A method for controlling an assembly of a plurality of lockers, the method comprising: sending a message via a bus, by a host controller to a controller of a first locker of the plurality of lockers, the message identifying a selected locker, wherein the plurality of lockers includes the first locker and a last locker, the plurality of lockers communicatively connected in series via the bus from the first locker to the last locker, and wherein each locker is associated with a corresponding controller and comprises a lock communicatively connected to the corresponding controller; iteratively, until the message is received by a controller of the selected locker or a controller of the last locker: updating the message by a controller that received the message and sending the updated message to a controller of a next locker of the plurality of lockers; if the message is received by the controller of the last locker or the last locker is the selected locker, generating a response message by the controller of the last locker, and otherwise: generating, by the controller of the selected locker, the response message, and iteratively, until the response message is received by the last locker: forwarding the response message to the controller of the next locker of the plurality of lockers; and sending, from the controller associated with the last locker, the response message to the host controller. 16. The method of clause 15, wherein the message comprises an instruction to open the selected locker. 17. The method of clause 15 or 16, wherein: the message comprises a request to gather data by at least one of a sensor or an image capturing device of the selected locker. 18. The method of any one of clauses 15 to 17, wherein the message and the updated message each comprises a first identifier identifying the controller receiving the message or the updated message respectively, and a second identifier identifying the controller of the selected locker. 19. The method of clause 18, wherein the identifier of a controller is a positive integer number, optionally a positive integer number between 0 and the number of controllers minus 1. 20. The method of clause 18 or 19, wherein the identifier of the first controller is 0. 21. The method of any of clauses 18 to 20, wherein the plurality of controllers have sequentially numbered identifiers. 22. The method of clause 18, wherein, if the first identifier and the second identifier in the message received by the controller of the last locker fail to match, the method comprising sending, by the controller of the last locker, the response message comprising the identifier of the controller of the last locker and the identifier of the controller of the selected locker. 23. The method of clause 18, wherein if the second identifier in the message received by the controller matches an identifier of the controller, the method comprises: executing, by the controller having the identifier matching the second identifier, an instruction included in the received message. 24. The method of clause 23, wherein, when the message comprises an instruction to open the selected locker, the method comprises: the controller having the identifier matching the second identifier unlocking the corresponding lock and sending the response message comprising a confirmation that the selected locker has been opened. 25. The method of clause 23, wherein, when the instruction comprises a request to gather data by at least one of a sensor or an image capturing device of the selected locker, the method comprises: the controller having the identifier matching the second identifier causing the at least one sensor or image capturing device of the respective locker to gather data and sending the response message comprising the gathered data. 26. The method of any one of clauses 18 to 22 wherein, when the method is performed in response to the assembly of lockers being powered up, optionally wherein the identifier of the selected controller included by the host controller in the message is a predefined number that is higher than the number of the plurality of lockers in the assembly of lockers. 27. The method of any one of clauses 18 to 22, wherein when the method is performed in response to the assembly of lockers being powered up, the identifier of the selected controller included by the host controller in the message is a predefined number that is different from an identifier of any of the plurality of lockers in the assembly of lockers. 28. The method of any one of clauses 18 to 27, wherein updating the message by the controller that received the message comprises updating the first identifier with an identifier of the controller associated with the next locker. 29. A modular locker system, comprising: one or more locker units for defining a plurality of lockers comprising a first locker and a last locker, each locker having a door, a lock configured to lock and unlock the door, and a controller configured to be connected to the lock for controlling the lock, thereby the plurality of lockers having a plurality of corresponding controllers; a host controller; and a bus system for connecting the plurality of controllers in series from a first controller of the first locker to a last controller of the last locker and connecting the host controller to the first controller, the bus system configured to define: at least a first communication path from the host controller to the first controller through the plurality of controllers in series to the last controller, and a second communication path from the last controller to the host controller, bypassing the plurality of controllers; wherein the host controller is configured to send instructions to the plurality of controllers through the first communication path and receive response through the second communication path. 30. The modular locker system of clause 29, wherein a locker unit comprises four panels, including two vertical panels and two horizontal panels. 31. The modular locker system of clause 29 or 30, comprising a plurality of locker units, wherein different locker units are configured to be connected in series via sections of the bus. 32. The modular locker system of any one of clauses 29 to 31, wherein at least one locker unit comprises a plurality of lockers. 33. The modular locker system of clause 32, wherein two neighboring lockers within a locker unit are separated by a panel. 34. The modular locker system of clause 33, wherein a number of panels separating lockers within the locker unit is equal to the number of lockers in the locker unit minus 1. 35. The modular locker system of any one of clauses 29 to 34, wherein the bus system comprises cables and at least one printed circuit board (PCB). 36. The modular locker system of clause 35, wherein the at least one PCB is a first type of PCB for coupling controllers associated with lockers within the same locker unit, or a second type of PCB for coupling controllers associated with different locker units. 37. The modular locker system of clause 35 or 36, wherein the cables comprise a first type of cable configured to distribute power supply and facilitate communication between controllers, a second type of cable configured to distribute power supply to controllers of different locker units, and a third type of cable configured to distribute power supply to locks. 38. A method of assembling a modular locker system, the method comprising: positioning at least one panel within at least one locker unit to define a plurality of lockers within the at least one locker unit, the plurality of lockers comprising a first locker and a last locker; fitting a plurality of doors to the at least one locker unit to respectively enclose interiors of the plurality of lockers, the plurality of lockers comprising a first door to enclose the interior of the first locker and a last door to enclose the interior of the last locker; fitting a plurality of locks to the at least one locker unit, each locker having a lock of the plurality of locks positioned to cooperate with the door of the locker, each lock having an associated controller configured to control the lock, the plurality of locks comprising a lock configured to lock and unlock the first door and a lock configured to lock and unlock the last door; connecting the controllers associated with the plurality lockers in series via a bus system from a first controller of the first locker to a last controller of the last locker; and connecting the first controller to a host controller via the bus system, the bus system configured to define at least a first communication path from the host controller to the last controller through the plurality of controllers in series starting with the first controller, and a second communication path from the last controller to the host controller, bypassing the plurality of controllers. 39. The method of clause 38, wherein the at least one panel is horizontal. 40. The method of clause 38, wherein the at least one panel is vertical. 41. The method of any one of clauses 38 to 40, comprising connecting a first locker unit and a second locker unit of the at least one locker unit via the bus system. 42. The method of clause 41, wherein connecting controllers associated with the lockers within the same locker unit comprises using at least two of a first type of Printed Circuit Board (PCB) and at least three of a first type of cable configured to distribute power supply and communication between the controllers. 43. The method of clause 41, wherein connecting different locker units comprises using at least one of a first type of PCB, at least two of a second type of PCB, at least one of a first type of cable configured to distribute power supply and communication between the controllers, at least one of a second type of cable configured to distribute power supply for the controllers, and at least one a third type of cables configured to distribute power supply for the locks. 44. The method of any one of clauses 38 to 43, wherein connecting the controller of the first locker to the host controller via the bus system comprises using at least one of a first type of PCB, at least three of a first type of cable configured to distribute power supply and communication between the controllers, at least two of a second type of PCB and at least one of a second type of cable configured to distribute power supply for the controllers, and at least one a third type of cables configured to distribute power supply for the locks. 45. The method of any one of clauses 38 to 44, further comprising adding a new locker to a locker unit of the at least one locker unit, by: removing a door of a locker in the locker unit; disconnecting the controller associated with the locker; removing the lock associated with the removed door; positioning a panel in the locker to divide the locker into the new locker and a reduced size locker; securing two locks in the locker on different sides of the panel; and connecting the controllers associated with the two locks in series to each other and other controllers associated with the locker unit using the bus system.
[0170] Features of any of the examples or embodiments outlined above may be combined to create additional examples or embodiments without losing the intended effect. It should be understood that the description of an embodiment or example provided above is by way of example only, and various modifications could be made by one skilled in the art. Furthermore, one skilled in the art will recognize that numerous further modifications and combinations of various aspects are possible. Accordingly, the described aspects are intended to encompass all such alterations, modifications, and variations that fall within the scope of the appended claims.
Claims
1. A system for controlling an assembly of lockers, the system comprising:a plurality of sets of lockers, each locker associated with a corresponding controller, the plurality of sets of lockers being communicatively connected in series, wherein each set of lockers comprises at least one locker, wherein each locker comprises a lock communicatively connected to the corresponding controller;a bus comprising a plurality of segments, each segment configured to connect neighboring controllers;wherein:each controller comprises a processor and a memory;each controller is configured to receive communications from the bus and send communications to the bus; anda host controller comprising a processor and a memory and configured to send an instruction via the bus to cause at least one of the plurality of controllers to unlock the corresponding lock, thereby unlocking the respective locker.
2. The system of claim 1, wherein each set of lockers consists of a single locker.
3. The system of claim 1, wherein at least one of the plurality of sets of lockers comprises a plurality of lockers.
4. The system of claim 3, wherein the plurality of controllers corresponding to the plurality of lockers of the at least one set of lockers are connected in a daisy chain.
5. The system of any one of claims 1 to 5, wherein at least one segment of the plurality of segments comprises at least one printed circuit board (PCB) and cables coupled to the at least one PCB.
6. The system of claim 5, wherein the at least one PCB comprises a first port, a second port and a third port.
7. The system of claim 6, wherein the at least one PCB is a first type of PCB for connecting lockers within the same set of lockers or a second type of PCB for connecting different sets of lockers.
8. The system of claim 7, wherein the at least one segment is configured to connect two neighboring controllers corresponding to lockers of the same set of lockers, the at least one segment comprising two printed circuit boards (PCBs) of the first type communicatively coupled to the respective neighboring controllers and to each other.
9. The system of claim 8, wherein the PCB of the first type communicatively coupled to the controller of the last locker of the set of lockers is configured to:when receiving communications through the first port, forward thecommunications through the third port; andwhen receiving communication through the third port, forward thecommunications through the first port.
10. The system of claim 8, wherein the PCB of the first type communicatively coupled to the controller of a locker of a set of lockers, other than the last locker, is configured to:when receiving communications through the first port, forward the communications through the third port;when receiving communication through the third port, forward the communication through the second port; andwhen receiving communication through the second port, forward the communications through the first port.
11. The system of claim 7, wherein the at least one segment is configured to connect two neighboring controllers corresponding to lockers of two different sets of lockers, the at least one segment comprising two PCBs of the first type communicatively coupled to the respective neighboring controllers and two PCBs of the second type communicatively coupled to the PCBs of the first type and each other.
12. The system of claim 11, wherein the PCB of the second type communicatively coupled to the last set of lockers of the plurality of sets of lockers is configured to:when receiving communications through the first port, forward thecommunications through the third port; andwhen receiving communications through the third port, forward thecommunications through the first port.
13. The system of claim 11, wherein the PCB of the second type communicatively coupled to any set of lockers of the plurality of set of lockers, other than the last set of lockers, is configured to:when receiving communications through the first port, forward the communications through the third port;when receiving communication through the third port, forward the communication through the second port; andwhen receiving communication through the second port, forward the communications through the first port.
14. The system of any one of claims 7 to 13, wherein the PCBs of the second type are configured to support power supply to the plurality of set of lockers.
15. A method for controlling an assembly of a plurality of lockers, the method comprising: sending a message via a bus, by a host controller to a controller of a first locker of the plurality of lockers, the message identifying a selected locker,wherein the plurality of lockers includes the first locker and a last locker, the plurality of lockers communicatively connected in series via the bus from the first locker to the last locker, andwherein each locker is associated with a corresponding controller and comprises a lock communicatively connected to the corresponding controller; iteratively, until the message is received by a controller of the selected locker or a controller of the last locker:updating the message by a controller that received the message and sending the updated message to a controller of a next locker of the plurality of lockers;if the message is received by the controller of the last locker or the last locker is the selected locker, generating a response message by the controller of the last locker, and otherwise:generating, by the controller of the selected locker, the response message, anditeratively, until the response message is received by the last locker: forwarding the response message to the controller of the next locker of the plurality of lockers; andsending, from the controller associated with the last locker, the response message to the host controller.
16. The method of claim 15, wherein the message comprises an instruction to open the selected locker.
17. The method of claim 15 or 16, wherein:the message comprises a request to gather data by at least one of a sensor or an image capturing device of the selected locker.
18. The method of any one of claims 15 to 17, wherein the message and the updated message each comprises a first identifier identifying the controller receiving the message or the updated message respectively, and a second identifier identifying the controller of the selected locker.
19. The method of claim 18, wherein the identifier of a controller is a positive integer number, optionally a positive integer number between 0 and the number of controllers minus 1.
20. The method of claim 18 or 19, wherein the identifier of the first controller is 0.
21. The method of any of claims 18 to 20, wherein the plurality of controllers have sequentially numbered identifiers.
22. The method of claim 18, wherein, if the first identifier and the second identifier in the message received by the controller of the last locker fail to match, the method comprising sending, by the controller of the last locker, the response message comprising the identifier of the controller of the last locker and the identifier of the controller of the selected locker.
23. The method of claim 18, wherein if the second identifier in the message received by the controller matches an identifier of the controller, the method comprises:executing, by the controller having the identifier matching the second identifier, an instruction included in the received message.
24. The method of claim 23, wherein, when the message comprises an instruction to open the selected locker, the method comprises:the controller having the identifier matching the second identifier unlocking the corresponding lock and sending the response message comprising a confirmation that the selected locker has been opened.
25. The method of claim 23, wherein, when the instruction comprises a request to gather data by at least one of a sensor or an image capturing device of the selected locker, the method comprises:the controller having the identifier matching the second identifier causing the at least one sensor or image capturing device of the respective locker to gather data and sending the response message comprising the gathered data.
26. The method of any one of claims 18 to 22 wherein, when the method is performed in response to the assembly of lockers being powered up, optionally wherein the identifier of the selected controller included by the host controller in the message is a predefined number that is higher than the number of the plurality of lockers in the assembly of lockers.
27. The method of any one of claims 18 to 22, wherein when the method is performed in response to the assembly of lockers being powered up, the identifier of the selected controller included by the host controller in the message is a predefined number that is different from an identifier of any of the plurality of lockers in the assembly of lockers.
28. The method of any one of claims 18 to 27, wherein updating the message by the controller that received the message comprises updating the first identifier with an identifier of the controller associated with the next locker.
29. A modular locker system, comprising:one or more locker units for defining a plurality of lockers comprising a first locker and a last locker, each locker having a door, a lock configured to lock and unlock the door, and a controller configured to be connected to the lock for controlling the lock, thereby the plurality of lockers having a plurality of corresponding controllers;a host controller; anda bus system for connecting the plurality of controllers in series from a first controller of the first locker to a last controller of the last locker and connecting the host controller to the first controller, the bus system configured to define:at least a first communication path from the host controller to the first controller through the plurality of controllers in series to the last controller, and a second communication path from the last controller to the host controller, bypassing the plurality of controllers;wherein the host controller is configured to send instructions to the plurality of controllers through the first communication path and receive response through the second communication path.
30. The modular locker system of claim 29, wherein a locker unit comprises four panels, including two vertical panels and two horizontal panels.
31. The modular locker system of claim 29 or 30, comprising a plurality of locker units, wherein different locker units are configured to be connected in series via sections of the bus.
32. The modular locker system of any one of claims 29 to 31, wherein at least one locker unit comprises a plurality of lockers.
33. The modular locker system of claim 32, wherein two neighboring lockers within a locker unit are separated by a panel.
34. The modular locker system of claim 33, wherein a number of panels separating lockers within the locker unit is equal to the number of lockers in the locker unit minus 1.
35. The modular locker system of any one of claims 29 to 34, wherein the bus system comprises cables and at least one printed circuit board (PCB).
36. The modular locker system of claim 35, wherein the at least one PCB is a first type of PCB for coupling controllers associated with lockers within the same locker unit, or a second type of PCB for coupling controllers associated with different locker units.
37. The modular locker system of claim 35 or 36, wherein the cables comprise a first type of cable configured to distribute power supply and facilitate communication between controllers, a second type of cable configured to distribute power supply to controllers of different locker units, and a third type of cable configured to distribute power supply to locks.
38. A method of assembling a modular locker system, the method comprising: positioning at least one panel within at least one locker unit to define a plurality of lockers within the at least one locker unit, the plurality of lockers comprising a first locker and a last locker;fitting a plurality of doors to the at least one locker unit to respectively enclose interiors of the plurality of lockers, the plurality of lockers comprising a first door to enclose the interior of the first locker and a last door to enclose the interior of the last locker;fitting a plurality of locks to the at least one locker unit, each locker having a lock of the plurality of locks positioned to cooperate with the door of the locker, each lock having an associated controller configured to control the lock, the plurality of locks comprising a lock configured to lock and unlock the first door and a lock configured to lock and unlock the last door;connecting the controllers associated with the plurality lockers in series via a bus system from a first controller of the first locker to a last controller of the last locker; andconnecting the first controller to a host controller via the bus system, the bus system configured to define at least a first communication path from the host controller to the last controller through the plurality of controllers in series starting with the first controller, and a second communication path from the last controller to the host controller, bypassing the plurality of controllers.
39. The method of claim 38, wherein the at least one panel is horizontal.
40. The method of claim 38, wherein the at least one panel is vertical.
41. The method of any one of claims 38 to 40, comprising connecting a first locker unit and a second locker unit of the at least one locker unit via the bus system.
42. The method of claim 41, wherein connecting controllers associated with the lockers within the same locker unit comprises using at least two of a first type of Printed Circuit Board (PCB) and at least three of a first type of cable configured to distribute power supply and communication between the controllers.
43. The method of claim 41, wherein connecting different locker units comprises using at least one of a first type of PCB, at least two of a second type of PCB, at least one of a firsttype of cable configured to distribute power supply and communication between the controllers, at least one of a second type of cable configured to distribute power supply for the controllers, and at least one a third type of cables configured to distribute power supply for the locks.
44. The method of any one of claims 38 to 43, wherein connecting the controller of the first locker to the host controller via the bus system comprises using at least one of a first type of PCB, at least three of a first type of cable configured to distribute power supply and communication between the controllers, at least two of a second type of PCB and at least one of a second type of cable configured to distribute power supply for the controllers, and at least one a third type of cables configured to distribute power supply for the locks.
45. The method of any one of claims 38 to 44, further comprising adding a new locker to a locker unit of the at least one locker unit, by:removing a door of a locker in the locker unit;disconnecting the controller associated with the locker;removing the lock associated with the removed door;positioning a panel in the locker to divide the locker into the new locker and a reduced size locker;securing two locks in the locker on different sides of the panel; andconnecting the controllers associated with the two locks in series to each other and other controllers associated with the locker unit using the bus system.