Control equipment and programs
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOSHIBA TEC KK
- Filing Date
- 2025-01-22
- Publication Date
- 2026-08-03
Smart Images

Figure 2026125422000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a control device and a program.
Background Art
[0002] A control device that stores control software needs to execute a restart in order to update the control software.
[0003] When the control device executes a restart for updating the control software, it cannot execute control based on the control software until the update of the control software is completed. Taking a printer as an example of the control device, the printer cannot execute print control until the update of the control software is completed.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] The problem to be solved by the embodiments of the present invention is to provide a technique capable of controlling the timing of restart for software update.
Means for Solving the Problems
[0006] In one embodiment, the control device includes a storage unit and a processing circuit. The storage unit stores software. The processing circuit detects that there is no person within a predetermined range, and based on the detection that there is no person within the predetermined range, executes a restart for updating the software.
Brief Description of the Drawings
[0007] [Figure 1] Figure 1 is a schematic block diagram showing an example of the system configuration according to the first embodiment. [Figure 2] Figure 2 is a block diagram illustrating a mobile POS printer according to the first embodiment. [Figure 3] Figure 3 is a configuration diagram illustrating a mobile POS printer according to the first embodiment. [Figure 4] Figure 4 is a diagram illustrating the partition configuration in the eMMC of a mobile POS printer according to the first embodiment. [Figure 5] Figure 5 is a diagram illustrating the software configuration of the control software according to the first embodiment. [Figure 6] Figure 6 is an example of a store employee uniform according to the first embodiment. [Figure 7] Figure 7 illustrates the restart screen displayed on the touch panel of a mobile POS printer according to the first embodiment. [Figure 8] Figure 8 is a flowchart illustrating the update process of the control software in a mobile POS printer according to the first embodiment. [Figure 9] Figure 9 is a schematic block diagram showing an example of the system configuration according to the second embodiment. [Figure 10] Figure 10 is a schematic block diagram showing an example of the store's configuration in the system according to the second embodiment. [Figure 11] Figure 11 is a block diagram illustrating a mobile payment terminal according to the second embodiment. [Figure 12] Figure 12 is a diagram illustrating a mobile payment terminal according to the second embodiment. [Figure 13] Figure 13 illustrates the partition configuration in the eMMC of a mobile payment terminal according to the second embodiment. [Figure 14] Figure 14 is a diagram illustrating the software configuration of the control software according to the second embodiment. [Figure 15]FIG. 15 is a block diagram illustrating an IoT gateway according to the second embodiment. [Figure 16] FIG. 16 is an external view illustrating an IoT gateway according to the second embodiment. [Figure 17] FIG. 17 is a diagram illustrating URL information of a network camera according to the second embodiment. [Figure 18] FIG. 18 is a diagram illustrating the uniform of a store clerk according to the second embodiment. [Figure 19] FIG. 19 is a diagram illustrating a restarting screen displayed on the touch panel of a mobile payment terminal according to the second embodiment. [Figure 20] FIG. 20 is a flowchart illustrating an update process of control software in a mobile payment terminal according to the second embodiment. [Figure 21] FIG. 21 is a flowchart illustrating the process of a customer search API in an IoT gateway according to the second embodiment.
Embodiments for Carrying Out the Invention
[0008] Hereinafter, several embodiments will be described with reference to the drawings. Note that the scales of each part in the drawings used in the following description of the embodiments may be appropriately changed. Also, each of the drawings used in the following description of the embodiments may show the configuration with some components omitted for the sake of explanation.
[0009] <The First Embodiment> (Configuration Example) FIG. 1 is a block diagram showing an overview of a configuration example of system SA. System SA is a system for updating control software in a control device capable of executing control based on the control software. The control may be control of the operation in the control device or control of the processing in the control device. The control software is software for enabling the execution of control. The control software is an example of the software of the control device.
[0010] System SA includes a mobile POS (Point of sales) printer 100, a Wi-Fi router 303, a tablet POS terminal 304, a smartphone 305, and a content server 301. The mobile POS printer 100, the Wi-Fi router 303, and the tablet POS terminal 304 are devices within the store. For example, the store may be a mass retailer such as a supermarket, but is not limited thereto. Hereinafter, a customer in the store is simply referred to as a customer. A store clerk is simply referred to as a clerk. The content server 301 is a device outside the store. The content server 301 may be a server on the cloud. System SA is an example of a system including at least two of the devices of the mobile POS printer 100, the Wi-Fi router 303, the tablet POS terminal 304, the smartphone 305, and the content server 301.
[0011] The mobile POS printer 100 is a device capable of issuing a medium printed with information about a transaction in the store as a receipt. A transaction is the transfer of money from a customer to the store accompanying the sale of merchandise by the store. A transaction includes the meaning of the sale of merchandise from the perspective of the store. A transaction includes the meaning of the purchase of merchandise from the perspective of the customer. The merchandise may be a tangible product or a service. The mobile POS printer 100 is a device used by a clerk. The mobile POS printer 100 is a portable device. The mobile POS printer 100 is a device capable of executing control of printing as control based on control software. The mobile POS printer 100 is an example of a control device. System SA can include one or more mobile POS printers 100.
[0012] The Wi-Fi router 303 is a device for connecting other devices that communicate via Wi-Fi to the network NWA. System SA can include one or more Wi-Fi routers 303. Wi-Fi is an example of a wireless LAN (Local Area Network).
[0013] The tablet POS terminal 304 is a device capable of displaying information about transactions in a store. The tablet POS terminal 304 is a device used by store employees. The tablet POS terminal 304 is a portable device. System SA may include one or more tablet POS terminals 304.
[0014] A smartphone 305 is a device that has display and communication functions, etc. A smartphone 305 is a device that is carried by a person. A smartphone 305 is a portable device. A person is a customer or a store employee. If there is one or more people in the store, system SA may include one or more smartphones 305. If there are no people in the store, system SA does not include smartphones 305. A smartphone 305 is an example of a user terminal carried by a person.
[0015] The content server 301 is a device that manages the update control software 302 usable by the mobile POS printer 100. The update control software 302 is the control software that runs on the mobile POS printer 100, and is used to switch from the old control software to the new updated control software. The control software that runs on the mobile POS printer 100 is the control software used by the mobile POS printer 100.
[0016] This section describes an example configuration for the Mobile POS Printer 100. Figure 2 is a block diagram illustrating a mobile POS printer 100. Figure 3 is a diagram illustrating the configuration of a mobile POS printer 100.
[0017] The mobile POS printer 100 includes a CPU (Central Processing Unit) 101, a bus 102, RAM (Random Access Memory) 103, eMMC (embedded Multi Media Card) 104, a Wi-Fi module 105, a touch panel 106, a cutter 107, a thermal head 108, a platen roller 109, a fisheye lens camera 110, thermal roll paper 201, and a control board 202.
[0018] The CPU 101 is the central component of the mobile POS printer 100. The CPU 101 is a component of the mobile POS printer 100's computer. The CPU 101 loads programs stored in the eMMC 104 into the RAM 103. By executing the programs loaded into the RAM 103, the CPU 101 enables various processes to be performed.
[0019] CPU 101 is an example of a processing circuit for a mobile POS printer 100. The processing circuit includes one or more arithmetic circuits that perform multiple processes using multiple functions. For example, the arithmetic circuit may be, but is not limited to, a processor, an ASIC (Application Specific Integrated Circuit), or an FPGA (field-Programmable Gate Array). For example, the processor may be, but is not limited to, a CPU or a GPU (Graphics Processing Unit).
[0020] Bus 102 is a signal line that enables the input and output of signals between elements of the mobile POS printer 100.
[0021] RAM103 corresponds to the main memory portion of the mobile POS printer 100. RAM103 is an element that makes up the computer of the mobile POS printer 100. RAM103 is a volatile memory area used as a work area where data is rewritten as needed by the CPU 101.
[0022] The eMMC104 stores software and data, for example, it stores control software that runs on the mobile POS printer 100. The eMMC104 can also store update control software. The eMMC104 is an example of storage for the mobile POS printer 100. Storage includes one or more storage devices. For example, storage devices include, but are not limited to, eMMC, HDD (Hard Disk Drive), and SSD (Solid State Drive). Storage is an example of a storage unit.
[0023] The Wi-Fi module 105 is a module for communicating with the Wi-Fi router 303 via Wi-Fi. The Wi-Fi module 105 is an example of the communication unit of the mobile POS printer 100 for communicating with other devices.
[0024] The touch panel 106 includes a display device and an input device. The display device is a device capable of displaying images. The display device is a liquid crystal display or an organic electroluminescent (EL) display, but is not limited to these. The input device is a device capable of inputting information or instructions based on operation. The touch panel 106 is an example of a display unit for a mobile POS printer 100 capable of displaying images.
[0025] The cutter 107 cuts the thermal roll paper 201. The thermal head 108 is a heating element that prints information onto the thermal roll paper 201 by generating heat. The platen roller 109 is opposite the thermal head 108 and is a roller for transporting the thermal roll paper 201.
[0026] The fisheye lens camera 110 is a camera equipped with a fisheye lens that captures images of the area surrounding the mobile POS printer 100. The fisheye lens camera 110 is an example of the camera unit of the mobile POS printer 100.
[0027] The thermal roll paper 201 is the medium on which information is printed by the thermal head 108. The portion of the thermal roll paper 201 on which information has been printed is cut by the cutter 107 and issued as a receipt.
[0028] The control board 202 is a board that integrates the CPU 101, RAM 103, eMMC 104, and Wi-Fi module 105.
[0029] The hardware configuration of the mobile POS printer 100 is not limited to the configuration described above. The mobile POS printer 100 allows for the omission and modification of the above-mentioned components, as well as the addition of new components, as appropriate.
[0030] Figure 4 is a diagram illustrating the partition configuration of the eMMC 104 of the mobile POS printer 100. The eMMC104 includes a boot loader 401, a configuration partition 402, a first control software partition 404, and a second control software partition 407.
[0031] Bootloader 401 is a program used to start the OS (Operating System).
[0032] The configuration partition 402 is a partition for storing the boot partition configuration value 403. The boot partition configuration value 403 is a value that sets the partition where the software to be booted is stored. The boot partition configuration value 403 is a value that sets either the first control software partition 404 or the second control software partition 407. If the boot partition configuration value 403 is a value that sets the first control software partition 404, the CPU 101 starts the software stored in the first control software partition 404. If the boot partition configuration value 403 is a value that sets the second control software partition 407, the CPU 101 starts the software stored in the second control software partition 407.
[0033] The first control software partition 404 is a partition that stores control software or update control software that operates on the mobile POS printer 100. In this case, the first control software partition 404 stores control software 405 that operates on the mobile POS printer 100. Note that the first control software partition 404 may not store any software. The control software 405 includes a software update function 406. The software update function 406 is a program for updating the control software 405. The software update function 406 switches the control software operating on the mobile POS printer 100 from the old control software 405 to the new updated control software.
[0034] The second control software partition 407 is a partition for storing control software or update control software that operates on the mobile POS printer 100. In this case, the second control software partition 407 does not store any software.
[0035] Figure 5 is a diagram illustrating the software configuration of the control software 405. The control software 405 includes a Linux Operating System 501. The Linux Operating System 501 includes the aforementioned software update function 406, Wi-Fi monitoring function 503, Wi-Fi device driver 504, printer control function 505, and person recognition function 506.
[0036] The Wi-Fi monitoring function 503 is a program for scanning Wi-Fi probe request frames. Wi-Fi probe requests are signals from devices using Wi-Fi in a store.
[0037] The Wi-Fi device driver 504 is a program for controlling the Wi-Fi module 105.
[0038] The printer control function 505 is a program for controlling printing using the cutter 107, thermal head 108, platen roller 109, etc.
[0039] The person recognition function 506 is a program for recognizing people from camera images. The person recognition function 506 can also identify the person recognized from the camera image as a customer or a store employee. The camera image is an image based on a capture by the fisheye lens camera 110. The camera image may be individual images that make up a recorded video, or an image taken as a still image. The camera image is an example of an image taken based on a capture by the fisheye lens camera 110.
[0040] This section describes the employee identification information used in the person recognition function 506 to identify a person as an employee. Figure 6 is an example of a store employee's uniform. The store employees' uniforms are marked with QR code (registered trademark) 601. QR code 601 is a two-dimensional code that records information to identify a person wearing the uniform as a store employee. QR code 601 is an example of employee identification information that can identify a person as a store employee. Employee identification information is not limited to QR code 601. Employee identification information may also include information about the pattern on the employee's uniform, or information about the employee's physical characteristics such as their face.
[0041] This section describes an example of the display on the touch panel 106 that appears during a restart to update the control software running on the mobile POS printer 100. Figure 7 illustrates the restart screen displayed on the touch panel 106 of the mobile POS printer 100. When the CPU 101 restarts to update the control software running on the mobile POS printer 100, the touch panel 106 displays a restart screen. The restarting screen indicates that the mobile POS printer 100 is restarting.
[0042] (Example of processing) This section explains the processing of the mobile POS printer 100. Figure 8 is a flowchart illustrating the process of updating the control software in the mobile POS printer 100. For example, CPU101 uses the nice command, a feature of the Linux Operating System501, to set the update process to a low priority of 19 and then executes the update process. The processing procedure described below is merely an example, and each process may be modified as much as possible. Furthermore, depending on the embodiment, steps in the processing procedure described below may be omitted, replaced, or added as appropriate.
[0043] The CPU 101 receives a software update request from the content server 301 via the network NWA (ACT1). ACT1 may also be processed by the software update function 406. If the CPU 101 receives a software update request (ACT1, YES), processing transitions from ACT1 to ACT2. If the CPU 101 does not receive a software update request (ACT1, NO), the CPU 101 waits for a software update request. The software update request is a request to update the control software that runs on the mobile POS printer 100.
[0044] The CPU 101 determines, based on a software update request, whether the control software is running in the first control software partition 404 (ACT2). ACT2 may also be a process performed by the software update function 406. In ACT2, for example, the CPU 101 determines whether the first control software partition 404 stores the control software that runs on the mobile POS printer 100.
[0045] If the control software is running in the first control software partition 404 (ACT2, YES), the process transitions from ACT2 to ACT3. In this case, the first control software partition 404 stores the control software that runs on the mobile POS printer 100.
[0046] The CPU 101 downloads the update control software 302 from the content server 301 to the second control software partition 407 (ACT3). ACT3 may also be processed by the software update function 406.
[0047] If the control software is not running in the first control software partition 404 (ACT2, NO), the process transitions from ACT2 to ACT4. In this case, the second control software partition 407 stores the control software running on the mobile POS printer 100.
[0048] The CPU 101 downloads the update control software 302 from the content server 301 to the first control software partition 404 (ACT4). ACT4 may also be processed by the software update function 406.
[0049] The CPU 101 scans for Wi-Fi probe request frames (ACT5) based on the download of the update control software 302. ACT5 may also be processed by the Wi-Fi monitoring function 503. The CPU 101 detects whether there are no Wi-Fi probe requests or whether there are Wi-Fi probe requests based on a scan of Wi-Fi probe request frames (ACT6). ACT6 may also be processed by the Wi-Fi monitoring function 503. If there is no one in the store who possesses a device using Wi-Fi, there are no Wi-Fi probe requests. On the other hand, if there is someone in the store who possesses a device using Wi-Fi, there are Wi-Fi probe requests.
[0050] If there are no Wi-Fi probe requests (ACT6, YES), the process transitions from ACT6 to ACT7. If there are Wi-Fi probe requests (ACT6, YES), the process transitions from ACT6 to ACT5. CPU101 repeats the processing of ACT5 and ACT6 until there are no more Wi-Fi probe requests.
[0051] If there are no Wi-Fi probe requests, CPU 101 detects that there are no customers within a predetermined range based on the camera image, as illustrated in ACT7 to ACT9. In this case, store employees may or may not be within the predetermined range. The predetermined range may include the entire store or only a part of the store.
[0052] The CPU 101 acquires a camera image from the fisheye lens camera 110 (ACT7). ACT7 may also be processed by the person recognition function 506.
[0053] The CPU 101 detects whether a person is included in the camera image or not based on the camera image (ACT8). ACT8 may also be processed by the person recognition function 506. If at least one person is within a predetermined range, the camera image includes a person. If no one is within the predetermined range, the camera image does not include a person. If the CPU 101 detects that a person is included in the camera image (ACT8, NO), the process transitions from ACT8 to ACT9. If the CPU 101 detects that a person is not included in the camera image (ACT8, YES), the process transitions from ACT8 to ACT10. Detecting that a person is not included in the camera image is an example of detecting that there are no customers within a predetermined range based on the camera image.
[0054] The CPU 101 detects whether the person in the camera image is wearing the store's uniform or not (ACT9). ACT9 may also be processed by the person recognition function 506. In ACT9, for example, the CPU 101 detects whether the person in the camera image is wearing the store's uniform or not, depending on whether it can recognize the QR code 601 from the person's clothing. If the person in the camera image is wearing the store's uniform, the person in the camera image is an employee. If the person in the camera image is not wearing the store's uniform, the person in the camera image is a customer.
[0055] When CPU 101 recognizes QR code 601, CPU 101 detects that the person in the camera image is wearing the store's uniform. In this way, CPU 101 detects that there are no customers within a predetermined range by identifying customers or store employees based on the camera image. Detecting that there are no customers within a predetermined range by identifying customers or store employees based on the camera image is one example of detecting that there are no customers within a predetermined range based on the camera image.
[0056] If CPU 101 does not recognize QR code 601, CPU 101 detects that the person in the camera image is not wearing the store's uniform. In this way, CPU 101 detects that there is a customer within a predetermined range by identifying the customer or store employee based on the camera image. Detecting that there is a customer within a predetermined range by identifying the customer or store employee based on the camera image is one example of detecting that there is a customer within a predetermined range based on the camera image.
[0057] If CPU101 detects that the person in the camera image is wearing the store's uniform (ACT9, YES), the process transitions from ACT9 to ACT10. If CPU101 detects that the person in the camera image is not wearing the store's uniform (ACT9, NO), the process transitions from ACT9 to ACT5.
[0058] The CPU 101 performs a restart to update the control software running on the mobile POS printer 100, as illustrated in ACT10 to ACT14. Here, the CPU 101 performs a restart based on the detection that there are no customers within a predetermined range.
[0059] The CPU 101 determines whether the control software is running in the first control software partition 404 (ACT 10). ACT 10 may also be a process performed by the software update function 406. In ACT 10, for example, the CPU 101 determines whether the first control software partition 404 stores the control software that runs on the mobile POS printer 100.
[0060] If the control software is running in the first control software partition 404 (ACT10, YES), the process transitions from ACT10 to ACT11. In this case, the first control software partition 404 stores the control software running on the mobile POS printer 100. The second control software partition 407 stores the update control software.
[0061] The CPU 101 sets the second control software partition 407 to the boot partition setting value 403 (ACT 11). ACT 11 may also be processed by the software update function 406. This allows the CPU 101 to set the update control software stored in the second control software partition 407 as the boot target.
[0062] If the control software is not running in the first control software partition 404 (ACT10, NO), the process transitions from ACT10 to ACT12. In this case, the second control software partition 407 stores the control software running on the mobile POS printer 100. The first control software partition 404 stores the update control software.
[0063] The CPU 101 sets the first control software partition 404 to the boot partition setting value 403 (ACT 12). ACT 12 may also be processed by the software update function 406. This allows the CPU 101 to set the update control software stored in the first control software partition 404 as the boot target.
[0064] The CPU 101 displays a restart screen on the touch panel 106 based on the setting of the boot partition setting value 403 (ACT 13). ACT 13 may also be processed by the software update function 406.
[0065] The CPU 101 performs a restart (ACT 14) to update the control software running on the mobile POS printer 100. ACT 14 may also be processed by the software update function 406. By restarting the mobile POS printer 100, the CPU 101 switches from the old control software 405 to the new updated control software.
[0066] In ACT5 and ACT6, the CPU 101 processes Wi-Fi probe requests, but is not limited to this. Processing of Wi-Fi probe requests in ACT5 and ACT6 may be omitted. In this example, the CPU 101 detects that there are no customers within a predetermined range based on the camera image, based on the download of the update control software 302.
[0067] In ACT7 to ACT9, the CPU 101 detects that there are no customers within a predetermined range based on the camera image, but is not limited to this. The CPU 101 may also detect that there are no customers within a predetermined range based on Wi-Fi probe requests instead of the camera image. In this example, the processing of ACT7 to ACT9 is omitted. In ACT6, the CPU 101 detects whether there are no Wi-Fi probe requests or whether there are Wi-Fi probe requests based on scanning for Wi-Fi probe request frames. If there are no Wi-Fi probe requests, the CPU 101 processes ACT10. Detecting that there are no Wi-Fi probe requests is an example of detecting that there are no customers within a predetermined range based on Wi-Fi probe requests. If there are no Wi-Fi probe requests, the CPU 101 processes ACT10.
[0068] When a Wi-Fi probe request is received, the CPU 101 identifies whether the person holding the device using Wi-Fi is a customer or an employee, based on the Wi-Fi probe request. In this case, the eMMC 104 of the mobile POS printer 100 stores information identifying the device held by the employee. The CPU 101 compares the information contained in the Wi-Fi probe request with the information stored in the eMMC 104 that identifies the device held by the employee. Through this comparison, the CPU 101 identifies whether the person holding the device using Wi-Fi is a customer or an employee.
[0069] Identifying that a person holding a device using Wi-Fi is a store employee is an example of detecting that there are no customers within a predetermined range by identifying customers or store employees based on Wi-Fi probe requests. Identifying that a person holding a device using Wi-Fi is a store employee is an example of detecting that there are no customers within a predetermined range based on Wi-Fi probe requests. If the person holding a device using Wi-Fi is identified as a store employee, the CPU 101 processes ACT 10. Identifying a person holding a device using Wi-Fi as a customer is an example of detecting a customer within a predetermined range by identifying a customer or employee based on a Wi-Fi probe request. If a person holding a device using Wi-Fi is identified as a customer, the CPU 101 processes ACT5. As described above, the CPU 101 can perform a restart to update the control software based on the detection that there are no customers within a predetermined range. This allows the CPU 101 to control the timing of restarts for software updates. For example, the CPU 101 proceeds with executable update processes, such as downloading the update control software, without stopping the mobile POS printer 100. If there is a customer within a predetermined range, the CPU 101 waits without restarting. If there is no customer within the predetermined range, the CPU 101 restarts. The downtime of the mobile POS printer 100 due to the control software update is the time when there are no customers within the predetermined range. The CPU 101 can complete the control software update while there are no customers within the predetermined range. Therefore, even if the mobile POS printer 100 stops due to a control software update, the convenience of customers using the mobile POS printer 100 is not reduced.
[0070] As described above, the CPU 101 can detect if there are no customers within a predetermined range by identifying customers or store employees. As a result, the CPU 101 can identify people within a predetermined range as either customers or store employees, thereby improving the accuracy of detecting when there are no customers within that range.
[0071] As described above, the CPU 101 can detect, based on the camera image, that there are no customers within a predetermined range. This allows the CPU 101 to improve its accuracy in detecting when there are no customers within a predetermined range by recognizing people from the camera image.
[0072] As described above, if there is no wireless LAN probe request, the CPU 101 can detect, based on the camera image, that there are no customers within a predetermined range. CPU101 does not need to constantly perform the process of recognizing people from camera images, thus reducing its processing load.
[0073] As described above, the CPU 101 can detect that there are no customers within a predetermined range based on the wireless LAN probe request. The CPU 101 can detect that there are no customers within a predetermined range without using any special equipment.
[0074] In the explanation using Figure 8 above, an example was given in which the CPU 101 detects that there are no customers within a predetermined range, but it is not limited to this. The CPU 101 may detect that there are no people within a predetermined range without distinguishing between customers and store employees. In this example, ACT9 is omitted in the flowchart illustrated in Figure 8. Therefore, if the CPU 101 detects that a person is included in the camera image in ACT8 (ACT8, NO), the process transitions from ACT8 to ACT5. The phrase "no customers within a predetermined range" in the explanation using Figure 8 above may be read as "no people within a predetermined range." The phrase "customers are within a predetermined range" in the explanation using Figure 8 above may be read as "people are within a predetermined range." The processing for Wi-Fi probe requests in ACT5 and ACT6 may be omitted. In this example, after downloading the update control software 302, the CPU 101 detects that there are no people within a predetermined range based on the camera image.
[0075] In this example, the CPU 101 can perform a restart to update the control software based on the detection that there is no person within a predetermined range. This allows the CPU 101 to control the timing of restarts for software updates. For example, the CPU 101 can complete the control software update while no one is within a predetermined range. Therefore, even if the mobile POS printer 100 stops due to a control software update, the convenience of using the mobile POS printer 100 by a person is not reduced.
[0076] The CPU 101 can detect, based on the camera image, that there are no people within a predetermined range. This allows the CPU 101 to improve its accuracy in detecting when there are no people within a predetermined range by recognizing people from the camera image.
[0077] If there are no wireless LAN probe requests, the CPU 101 can detect, based on the camera image, that there are no people within a predetermined range. This reduces the processing load on the CPU 101, as it does not need to constantly perform the process of recognizing people from the camera image.
[0078] The CPU 101 may detect whether there are no people within a predetermined range based on Wi-Fi probe requests, instead of using camera images. The processing in this case is the same as the processing described above. This allows the CPU 101 to detect that there are no people within a predetermined range without using any special equipment.
[0079] <Second Embodiment> The second embodiment is one in which a control device works in conjunction with other devices to detect whether there is a person within a predetermined range. In the second embodiment, parts that may be identical to those in the first embodiment are described by using the same reference numerals or terms, and their explanation is omitted.
[0080] (Example configuration) Figure 9 is a block diagram illustrating a schematic example of the configuration of system SB. Figure 10 is a block diagram illustrating a schematic example of the in-store configuration in System SB. System SB is a system for updating control software in control devices that can perform control based on control software.
[0081] System SB includes a mobile payment terminal 1000, an IoT (Internet of Things) gateway 3003, a tablet POS terminal 3004, a network camera 3005, and a content server 3001. The mobile payment terminal 1000, IoT gateway 3003, tablet POS terminal 3004, and network camera 3005 are in-store devices. The content server 3001 is an external device. The content server 3001 may also be a cloud server. System SB is an example of a system that includes at least two of the devices among the mobile payment terminal 1000, IoT gateway 3003, tablet POS terminal 3004, network camera 3005, and content server 3001.
[0082] The mobile payment terminal 1000 is a device capable of processing settlements for transactions in a store. Settlement is payment for a transaction. Settlement includes the meaning of accounting. The mobile payment terminal 1000 is a device used by customers. The mobile payment terminal 1000 is a portable device. The mobile payment terminal 1000 is a device capable of performing print control as control based on control software. The mobile payment terminal 1000 is an example of a control device. System SB may include one or more mobile payment terminals 1000.
[0083] The IoT Gateway 3003 is a device capable of communicating with other devices via Wi-Fi. The IoT Gateway 3003 can connect other devices communicating via Wi-Fi to the Network Bank (NWB). System SB can include one or more IoT Gateway 3003s. The IoT Gateway 3003 is an example of a communication device capable of communicating with other devices.
[0084] The tablet POS terminal 3004 is a device capable of displaying information about transactions in a store. The tablet POS terminal 3004 is a device used by store employees. The tablet POS terminal 3004 is a portable device. System SB may include one or more tablet POS terminals 3004.
[0085] Network camera 3005 is a camera that captures the surroundings. Network camera 3005 is a device that can communicate with IoT gateway 3003 via Wi-Fi. Network camera 3005 is an example of a camera that captures images. System SB can include one or more network cameras 3005. Here, system SB is assumed to include three network cameras 3005 identified by identification numbers #1 to #3. The three network cameras 3005 capture different areas within the store.
[0086] The content server 3001 is a device that manages the update control software 3002 usable by the mobile payment terminal 1000. The update control software 3002 is the control software that runs on the mobile payment terminal 1000, and is used to switch from the old control software to the new updated control software. The control software that runs on the mobile payment terminal 1000 is the control software used by the mobile payment terminal 1000.
[0087] This section describes an example configuration of the mobile payment terminal 1000. Figure 11 is a block diagram illustrating a mobile payment terminal 1000. Figure 12 is a diagram illustrating the configuration of a mobile payment terminal 1000.
[0088] The mobile payment terminal 1000 includes a CPU 1001, a bus 1002, RAM 1003, eMMC 1004, a Wi-Fi module 1005, a touch panel 1006, a CCD (Charge Coupled Device) camera 1007, and a control board 2001.
[0089] The CPU 1001 is the central part of the mobile payment terminal 1000. The CPU 1001 is an element that constitutes the computer of the mobile payment terminal 1000. The CPU 1001 loads programs stored in the eMMC 1004 into the RAM 1003. By executing the programs loaded into the RAM 1003, the CPU 1001 enables various processes. The CPU 1001 is an example of the processing circuit of the mobile payment terminal 1000.
[0090] Bus 1002 is a signal line that enables the input and output of signals between elements of the mobile payment terminal 1000.
[0091] RAM1003 corresponds to the main memory portion of the mobile payment terminal 1000. RAM1003 is an element that makes up the computer of the mobile payment terminal 1000. RAM1003 is a volatile memory area used as a work area where data is rewritten as needed by the CPU 1001.
[0092] The eMMC1004 stores software and data, for example, it stores control software that operates in the mobile payment terminal 1000. The eMMC1004 can also store update control software. The eMMC1004 is an example of storage for the mobile payment terminal 1000.
[0093] The Wi-Fi module 1005 is a module for communicating with the IoT gateway 3003 via Wi-Fi. The Wi-Fi module 1005 is an example of the communication unit of the mobile payment terminal 1000 for communicating with other devices.
[0094] The touch panel 1006 includes a display device and an input device. The touch panel 1006 is an example of a display unit for a mobile payment terminal 1000 that can display images.
[0095] The CCD camera 1007 is a camera that captures images of the area around the mobile payment terminal 1000. The CCD camera 1007 is an example of the imaging unit of the mobile payment terminal 1000.
[0096] The control board 2001 is a board that integrates a CPU 1001, RAM 1003, eMMC 1004, and Wi-Fi module 1005.
[0097] The hardware configuration of the mobile payment terminal 1000 is not limited to the configuration described above. The mobile payment terminal 1000 may, as appropriate, omit or change the above-described components and add new components.
[0098] Figure 13 is a diagram illustrating the partition configuration in the eMMC 1004 of the mobile payment terminal 1000. eMMC1004 includes a boot loader 6001, a configuration partition 6002, a first control software partition 6004, and a second control software partition 6007.
[0099] Bootloader 6001 is the program used to start the operating system.
[0100] The configuration partition 6002 is a partition for storing the boot partition configuration value 6003. The boot partition configuration value 6003 is the value that sets the partition where the software to be booted is stored. The boot partition configuration value 6003 is either the value that sets the first control software partition 6004 or the value that sets the second control software partition 6007.
[0101] The first control software partition 6004 is a partition that stores control software or update control software that operates on the mobile payment terminal 1000. In this case, the first control software partition 6004 stores control software 6005 that operates on the mobile payment terminal 1000. Note that the first control software partition 6004 may not store any software. The control software 6005 includes a software update function 6006. The software update function 6006 is a program for updating the control software 6005. The software update function 6006 switches the control software operating on the mobile payment terminal 1000 from the old control software 6005 to the new updated control software.
[0102] The second control software partition 6007 is a partition for storing control software or update control software that operates on the mobile payment terminal 1000. In this case, the second control software partition 6007 does not store any software.
[0103] Figure 14 is a diagram illustrating the software configuration of the control software 6005. The control software 6005 includes the Linux Operating System 7001. The Linux Operating System 7001 includes the aforementioned software update function 6006, the Wi-Fi device driver 7004, and the payment processing function 7005.
[0104] The software update function 6006 includes the Customer Discovery API (Application Programming Interface) 7003. The Customer Discovery API 7003 is an API for linking the software update function 6006 with the person detection function of the IoT gateway 3003.
[0105] The Wi-Fi device driver 7004 is a program for controlling the Wi-Fi module 1005.
[0106] The payment processing function 7005 is a program for processing the settlement of transactions at a store. This document describes an example configuration for the IoT gateway 3003. Figure 15 is a block diagram illustrating the IoT gateway 3003. Figure 16 is an external view illustrating the IoT gateway 3003.
[0107] The IoT gateway 3003 includes a CPU 4001, a bus 4002, RAM 4003, eMMC 4004, a Wi-Fi module 4005, an Ethernet module 4006, and an antenna 4007.
[0108] The CPU 4001 is the central component of the IoT gateway 3003. It is a key component of the IoT gateway 3003's computer. The CPU 4001 loads programs stored in the eMMC 4004 into the RAM 4003. By executing the programs loaded into the RAM 4003, the CPU 4001 enables various processes. The CPU 4001 is an example of the processing circuitry of the IoT gateway 3003.
[0109] Bus 4002 is a signal line that enables the input and output of signals between elements of the IoT gateway 3003.
[0110] RAM4003 corresponds to the main memory portion of the IoT gateway 3003. RAM4003 is an element that makes up the computer of the IoT gateway 3003. RAM4003 is a volatile memory area used as a work area where data is rewritten as needed by the CPU4001.
[0111] The eMMC4004 stores software and data, and is an example of storage for the IoT gateway 3003.
[0112] The Wi-Fi module 4005 is a module for communicating with other devices via Wi-Fi. The Wi-Fi module 4005 is an example of the communication section of the IoT gateway 3003 for communicating with other devices.
[0113] The Ethernet module 4006 is a module for connecting the IoT gateway 3003 to the network.
[0114] Antenna 4007 is an antenna for Wi-Fi communication.
[0115] The hardware configuration of the IoT gateway 3003 is not limited to the configuration described above. The IoT gateway 3003 allows for the omission and modification of the above-mentioned components, as well as the addition of new components, as appropriate.
[0116] This document describes the URL (Uniform Resource Locator) information for the network camera 3005 stored in the eMMC4004 of the IoT gateway 3003. Figure 17 is an example of the URL information for network camera 3005. The eMMC4004 of the IoT gateway 3003 stores URL information associated with the identification number (#N) of each network camera 3005 in the store. The identification number (#N) is identification information that can individually identify each network camera 3005. The URL information is the access destination for downloading camera images from the network camera 3005. The camera image is an image based on capture by the network camera 3005. The camera image may be individual images that make up a recorded video, or it may be an image taken as a still image. The camera image is an example of an image taken based on capture by the network camera 3005.
[0117] This document describes the employee identification information used for detecting people by the IoT gateway 3003, which allows for the identification of a person as an employee.
[0118] Figure 18 is an example of a store employee's uniform. The store employees' uniforms are marked with a QR code 8001. A QR code 8001 is a two-dimensional code that records information used to identify a person wearing the uniform as a store employee. A QR code 8001 is an example of employee identification information that can identify a person as a store employee. Employee identification information is not limited to a QR code 8001. Employee identification information may also include information about the pattern on the uniform worn by the employee, or information about the employee's physical characteristics such as their face.
[0119] This section describes an example of the display on the touch panel 1006 that appears during a restart to update the control software running on the mobile payment terminal 1000. Figure 19 is an example of a restart screen displayed on the touch panel 1006 of a mobile payment terminal 1000. When the CPU 1001 restarts to update the control software running on the mobile payment terminal 1000, the touch panel 1006 displays a restart screen. The restarting screen indicates that the mobile payment terminal 1000 is restarting.
[0120] (Example of processing) This section explains the processing performed by mobile payment terminal 1000. Figure 20 is a flowchart illustrating the process of updating the control software in the mobile payment terminal 1000. For example, CPU 1001 uses the nice command, a function of the Linux Operating System 7001, to set the update process to a low priority of 19 and then executes the update process. The process described below may be a process performed by the software update function 6006. The processing procedure described below is merely an example, and each process may be modified as much as possible. Furthermore, depending on the embodiment, steps in the processing procedure described below may be omitted, replaced, or added as appropriate.
[0121] CPU 1001 receives a software update request from content server 3001 via network bridge (ACT21). If CPU 1001 receives a software update request (ACT21, YES), processing transitions from ACT21 to ACT22. If CPU 1001 does not receive a software update request (ACT21, NO), CPU 1001 waits for a software update request. The software update request is a request to update the control software running on mobile payment terminal 1000.
[0122] Based on the software update request, the CPU 1001 determines whether the control software is running in the first control software partition 6004 (ACT22). In ACT22, for example, the CPU 1001 determines whether the first control software partition 6004 stores the control software that runs on the mobile payment terminal 1000.
[0123] If the control software is running in the first control software partition 6004 (ACT22, YES), the process transitions from ACT22 to ACT23. In this case, the first control software partition 6004 stores the control software running on the mobile payment terminal 1000.
[0124] CPU 1001 downloads the update control software 3002 from the content server 3001 to the second control software partition 6007 (ACT23).
[0125] If the control software is not running in the first control software partition 6004 (ACT22, NO), the process transitions from ACT22 to ACT24. In this case, the second control software partition 6007 stores the control software running on the mobile payment terminal 1000.
[0126] CPU 1001 downloads the update control software 3002 from the content server 3001 to the first control software partition 6004 (ACT24).
[0127] Based on the download of the update control software 3002, the CPU 1001 calls the customer search API 7003 and sends a first message to the IoT gateway 3003 (ACT25). The first message is a message sent from the mobile payment terminal 1000 to the IoT gateway 3003. The first message requests a detection result indicating that there are no customers within a predetermined range or that there are customers within a predetermined range.
[0128] CPU 1001 receives a second message from customer discovery API 7003 (ACT 26). In ACT 25, for example, CPU 1001 receives a second message from IoT gateway 3003 via customer discovery API 7003. The second message is a message sent from IoT gateway 3003 to mobile payment terminal 1000. The second message is either True or False. A True result in the second message indicates a detection result that a customer is within a predetermined range. A False result in the second message indicates a detection result that a customer is not within a predetermined range. If CPU 4001 of IoT gateway 3003 detects that a customer is within a predetermined range, CPU 1001 receives True from IoT gateway 3003 in the second message. If CPU 4001 of IoT gateway 3003 detects that there is no customer within a predetermined range, CPU 1001 receives False from IoT gateway 3003 in the second message.
[0129] CPU 1001 detects whether the value of the second message is False or True (ACT 27). Detecting that the value of the second message is False is an example of detecting that there are no customers within a predetermined range based on the False value of the second message. Detecting that the value of the second message is True is an example of detecting that there are customers within a predetermined range based on the True value of the second message. If CPU 1001 detects that the value of the second message is False (ACT 27, YES), the process transitions from ACT 27 to ACT 28. If the value of the second message is True (ACT 27, NO), the process transitions from ACT 27 to ACT 25.
[0130] The CPU 1001 performs a restart to update the control software running on the mobile payment terminal 1000, as illustrated in Acts 28 to 32. Here, the CPU 1001 performs a restart based on the detection that there are no customers within a predetermined range.
[0131] The CPU 1001 determines whether the control software is running in the first control software partition 6004 (ACT28). In ACT28, for example, the CPU 1001 determines whether the first control software partition 6004 stores the control software that runs on the mobile payment terminal 1000.
[0132] If the control software is running in the first control software partition 6004 (ACT28, YES), the process transitions from ACT28 to ACT29. In this case, the first control software partition 6004 stores the control software running on the mobile payment terminal 1000. The second control software partition 6007 stores the update control software.
[0133] CPU1001 sets the second control software partition 6007 to the boot partition setting value 6003 (ACT29). This allows CPU1001 to set the update control software stored in the second control software partition 6007 as the boot target.
[0134] If the control software is not running in the first control software partition 6004 (ACT28, NO), the process transitions from ACT28 to ACT30. In this case, the second control software partition 6007 stores the control software running on the mobile payment terminal 1000. The first control software partition 6004 stores the update control software.
[0135] CPU1001 sets the first control software partition 6004 to the boot partition setting value 6003 (ACT30). This allows CPU1001 to set the update control software stored in the first control software partition 6004 as the boot target.
[0136] CPU1001 displays a restart screen on touch panel 1006 based on the boot partition setting value 6003 (ACT31).
[0137] CPU 1001 performs a restart to update the control software running on the mobile payment terminal 1000 (ACT32). Upon restarting the mobile payment terminal 1000, CPU 1001 switches from the old control software 6005 to the new updated control software.
[0138] This section describes the processing performed by the IoT gateway 3003. Figure 21 is a flowchart illustrating the processing of the customer discovery API in the IoT gateway 3003. The processing procedure described below is merely an example, and each process may be modified as much as possible. Furthermore, depending on the embodiment, steps in the processing procedure described below may be omitted, replaced, or added as appropriate.
[0139] CPU4001 receives the first message from the customer discovery API (ACT41). In ACT41, for example, CPU4001 receives the first message from the mobile payment terminal 1000. If CPU4001 receives the first message (ACT41, YES), the process transitions from ACT41 to ACT42. If CPU4001 does not receive the first message (ACT41, NO), CPU4001 waits for the first message.
[0140] Based on the first message, CPU4001 sets the identification number #N of network camera 3005 to 1 (ACT42).
[0141] CPU4001 downloads camera images from network camera 3005, which is identified by identification number #N, where N is set to a value (ACT43). In ACT43, for example, CPU4001 obtains URL information associated with identification number #N from eMMC4004. Based on the obtained URL information, CPU4001 accesses network camera 3005. CPU4001 downloads camera images from the accessed network camera 3005.
[0142] CPU 4001 detects whether a person is present in the camera image or not based on the camera image (ACT 44). If CPU 4001 detects that a person is present in the camera image (ACT 44, NO), the process transitions from ACT 44 to ACT 45. If CPU 101 detects that a person is not present in the camera image (ACT 44, YES), the process transitions from ACT 44 to ACT 46.
[0143] CPU 4001 detects whether the person in the camera image is wearing the store's uniform or not (ACT 45). In ACT 45, for example, CPU 4001 detects whether the person in the camera image is wearing the store's uniform or not based on whether it can recognize the QR code 8001 from the person's clothing in the camera image.
[0144] When CPU4001 recognizes QR code 8001, CPU4001 detects that the person in the camera image is wearing the store's uniform.
[0145] If CPU4001 does not recognize QR code 8001, CPU4001 detects that the person in the camera image is not wearing the store's uniform. As a result, CPU4001 detects that there is a customer within a predetermined range by identifying the customer or store employee based on the camera image. Detecting the presence of a customer within a predetermined range by identifying the customer or store employee based on the camera image is an example of detecting the presence of a customer within a predetermined range based on the camera image.
[0146] If CPU4001 detects that the person in the camera image is not wearing the store's uniform (ACT45, NO), the process transitions from ACT45 to ACT46.
[0147] Based on the detection of a customer within a predetermined range using the camera image, the CPU 4001 sends True to the mobile payment terminal 1000 in a second message (ACT 47).
[0148] If CPU4001 detects that the person in the camera image is wearing the store's uniform (ACT45, YES), the process transitions from ACT45 to ACT4.
[0149] CPU 4001 sets the identification number #N of network camera 3005 to a value of N+1 (ACT 47). In ACT 46, for example, CPU 101 sets the identification number #N to a value of N+1 based on the detection that there are no people in the camera image. CPU 4001 sets the identification number #N to a value of N+1 based on the detection that the people in the camera image are wearing the store's uniform.
[0150] CPU4001 determines whether the set value N is greater than 3 (ACT48). Here, since system SB contains 3 network cameras 3005, CPU4001 compares N to 3. Therefore, CPU4001 should compare N to the number of network cameras 3005 included in system SB. If the set value N is not greater than 3 (ACT48, NO), the process transitions from ACT48 to ACT43. If the set value N is greater than 3 (ACT48, YES), the process transitions from ACT48 to ACT49.
[0151] CPU 4001 processes ACT 44 for all network camera 3005 images. This allows CPU 4001 to detect that there are no customers within a predetermined range based on the camera images. CPU 4001 can then process ACT 45 for the network camera 3005 images. This allows CPU 4001 to detect that there are no customers within a predetermined range by identifying customers or staff based on the camera images.
[0152] Based on the detection of no customers within a predetermined range using the camera image, CPU 4001 sends False to the mobile payment terminal 1000 in a second message (ACT 49).
[0153] As described above, the CPU 10001 of the mobile payment terminal 1000 can perform a restart to update the control software based on the detection that there are no customers within a predetermined range. This allows CPU1001 to control the timing of restarts for software updates.
[0154] As described above, the CPU 10001 of the mobile payment terminal 1000 can detect that there are no customers within a predetermined range based on the detection results from the IoT gateway 3003. As a result, the CPU 1001 can reduce the processing load required to detect when there are no customers within a predetermined range by coordinating with the IoT gateway 3003.
[0155] As described above, the CPU 4001 of the IoT gateway 3003 can detect if there are no customers within a predetermined range by identifying whether they are customers or store employees. As a result, the CPU 4001 can identify people within a predetermined range as either customers or store employees, thereby improving the accuracy of detecting when there are no customers within that range.
[0156] As described above, the CPU 4001 of the IoT gateway 3003 can detect, based on the camera image, that there are no customers within a predetermined range. This allows the CPU4001 to improve its accuracy in detecting when there are no customers within a predetermined range by recognizing people from camera images.
[0157] In the explanation using Figure 21 above, an example was given in which CPU 4001 detects that there are no customers within a predetermined range, but this is not limited to this example. CPU 101 may detect that there are no people within a predetermined range without distinguishing between customers and store employees. In this example, ACT 45 is omitted in the flowchart illustrated in Figure 21. Therefore, if CPU 4001 detects that a person is included in the camera image in ACT 44 (ACT 44, NO), the process transitions from ACT 44 to ACT 47. In the explanation using Figures 20 and 21 above, the notation "there are no customers within a predetermined range" may be read as "there are no people within a predetermined range." In the explanation using Figures 20 and 21 above, the notation "there are customers within a predetermined range" may be read as "there are people within a predetermined range."
[0158] In this example, the CPU 10001 of the mobile payment terminal 1000 can perform a restart to update the control software based on the detection that there is no person within a predetermined range. This allows CPU1001 to control the timing of restarts for software updates.
[0159] The CPU 10001 of the mobile payment terminal 1000 can detect that there are no people within a predetermined range based on the detection results from the IoT gateway 3003. As a result, the CPU 1001 can reduce the processing load required to detect whether there are no people within a predetermined range by cooperating with the IoT gateway 3003.
[0160] The CPU 4001 of the IoT gateway 3003 can detect, based on camera images, that there are no customers within a predetermined range. This allows the CPU4001 to improve its accuracy in detecting when there are no customers within a predetermined range by recognizing people from camera images.
[0161] <Other Embodiments> In the embodiments described above, a store was used as an example of a predetermined range, but the invention is not limited to this. If the control equipment is located outside the store, the predetermined range may be a different range from the store.
[0162] In the embodiments described above, a mobile POS printer 100 or a mobile payment terminal 1000 was used as an example of a control device, but the invention is not limited to these. The control device may be a different device used in the store than the mobile POS printer 100 or the mobile payment terminal 1000. The control device may be any device capable of performing control based on control software, and is not limited to devices used in the store. The control device is not limited to portable devices. The control device may be a stationary device.
[0163] The embodiments described above may be applied to methods performed by the device. The embodiments described above may be applied to a program that can cause the computer of the device to perform each function. The embodiments described above may be applied to a recording medium that stores the program.
[0164] Each of the one or more arithmetic circuits that make up a processing circuit performs one or more of the multiple processes. If the processing circuit consists of a single arithmetic circuit, the single arithmetic circuit performs all of the multiple processes. If the processing circuit consists of multiple arithmetic circuits, each of the multiple arithmetic circuits performs some of the multiple processes. Some of the multiple processes may be one of the multiple processes, or two or more of the multiple processes. If the processing circuit consists of multiple arithmetic circuits, the multiple arithmetic circuits may be contained in one device, or they may be distributed across multiple devices.
[0165] The program may be transferred while stored in the device according to the embodiment, or it may be transferred without being stored in the device. In the latter case, the program may be transferred via a network, or it may be transferred while recorded on a recording medium. The recording medium is a non-temporary tangible medium. The recording medium is a computer-readable medium. The recording medium may be any medium that is capable of storing a program and is readable by a computer, such as a CD-ROM or memory card, and its form is not limited.
[0166] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents.
[0167] Some of the embodiments described above may be expressed as follows: (1) A memory unit for storing software, A processing circuit that detects that there is no person within a predetermined range and, based on the detection that there is no person within the predetermined range, performs a restart to update the software, A control device equipped with the following features. (2) The absence of people within the predetermined range means that there are no customers within the predetermined range. (1) The control equipment described above. (3) The processing circuit detects that there are no customers within the predetermined range by identifying the customer or store employee. (2) Control equipment as described above. (4) The processing circuit detects that there are no customers within the predetermined range based on the captured image. (2) or (3) the control equipment described above. (5) If there is no wireless LAN probe request, the processing circuit detects that there are no customers within the predetermined range based on the captured image. (4) Control equipment as described above. (6) A computer of a control device that has a memory unit for storing software, A function to detect if there are no people within a predetermined range, A function to perform a restart to update the software based on the detection that there is no person within the predetermined range, A program that can execute [this action]. (7) A system comprising communication equipment and control equipment, The communication device includes a processing circuit that detects that there is no person within the predetermined range and transmits a detection result indicating that there is no person within the predetermined range based on the detection that there is no person within the predetermined range. The control device comprises a storage unit for storing software, and a processing circuit that receives the detection result, detects that there is no person within the predetermined range based on the detection result, and performs a restart to update the software based on the detection that there is no person within the predetermined range. system. (8) The absence of people within the predetermined range means that there are no customers within the predetermined range. (7) Control equipment as described above. (9) The processing circuit of the communication device detects that there is no customer within the predetermined range based on the identification of the customer or store employee. The system described in (8). (10) The processing circuit of the communication device detects that there are no customers within the predetermined range based on the captured image. The system described in (8) or (9). [Explanation of Symbols]
[0168] 100…Mobile POS printer, 101…CPU, 102…Bus, 103…RAM, 104…eMMC, 105…Wi-Fi module, 106…Touch panel, 107…Cutter, 108…Thermal head, 109…Platen roller, 110…Fisheye lens camera, 201…Thermal roll paper, 202…Control board, 301…Content server, 302…Update control software, 303…Wi-Fi router, 304…Tablet POS terminal, 305…Smartphone, 401…Boot loader, 402…Configuration value partition, 403…Boot partition configuration value, 404…First control software partition, 405…Control software, 406…Software update function, 407…Second control software partition, 501…Linux Operating System, 503…Wi-Fi monitoring function, 504…Wi-Fi device driver, 505…Printer control function, 506…Person recognition function, 601…QR code, 1000…Mobile payment terminal, 1001…CPU, 1002…Bus, 1003…RAM, 1004…eMMC, 1005…Wi-Fi module, 1006…Touch panel, 1007…CCD camera, 2001…Control board, 3001…Content server, 3002…Update control software, 3003…IoT gateway, 3004…Tablet PO S terminal, 3005...Network camera, 4001...CPU, 4002...Bus, 4003...RAM, 4004...eMMC, 4005...Wi-Fi module, 4006...Ethernet module, 4007...Antenna, 6001...Boot loader, 6002...Configuration partition, 6003...Startup partition settings, 6004...First control software partition, 6005...Control software, 6006...Software update function, 6007...Second control software partition, 7001...Linux Operating System, 7003...Customer discovery API, 7004...Wi-Fi device driver, 7005...Payment processing function, 8001...QR code, NWA...Network, NWB...Network, SA...System, SB...System.
Claims
1. A memory unit for storing software, A processing circuit that detects that there is no person within a predetermined range and, based on the detection that there is no person within the predetermined range, performs a restart to update the software, A control device equipped with the following features.
2. The absence of people within the predetermined range means that there are no customers within the predetermined range. The control device according to claim 1.
3. The processing circuit detects that there are no customers within the predetermined range by identifying the customer or store employee. The control device according to claim 2.
4. The processing circuit detects, based on the captured image, that there are no customers within the predetermined range. The control device according to claim 2.
5. If there is no wireless LAN probe request, the processing circuit detects, based on the captured image, that there are no customers within the predetermined range. The control device according to claim 4.
6. A computer in a control device equipped with a memory unit for storing software, A function to detect if there are no people within a predetermined range, A function to perform a restart to update the software based on the detection that there is no person within the predetermined range, A program that can execute [this action].