Display systems and embedded devices
The display system addresses the increased development effort for embedded and external terminals by using a single set of screen data with device-specific settings, reducing the need for separate screen development and accommodating performance differences.
Patent Information
- Application Number
- JP2021089562
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-27
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2041-05-27
AI Technical Summary
In display systems where screens are displayed on both embedded devices and external terminals, performance differences and security requirements lead to increased effort in developing separate screens for each platform.
A display system where the embedded device stores firmware with screen data and device-specific settings, and the external terminal acquires this data for display, using terminal-specific settings different from those of the embedded device.
This approach reduces the effort required for developing screens for embedded devices and external terminals by allowing a single set of screen data to be displayed with settings tailored to each device's performance, thereby accommodating performance differences without the need for double development.
Smart Images

Figure 0007660436000001 
Figure 0007660436000002 
Figure 0007660436000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a display system and an embedded device. [Background technology]
[0002] Embedded devices equipped with a display unit that displays a screen are known. In addition, as embedded devices become network-compatible, it is becoming possible to control the embedded devices from external terminals. For example, Patent Document 1 discloses a technology that, in a system that includes an operation display panel of an image generating device and multiple external operation terminals, can display information on a display device regardless of the screen size of the display device, even if the screen sizes of the operation display panel and the multiple operation terminals are different. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2013-130964 A Summary of the Invention [Problem to be solved by the invention]
[0004] In a system in which a screen is displayed on both the embedded device and the external terminal as described above, there are usually differences between the browsers of the embedded device and the external terminal, differences in the security required, etc. When such differences in performance and security are taken into consideration, two types of screens are required: one displayed on the embedded device and one displayed on the external terminal, which results in a problem of increased effort required for screen development.
[0005] The present disclosure has been made to solve the problems described above, and aims to provide a display system etc. that can reduce the effort required for dual development of a screen to be displayed on an embedded device and a screen to be displayed on an external terminal. [Means for solving the problem]
[0006] In order to achieve the above object, the display system according to the present disclosure comprises: A display system including an embedded device and an external terminal, The embedded device includes: Define the display screen a storage unit that stores firmware including screen data and device setting information already set for the embedded device; The screen data The above is defined as follows: a device-side display unit that displays a display screen in accordance with the device setting information; The external terminal includes: a terminal-side communication unit that acquires the screen data through communication with the embedded device; The screen data acquired by the terminal side communication unit The above is defined as follows: The display unit includes a terminal side display unit that displays a display screen in accordance with terminal setting information that is different from the device setting information. Effect of the Invention
[0007] In the present disclosure, the embedded device is Define the display screen The firmware including the screen data and the device setting information already set for the embedded device is stored, and the screen data is Determined by The display screen is displayed according to the device setting information. Then, the external terminal uses the screen data acquired by communication with the embedded device. Determined by The display screen is displayed according to terminal setting information that is different from the device setting information. Therefore, according to the present disclosure, it is possible to reduce the effort required for doubly developing a screen to be displayed on the embedded device and a screen to be displayed on the external terminal. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing an overall configuration of a display system according to a first embodiment. [Diagram 2] FIG. 1 is a diagram showing a configuration of an embedded device according to a first embodiment. [Diagram 3] FIG. 1 is a diagram showing an example of a display screen according to the first embodiment; [Figure 4] FIG. 1 shows a configuration of an external terminal according to a first embodiment. [Diagram 5] 1 is a flowchart showing the flow of a display process executed by the embedded device according to the first embodiment. [Figure 6] 1 is a flowchart showing a flow of a display process executed by an external terminal according to the first embodiment; [Figure 7] FIG. 13 is a diagram showing an example of a login authentication screen displayed on an external terminal according to the second embodiment; [Figure 8] FIG. 13 is a diagram showing the configuration of a storage unit of an embedded device according to a third embodiment. [Figure 9] FIG. 1 is a first diagram for explaining an update process of an embedded cookie in an embedded device according to a fourth embodiment; [Figure 10] FIG. 2 is a second diagram for explaining an update process of an internal cookie in an embedded device according to a fourth embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, embodiments will be described in detail with reference to the drawings, in which the same or corresponding parts are designated by the same reference numerals.
[0010] (Embodiment 1) Fig. 1 shows a configuration of a display system 1 according to the first embodiment. As shown in Fig. 1, the display system 1 includes an embedded device 10 and an external terminal 30. The embedded device 10 and the external terminal 30 are communicably connected to each other via a communication network N. The communication network N is an information communication network such as a LAN (Local Area Network), the Internet, etc.
[0011] The embedded device 10 is an electronic device controlled by embedded software, and specifically, is an electronic device for a specific purpose such as an air conditioner, a water heater, a rice cooker, a washing machine, a refrigerator, a television, etc. In the following, an air conditioning controller for operating an air conditioner will be taken as an example of the embedded device 10.
[0012] 2, the embedded device 10 includes a control unit 11, a storage unit 12, an operation unit 13, a display unit 14, and a communication unit 15. These can also be called a device-side control unit, a device-side storage unit, a device-side operation unit, a device-side display unit, and a device-side communication unit, respectively.
[0013] The control unit 11 includes a CPU (Central Processing Unit). The CPU is also called a central processing unit, central arithmetic unit, processor, microprocessor, microcomputer, etc., and functions as a processing unit that executes processing and calculations related to the control of the embedded device 10. In the control unit 11, the CPU reads out and operates programs and data stored in the storage unit 12, and performs overall control of the embedded device 10.
[0014] The storage unit 12 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, etc. The storage unit 12 stores programs and data used by the control unit 11 to perform various processes. The storage unit 12 also stores data generated or acquired by the control unit 11 performing various processes.
[0015] The operation unit 13 includes input devices such as a button, a touch pad, and a touch panel, and receives operation input from a user. The user can input various instructions to the embedded device 10 by operating the operation unit 13. When the operation unit 13 receives an instruction input from the user, it transmits the received instruction to the control unit 11.
[0016] The display unit 14 includes a display device such as an LCD (Liquid Crystal Display) panel, an organic EL (Electro-Luminescence) panel, etc. The display unit 14 is driven by a display drive circuit (not shown), and displays various images under the control of the control unit 11.
[0017] The communication unit 15 includes a communication interface for communicating with devices external to the embedded device 10. For example, the communication unit 15 communicates with external devices including the external terminal 30 in accordance with well-known communication standards such as LAN and USB (Universal Serial Bus). Specifically, the communication unit 15 communicates with the external terminal 30 via a communication network N, and transmits the screen data 123 stored in the storage unit 12 to the external terminal 30 in response to a request from the external terminal 30.
[0018] Next, the storage unit 12 will be described in more detail. The storage unit 12 stores firmware 120. The firmware 120 is software embedded in the embedded device 10 for causing the embedded device 10 to execute a desired operation. The firmware 120 is software closely linked to the hardware, and is shipped from the factory in a state in which it is written in advance in a storage medium that is not rewritten without reason. The firmware 120 is physically stored in a ROM, which is a read-only non-volatile memory.
[0019] The storage unit 12 stores an image file of the entire file system used by the embedded device 10 as firmware 120. This image file contains an embedded browser 121, a Web server 122, screen data 123, and an embedded cookie 124.
[0020] The built-in browser 121 is a browser built into the embedded device 10, and is software for displaying a display screen on the display unit 14.
[0021] The Web server 122 is software for causing the built-in browser 121 to display a screen. The Web server 122 distributes screen data 123 to the built-in browser 121, and causes the display unit 14 to display a display screen based on the screen data 123.
[0022] Screen data 123 is a data file that defines an image to be displayed on display unit 14. Specifically, screen data 123 is an HTML (Hyper Text Markup Language) file, a JavaScript file, a CSS (Cascading Style Sheets) file, an image file, or the like, and defines an image to be displayed on display unit 14 according to predetermined rules.
[0023] The built-in cookie 124 is a cookie that is built into the embedded device 10. The built-in cookie 124 is a data file for saving setting information specific to the built-in browser 121, and describes the setting information specific to the built-in browser 121 in accordance with Web standards. Specifically, the built-in cookie 124 includes device setting information, which is setting information used when a display screen is displayed on the display unit 14. As will be described in detail later, the device setting information defines adjustment parameters for display output that have been set for the embedded device 10.
[0024] The built-in cookie 124 is generated as firmware 120 when the embedded device 10 is shipped from the factory, and contains device setting information that corresponds to the performance of the built-in browser 121 built into the embedded device 10. The storage location of the built-in cookie 124 within the file system of the firmware 120 is known.
[0025] The firmware 120 includes the built-in browser 121, the web server 122, the screen data 123, and the built-in cookies 124, as well as other application software used by the embedded device 10. In this way, the storage unit 12 stores in the firmware 120 a set of software that controls the embedded device 10.
[0026] When creating new firmware 120 to update the software of the embedded device 10, the setting value of the embedded cookie 124 in the firmware 120 can be changed even after shipping from the factory by changing the setting value of the embedded cookie 124 in the firmware 120. Also, when updating the screen data 123 in the firmware 120 to update the display of the embedded device 10 with the new firmware 120, a new cookie corresponding to the new display is also required. In this case, by also updating the embedded cookie 124 in the firmware 120, it becomes possible to accommodate updates to the screen of the embedded device 10 after shipping from the factory while maintaining consistency.
[0027] Next, a more detailed description will be given of the control unit 11. The control unit 11 displays on the display unit 14 a display screen based on the screen data 123 stored in the storage unit 12.
[0028] More specifically, when a user of the embedded device 10 desires to display an image on the display unit 14, the user operates the operation unit 13 to input a display instruction. When the control unit 11 receives the display instruction, the control unit 11 reads the screen data 123 in the firmware 120 via the Web server 122. The control unit 11 then distributes the read screen data 123 to the built-in browser 121, and causes the built-in browser 121 to display a display screen determined by the screen data 123.
[0029] As an example, when the embedded device 10 is an air conditioning controller, the control unit 11 displays an air conditioning operation screen as shown in Fig. 3 on the display unit 14. While viewing such an operation screen, the user can input settings such as turning the air conditioning on / off, switching the operation mode, and setting the set temperature and air volume.
[0030] More specifically, the control unit 11 displays a display screen based on the screen data 123 on the display unit 14 in accordance with device setting information included in the firmware 120. Here, the device setting information is information that defines setting values when a display screen is displayed on the display unit 14 of the embedded device 10, and is included in the built-in cookie 124.
[0031] The device setting information defines adjustment parameters for display output on the display unit 14. Specifically, the device setting information defines, as adjustment parameters, (1) the frame rate of animation included on the display screen, and (2) the frequency of thinning out events when the display screen is enlarged, reduced, or scrolled.
[0032] (1) The frame rate of an animation refers to the number of frames, i.e., the number of still images, processed per unit time in an animation. In general, the frame rate of an animation is often set to 60 Hz, which is in line with the refresh rate of a standard LCD screen. However, the graphics performance of the built-in browser 121 of the embedded device 10 is lower than the performance of browsers of general information devices. Therefore, it is highly likely that a frame rate that can be used in a browser of a general information device will not be usable as is in the built-in browser 121 of the embedded device 10. Taking this into consideration, the frame rate in the device setting information is set to a value lower than 60 Hz.
[0033] (2) The frequency of thinning out events when the display screen is enlarged, reduced, or scrolled refers to the degree to which the time change of the display screen is omitted when the display screen is enlarged, reduced, or scrolled. As an example, the enlargement, reduction, or scrolling of the display screen is executed by JavaScript included in screen data 123. JavaScript runs on a browser and is sometimes called Web application software. Hereinafter, Web application software will be abbreviated as Web app.
[0034] When the user performs a touch operation on the touch panel to enlarge, reduce, or scroll the display screen, a touch input event is notified from the browser to the Web application every time the user performs the touch operation. The Web application instructs the browser to enlarge, reduce, or scroll in response to the touch input event. The graphics performance of the built-in browser 121 of the embedded device 10 is lower than the performance of browsers of general information devices. Therefore, if touch input events are notified to the Web application frequently and enlargement, reduction, or scrolling is performed every time, the processing of the built-in browser 121 may not be able to keep up, and the display may become unusable. Therefore, when the display screen is enlarged, reduced, or scrolled in the embedded device 10, it is necessary to appropriately thin out the touch input events. In consideration of this, the thinning frequency in the device setting information is set to a relatively large value.
[0035] In this way, the device setting information determines the frame rate and thinning frequency according to the performance of the built-in browser 121. When the embedded device 10 is shipped from the factory, the built-in cookie 124 containing such device setting information is stored in advance in the firmware 120. When the built-in browser 121 is started, the control unit 11 reads the built-in cookie 124 in the firmware 120 and sets the frame rate and thinning frequency. Then, the control unit 11 displays the display screen on the display unit 14 at the set frame rate and thinning frequency.
[0036] Returning to Fig. 1, the external terminal 30 is a terminal device external to the embedded device 10. Specifically, the external terminal 30 is an operation terminal operated by a user, such as a personal computer, a smartphone, a tablet terminal, etc. The external terminal 30 is connected to the embedded device 10 via a communication network N, and can operate the embedded device 10, monitor its status, etc.
[0037] 4, the external terminal 30 includes a control unit 31, a storage unit 32, an operation unit 33, a display unit 34, and a communication unit 35. These can also be called a terminal-side control unit, a terminal-side storage unit, a terminal-side operation unit, a terminal-side display unit, and a terminal-side communication unit, respectively.
[0038] The control unit 31 includes a CPU. The CPU is also called a central processing unit, central arithmetic unit, processor, microprocessor, microcomputer, etc., and functions as a processing unit that executes processes and calculations related to the control of the external terminal 30. In the control unit 31, the CPU reads out and operates programs and data stored in the storage unit 32, and performs overall control of the external terminal 30.
[0039] The storage unit 32 includes a ROM, a RAM, a flash memory, etc. The storage unit 32 stores programs and data used by the control unit 31 to perform various processes. The storage unit 32 also stores data generated or acquired by the control unit 31 performing various processes.
[0040] The operation unit 33 includes input devices such as a button, a touch pad, and a touch panel, and receives operation input from a user. The user can input various instructions to the external terminal 30 by operating the operation unit 33. When the operation unit 33 receives an instruction input from the user, it transmits the received instruction to the control unit 31.
[0041] The display unit 34 includes a display device such as an LCD panel, an organic EL display, etc. The display unit 34 is driven by a display drive circuit (not shown), and displays various images under the control of the control unit 31.
[0042] The communication unit 35 includes a communication interface for communicating with devices external to the external terminal 30. For example, the communication unit 35 communicates with external devices including the embedded device 10 in accordance with well-known communication standards such as LAN and USB. Specifically, the communication unit 35 communicates with the embedded device 10 via the communication network N and acquires the screen data 123 stored in the storage unit 12 of the embedded device 10.
[0043] Next, a more detailed description will be given of the storage unit 32. The storage unit 32 stores an external browser 321 and an external cookie 322.
[0044] The external browser 321 is a browser built into the external terminal 30, and is software for displaying a display screen on the display unit .
[0045] The external cookie 322 is a cookie built into the external terminal 30. The external cookie 322 is a data file for saving setting information specific to the external browser 321, and describes the setting information specific to the external browser 321 in accordance with Web standards. Specifically, the external cookie 322 includes terminal setting information, which is setting information used when a display screen is displayed on the display unit 34. The terminal setting information, which will be described in detail later, defines adjustment parameters for display output.
[0046] The external cookie 322 does not exist when the external terminal 30 is shipped from the factory, but is generated when a display screen is displayed on the display unit 34, and is updated every time a display screen is displayed on the display unit 34. Therefore, the external cookie 322 is stored in an updatable storage area, not as firmware.
[0047] Next, a more detailed description will be given of the control unit 31. The control unit 31 displays on the display unit a display screen based on the screen data 123 acquired by the communication unit .
[0048] Specifically, when a user of the external terminal 30 desires to display an image on the display unit 34, the user operates the operation unit 33 to input a display instruction. When the control unit 31 receives the display instruction, the control unit 31 communicates with the embedded device 10 via the communication unit 35 and transmits a request for screen data 123 to the embedded device 10. When the communication unit 15 in the embedded device 10 receives the request for screen data 123 from the external terminal 30, the communication unit 15 transmits the screen data 123 stored in the storage unit 12 to the external terminal 30 as a response to the request. In the external terminal 30, the control unit 31 acquires the screen data 123 transmitted from the embedded device 10.
[0049] When the screen data 123 is thus acquired from the embedded device 10, the control unit 31 distributes the acquired screen data 123 to the external browser 321, and causes the external browser 321 to display a display screen determined by the screen data 123.
[0050] Specifically, the control unit 31 displays, for example, a blank screen as shown in FIG. tone The operation screen of the embedded device 10 is displayed on the display unit 34. Here, the display screen displayed on the external terminal 30 and the display screen displayed on the embedded device 10 are display screens based on the same screen data 123. Therefore, the display screen displayed on the display unit 34 of the external terminal 30 is the same as the display screen displayed on the display unit 14 of the embedded device 10, except for the difference between the device setting information and the terminal setting information described later. In this way, by displaying a display screen based on the screen data 123 stored in the embedded device 10 on the external terminal 30, the display screen of the embedded device 10 can be confirmed not only by directly operating the embedded device 10 but also by operating the external terminal 30.
[0051] More specifically, the control unit 31 displays a display screen based on the screen data 123 acquired from the embedded device 10 on the display unit 34 in accordance with terminal setting information different from device setting information. Here, the terminal setting information is information that defines setting values when the display screen is displayed on the display unit 34 of the external terminal 30.
[0052] The terminal setting information defines adjustment parameters for display output on the display unit 34. Specifically, like the device setting information, the terminal setting information defines, as adjustment parameters, (1) the frame rate of animation included in the display screen, and (2) the frequency of thinning out events when the display screen is enlarged, reduced, or scrolled. However, while the device setting information is set to a value that matches the performance of the built-in browser 121 of the embedded device 10, the terminal setting information is set to a value that matches the performance of the external browser 321 of the external terminal 30. Therefore, the frame rate and thinning out frequency defined by the terminal setting information are different from the frame rate and thinning out frequency defined by the device setting information.
[0053] Specifically, it is generally assumed that the graphics performance of the external browser 321 of the external terminal 30 is higher than that of the built-in browser 121 of the embedded device 10. Therefore, the frame rate determined by the terminal setting information is set to a higher value than the frame rate determined by the device setting information. In other words, if the display screen includes animation, the animation is displayed at a higher frame rate in the external terminal 30 than in the embedded device 10. In addition, the thinning frequency determined by the terminal setting information is set to a lower value than the thinning frequency determined by the device setting information. In other words, when the display screen is enlarged, reduced, or scrolled, the external terminal 30 is displayed with less thinning than the embedded device 10.
[0054] Such terminal setting information is also stored in external cookie 322, but as described above, external cookie 322 does not exist when external terminal 30 is shipped from the factory. Therefore, at the time of initial startup, terminal setting information does not exist in external terminal 30. Meanwhile, default values of terminal setting information are included in screen data 123 acquired from embedded device 10. To be more specific, when embedded device 10 is shipped from the factory, setting values according to the performance of external terminal 30 expected to be connected to embedded device 10 are described in screen data 123 as default values of terminal setting information.
[0055] If the terminal setting information does not exist in the external terminal 30, the control unit 31 displays a display screen based on the screen data 123 acquired from the embedded device 10 on the display unit 34 according to the default values of the terminal setting information included in the screen data 123. Specifically, if the external cookie 322 does not exist at the time of initial startup, the control unit 31 reads the default values of the terminal setting information included in the screen data 123 acquired from the embedded device 10. The control unit 31 then saves the read default values as the external cookie 322. Then, the control unit 31 sets the animation frame rate and event thinning frequency to default values using the function of the external browser 321, and displays the display screen on the display unit 34.
[0056] From the next time onwards, the external cookie 322 is stored in the storage unit 32. When the terminal setting information exists in the external terminal 30 in this way, the control unit 31 displays a display screen based on the screen data 123 acquired from the embedded device 10, in accordance with the terminal setting information stored in the external terminal 30. More specifically, the control unit 31 sets the animation frame rate and event thinning frequency to the setting values included in the external cookie 322, and displays the display screen on the display unit 34.
[0057] Next, the flow of processing executed by the display system 1 will be described with reference to FIGS.
[0058] First, the display process executed by the embedded device 10 will be described with reference to Fig. 5. The display process shown in Fig. 5 is appropriately and repeatedly executed by the control unit 11 when the embedded device 10 is in a state in which it can operate normally.
[0059] When the display process starts, the control unit 11 judges whether or not a display instruction has been received from the user of the embedded device 10 via the operation unit 13 (step S11). If a display instruction has not been received (step S11; NO), the control unit 11 remains in step S11 and waits until a display instruction is received.
[0060] When a display instruction is received (step S11; YES), the control unit 11 reads the screen data 123 included in the firmware 120 (step S12). Furthermore, the control unit 11 reads the built-in cookie 124 included in the firmware 120 (step S13).
[0061] When the control unit 11 reads the screen data 123 and the built-in cookie 124, the control unit 11 displays a display screen based on the read screen data 123 on the display unit 14 (step S14). The control unit 11 displays, for example, the operation screen shown in Fig. 3 on the display unit 14 in accordance with the device setting information included in the read built-in cookie 124. This completes the display process of the embedded device 10 shown in Fig. 5.
[0062] Secondly, a display process executed by the external terminal 30 will be described with reference to Fig. 6. The display process shown in Fig. 6 is appropriately and repeatedly executed by the control unit 31 when the external terminal 30 is in a state in which it can operate normally.
[0063] When the display process is started, the control unit 31 judges whether or not a display instruction has been received from the user of the external terminal 30 via the operation unit 33 (step S31). If a display instruction has not been received (step S31; NO), the control unit 31 remains in step S31 and waits until a display instruction is received.
[0064] When a display instruction is received (step S31; YES), the control unit 31 acquires the screen data 123 from the embedded device 10 (step S32). More specifically, the control unit 31 communicates with the embedded device 10 via the communication unit 35 and acquires the screen data 123 stored in the storage unit 12 of the embedded device 10.
[0065] When the screen data 123 is acquired, the control unit 31 judges whether or not the external cookie 322 exists in the storage unit 32 of the external terminal 30 (step S33). When the external terminal 30 is initially started, the external cookie 322 does not exist, but when the external terminal 30 is started for the second time or later, the external cookie 322 is stored in the storage unit 32.
[0066] If the external cookie 322 does not exist (step S33; NO), the control unit 31 reads (step S34) the default value of the terminal setting information included in the acquired screen data 123. On the other hand, if the external cookie 322 exists (step S33; YES), the control unit 31 reads (step S35) the external cookie 322.
[0067] When the default value or the external cookie 322 is read, the control unit 31 displays a display screen based on the acquired screen data 123 on the display unit 34 (step S36). The control unit 11 displays, for example, the operation screen shown in FIG. 3 on the display unit 34 according to the read default value or the terminal setting information included in the external cookie 322.
[0068] When the display screen is displayed, the control unit 31 updates the external cookie 322 (step S37). More specifically, the control unit 31 saves the setting information of the display screen displayed in step S36 in the external cookie 322 as terminal setting information. At this time, if the external cookie 322 does not exist in the storage unit 32, the control unit 31 creates a new external cookie 322 and saves the setting information of the display screen displayed in step S36 in the external cookie 322 as terminal setting information. This ends the display process of the external terminal 30 shown in FIG. 6.
[0069] As described above, the display system 1 according to the first embodiment stores the firmware 120 including the screen data 123 and the device setting information already set for the embedded device 10 in the embedded device 10. The embedded device 10 displays the display screen based on the screen data 123 according to the device setting information. The external terminal 30 displays the display screen based on the screen data 123 acquired from the embedded device 10 according to the terminal setting information different from the device setting information. Since different setting information is used for the embedded device 10 and the external terminal 30, one screen data 123 can be displayed with setting information that matches the performance of the embedded device 10 and the external terminal 30. In this way, since the screen display process can be changed with one screen data 123, it is not necessary to develop a screen for the embedded device 10 and a screen for the external terminal 30 separately. As a result, the effort of developing a screen twice can be reduced.
[0070] Furthermore, since the device setting information is stored in the firmware 120, it is held in the embedded device 10 in a state that cannot be easily rewritten from the time of shipment from the factory. Therefore, when a display screen is displayed on the embedded device 10, display processing is performed using setting information suitable for a browser with inferior performance, while when a display screen is displayed on the external terminal 30, display processing is performed using setting information suitable for the browser of the external terminal 30. This makes it possible to perform appropriate display processing corresponding to the performance difference of the browsers without requiring duplicate development of screens.
[0071] (Embodiment 2) Next, a description will be given of a second embodiment of the present disclosure. Descriptions of configurations and functions similar to those of the first embodiment will be omitted where appropriate.
[0072] In the above-mentioned first embodiment, the device setting information and the terminal setting information define adjustment parameters for display output, such as the animation frame rate and the event thinning frequency. In contrast, in the second embodiment, the device setting information and the terminal setting information define confidential information that requires high security. Specifically, in the second embodiment, the device setting information and the terminal setting information define authentication information for which login authentication has been performed.
[0073] Typically, when a browser performs login authentication for a website, the user enters a user name and password on the browser screen. When the user enters the user name and password, the browser sends them to the web server. If the web server is successful in authentication using the user name and password sent from the browser, it issues a login cookie indicating a unique ID value to the browser. Thereafter, when the browser connects to a website, it can specify the ID value of the login cookie issued by the web server in the HTTP (Hyper Text Transfer Protocol) header, allowing it to connect to the website without login authentication.
[0074] In the second embodiment, the built-in cookie 124 and the external cookie 322 are used as such login cookies. The built-in cookie 124 and the external cookie 322 define a unique ID value as authentication information for login authentication.
[0075] The embedded device 10 stores in advance, at the time of shipment from the factory, firmware 120 including an internal cookie 124 including an ID value that is authentication information for login authentication. When the control unit 11 receives a display instruction, it reads screen data 123 and the internal cookie 124 included in the firmware 120. Then, the control unit 11 displays a display screen based on the screen data 123 on the display unit 14 in accordance with the authentication information for login authentication included in the internal cookie 124.
[0076] More specifically, the control unit 11 sets the ID value contained in the read built-in cookie 124 in an HTTP header using the function of JavaScript constituting the read screen data 123, and transmits the HTTP header to the Web server 122. If the correct ID value is set in the HTTP header, the Web server 122 returns a response indicating that the login authentication was successful.
[0077] When the login authentication is successful in this manner, the control unit 11 displays the operation screen shown in Fig. 3 on the display unit 14. This allows a user who directly operates the embedded device 10 to operate the embedded device 10 without having to perform the login authentication operation of inputting a user name and password.
[0078] On the other hand, when a display instruction is received in the external terminal 30, the control unit 31 acquires the screen data 123 from the embedded device 10 via communication via the communication network N. Here, since the external cookie 322 does not exist at the initial startup of the external terminal 30, there is no login-authenticated authentication information. Also, unlike the first embodiment, the screen data 123 does not include a default value of the login-authenticated authentication information, which is terminal setting information.
[0079] In this way, when there is no login-authenticated authentication information, the control unit 31 sets nothing in the HTTP header and transmits it as is to the Web server 122. In this case, the Web server 122 guides the external terminal 30 to login authentication.
[0080] When the Web server 122 guides the user to login authentication, the control unit 31 displays a login authentication screen shown in Fig. 7 on the display unit 34. The user of the external terminal 30 performs login authentication by operating the operation unit 33 to input a user name and a password on the login authentication screen. In this manner, when authentication information that has already been authenticated by login does not exist in the external terminal 30, the operation unit 33 accepts a login authentication operation from the user.
[0081] When login authentication is successful based on the operation accepted by the operation unit 33, the control unit 31 displays a display screen based on the screen data 123 acquired from the embedded device 10 on the display unit 34. Specifically, the control unit 11 displays the operation screen shown in FIG.
[0082] Furthermore, if the login authentication is successful, the control unit 31 saves the unique ID value issued by the Web server 122 as login-authenticated authentication information in the external cookie 322. Because a random value is issued as the ID value, the login-authenticated authentication information contained in the external cookie 322 differs from the login-authenticated authentication information contained in the built-in cookie 124. Therefore, the login-authenticated authentication information contained in the built-in cookie 124 is not leaked outside the embedded device 10, and does not pose a security problem.
[0083] The external cookie 322 will be present when the display is performed from the next time onwards. When the external cookie 322 is present in this way, the control unit 31 displays on the display unit 14 a display screen based on the screen data 123 acquired from the embedded device 10, in accordance with the login-authenticated authentication information contained in the external cookie 322. This allows the user operating the external terminal 30 to operate the embedded device 10 without inputting a user name and password when performing login authentication from the second time onwards.
[0084] As described above, in the display system 1 according to the second embodiment, authentication information for the embedded device 10 that has already been login-authenticated is pre-embedded in the firmware 120 of the embedded device 10. This allows the user to operate the embedded device 10 without performing login authentication operations when the user physically touches the embedded device 10 to directly operate it. On the other hand, it is possible to prevent the embedded device 10 from being operated from the external terminal 30 without going through login authentication. In this way, the authentication process can be varied according to the difference in required security, thereby reducing the effort required for developing duplicate login authentication screens.
[0085] Furthermore, unlike in the first embodiment, the login-authenticated authentication information stored inside the embedded device 10 does not have its default value described in the screen data 123, and is used only inside the embedded device 10. Therefore, the login-authenticated authentication information is not leaked to the outside via the communication network N, and high security can be maintained.
[0086] (Embodiment 3) Next, a third embodiment of the present disclosure will be described. Descriptions of configurations and functions similar to those of the first and second embodiments will be omitted as appropriate.
[0087] In the above-mentioned second embodiment, the embedded device 10 stores the firmware 120 including the authentication information of the login authenticated. However, since the format of the file system image of the firmware 120 is generally well known, there is a possibility that the authentication information of the login authenticated may be known by analyzing the firmware 120 itself. As a countermeasure against this, in the third embodiment, the embedded device 10 encrypts and stores the authentication information of the login authenticated.
[0088] 8 shows a configuration of the storage unit 12 of the embedded device 10 according to the embodiment 3. In the embodiment 3, the storage unit 12 includes an encrypted area 125 and a key saving area 127. The encrypted area 125 is included in the firmware 120.
[0089] The encrypted area 125 is an area encrypted by an encryption key 128. The storage unit 12 stores the built-in browser 121, the Web server 122, the screen data 123, and the built-in cookie 124 in the encrypted area 125. In other words, in the third embodiment, the file system of the firmware 120 is created as an encrypted file system.
[0090] As a result, the login-authenticated authentication information, which is device setting information included in the built-in cookie 124, is encrypted and stored in the storage unit 12. Therefore, the login-authenticated authentication information is held in the embedded device 10 in a state that cannot be analyzed without the encryption key 128. As a result, security can be improved.
[0091] The storage unit 12 also stores startup firmware 126. The startup firmware 126 is firmware for starting up the embedded device 10. If the entire firmware 120 is encrypted, the embedded device 10 cannot be started up. Therefore, the startup firmware 126 is stored in an area other than the encrypted area 125 in the firmware 120 and is not encrypted.
[0092] Here, if the encryption key 128 is included in the startup firmware 126, there is a risk that the encryption key 128 may be read from outside by analyzing the startup firmware 126 itself. Therefore, the storage unit 12 stores the encryption key 128 in a key storage area 127 that is provided separately as a storage area for confidential data. When starting up the embedded device 10, the startup firmware 126 reads the encryption key 128 from the key storage area 127 and decrypts the data, including the built-in cookie 124, stored in the encryption area 125.
[0093] An example of the key storage area 127 is a security chip. The security chip is also called a TPM (Trusted Platform Module), and is tamper-resistant and has high security. Therefore, it is difficult to read data stored in the security chip from the outside.
[0094] Note that using a security chip as the key storage area 127 requires additional hardware costs. On the other hand, some CPUs used by the embedded device 10 have a function of securely storing confidential data as a function of the CPU without additional hardware. For example, when ARM (trademark) is used as the CPU of the embedded device 10, a function called ARM Trusted Firmware can be used. The ARM Trusted Firmware has a function of encrypting and storing data in non-volatile memory in the embedded device 10. Such non-volatile memory that encrypts and stores data may be used as the key storage area 127 to store the encryption key 128.
[0095] (Embodiment 4) Next, a second embodiment of the present disclosure will be described. Descriptions of configurations and functions similar to those of the first to third embodiments will be omitted where appropriate.
[0096] Generally, the file system used in the embedded device 10 is often a read-only file system so that software is not inadvertently changed after the embedded device 10 is shipped. For example, when Linux (registered trademark) is adopted as the operating system of the embedded device 10, SquashFS is used as the read-only file system. In this case, the device setting information included in the built-in cookie 124 cannot be changed. However, there are cases where it is desired to change the device setting information after shipment. Therefore, in the fourth embodiment, the control unit 11 updates the device setting information included in the built-in cookie 124 by using an overlay file system.
[0097] An overlay file system is a mechanism that makes it possible to handle updates to read-only files by overlaying a read / write directory tree on top of a read-only directory tree. When Linux (registered trademark) is used as the operating system of the embedded device 10, an example of the overlay file system is OverlayFS.
[0098] As shown in Fig. 9, the overlay file system exists so as to cover the read-only file system. The overlay file system is initially empty. When the built-in browser 121 requests to read a file, if the upper layer overlay file system is empty, the built-in cookie 124 existing in the lower layer read-only file system is returned as is.
[0099] When an instruction to update the device setting information is received from the user via the operation unit 13, the control unit 11 reads the built-in cookie 124 from the read-only file system in this manner. The control unit 11 then updates the device setting information contained in the read built-in cookie 124 in accordance with the operation received from the user via the operation unit 13. As a result, the control unit 11 updates the built-in cookie 124 and generates an updated built-in cookie 124a.
[0100] When saving the updated built-in cookie 124a, the control unit 11 causes the built-in browser 121 to save the updated built-in cookie 124a in the upper layer overlay file system, as shown in Fig. 10. Thereafter, when the built-in browser 121 requests to read the same file, the updated built-in cookie 124a in the upper layer overlay file system is read, not the initial built-in cookie 124 in the lower layer read-only file system. Therefore, after the built-in cookie 124 is updated to the built-in cookie 124a, the control unit 11 displays a display screen based on the screen data 123 on the display unit 34 in accordance with the device setting information included in the updated built-in cookie 124a.
[0101] If you want to reset the updated built-in cookie 124a to the factory-shipped built-in cookie 124, you can simply empty the upper-layer overlay file system. The upper-layer overlay file system may exist only in memory as a RAM disk, or it may exist in non-volatile memory. If the overlay file system is created on a RAM disk, restarting the embedded device 10 or turning off the power will erase the updated built-in cookie 124a, and the device will return to its factory-shipped state.
[0102] On the other hand, when the overlay file system is created in non-volatile memory, simply deleting the updated built-in cookie 124a will result in the initial built-in cookie 124 being treated as having been deleted while leaving the initial built-in cookie 124 in the read-only file system. Therefore, to return the overlay file system to the factory default state, a dedicated application provided in the overlay file system is used. Alternatively, before making the overlay file system available in the embedded device 10, i.e., before mounting the overlay file system, the area of the non-volatile memory used as the overlay file system can be cleared to return the overlay file system to the factory default state.
[0103] Note that the device setting information may be updated in other ways than the overlay file system. For example, a readable and writable file system may be prepared in addition to a read-only file system including the built-in browser 121, the Web server 122, and the screen data 123, and the built-in cookie 124 may be stored in the readable and writable file system. With this method, the built-in cookie 124 at the time of shipment from the factory is not protected because it is rewritten.
[0104] Also, a Web screen for setting the embedded device 10 may be prepared as one of the screen data 123. Then, the device setting information included in the built-in cookie 124 may be changed from the built-in browser 121 of the embedded device 10, but the device setting information may not be changed from the external browser 321 of the external terminal 30. For this reason, the control unit 11 may prevent the external browser 321 from displaying the Web screen for setting the embedded device 10. Alternatively, when a connection from the external browser 321 is detected, the control unit 11 may prevent the display of a portion of the Web screen for setting the embedded device 10 that corresponds to changing the settings of the built-in cookie 124. Furthermore, when changing the built-in cookie 124, the control unit 11 may display a warning that an operation abnormality will occur if the change is made carelessly.
[0105] (Modification) Although the embodiments have been described above, it is possible to combine the embodiments, or to modify or omit the embodiments as appropriate.
[0106] For example, in the above embodiment, the device setting information and terminal setting information were stored and used in the built-in cookie 124 and the external cookie 322. However, the same effect can be obtained by using local storage instead of cookies. Local storage is a mechanism introduced in HTML5, one of the Web specifications, for storing information specific to a browser in the same device as the browser.
[0107] In the above-mentioned first embodiment, the device setting information and the terminal setting information define the animation frame rate and the event thinning frequency as adjustment parameters for display output. However, the adjustment parameters for display output may be only one of these, or may be other parameters without being limited to these. Also, in the above-mentioned second embodiment, the device setting information and the terminal setting information define the login-authenticated authentication information, but may define confidential information other than the login-authenticated authentication information.
[0108] In the above embodiment, the embedded device 10 is an air conditioning controller. However, the embedded device 10 is not limited to this, and may be an electronic device such as a water heater, a rice cooker, a washing machine, a refrigerator, or a television, or may be a controller for operating these devices.
[0109] In the above-described embodiment, the control unit 11, 31 functions by the CPU executing the program stored in the storage unit 12, 32. However, the control unit 11, 31 may be dedicated hardware. The dedicated hardware is, for example, a single circuit, a composite circuit, a programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination of these. When the control unit 11, 31 is dedicated hardware, the functions of each unit may be realized by individual hardware, or the functions of each unit may be realized together by a single piece of hardware.
[0110] In addition, some of the functions of each unit may be realized by dedicated hardware, and other parts may be realized by software or firmware. In this way, the control units 11 and 31 can realize each of the above-mentioned functions by hardware, software, firmware, or a combination of these.
[0111] By applying a program that specifies the operation of each of the embedded device 10 and the external terminal 30 to an existing computer such as a personal computer or an information terminal device, it is also possible to cause the computer to function as each of the embedded device 10 and the external terminal 30.
[0112] Furthermore, such programs may be distributed in any manner, and may be distributed by storing them on a computer-readable recording medium such as a CD-ROM (Compact Disk ROM), a DVD (Digital Versatile Disk), an MO (Magneto Optical Disk), or a memory card, or may be distributed via a communications network such as the Internet.
[0113] Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. The above-described embodiments are for explaining the present disclosure and do not limit the scope of the present disclosure. That is, the scope of the present disclosure is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and the scope of the disclosure equivalent thereto are considered to be within the scope of the present disclosure. [Explanation of symbols]
[0114] 1 display system, 10 embedded device, 11 control unit, 12 memory unit, 13 operation unit, 14 display unit, 15 communication unit, 30 external terminal, 31 control unit, 32 memory unit, 33 operation unit, 34 display unit, 35 communication unit, 120 firmware, 121 built-in browser, 122 Web server, 123 screen data, 124, 124a built-in cookie, 125 encryption area, 126 startup firmware, 127 key storage area, 128 encryption key, 321 external browser, 322 external cookie, N communication network
Claims
1. A display system including an embedded device and an external terminal, The embedded device includes: a storage unit that stores firmware including screen data that defines a display screen and device setting information that has been set for the embedded device; a device-side display unit that displays the display screen determined by the screen data in accordance with the device setting information; The external terminal includes: a terminal-side communication unit that acquires the screen data through communication with the embedded device; a terminal-side display unit that displays the display screen determined by the screen data acquired by the terminal-side communication unit in accordance with terminal setting information different from the device setting information; Display system.
2. The device setting information and the terminal setting information define adjustment parameters for display output. The display system of claim 1 .
3. the adjustment parameter is a frame rate of an animation included on the display screen; the frame rate determined by the terminal setting information is higher than the frame rate determined by the device setting information; The display system of claim 2 .
4. the adjustment parameter is a frequency of events being thinned out when the display screen is enlarged, reduced, or scrolled; the thinning frequency determined by the terminal setting information is smaller than the thinning frequency determined by the device setting information; A display system according to claim 2 or 3.
5. the screen data includes default values of the terminal setting information, In the external terminal, when the terminal setting information does not exist in the external terminal, the terminal display unit displays the display screen determined by the screen data acquired by the terminal communication unit in accordance with the default value included in the screen data. A display system according to any one of claims 1 to 4.
6. The device setting information and the terminal setting information define login authenticated authentication information. The display system of claim 1 .
7. The external terminal includes: a terminal side operation unit that receives a login authentication operation from a user when the terminal setting information does not exist in the external terminal, the terminal display unit displays the display screen determined by the screen data acquired by the terminal communication unit when login authentication is successful based on the operation accepted by the terminal operation unit.
7. The display system of claim 6.
8. In the embedded device, the storage unit stores the device setting information in an encrypted area, and stores a key for decrypting the device setting information in a storage area for confidential data; A display system according to claim 6 or 7.
9. The embedded device includes: A control unit that updates the device setting information using an overlay file system. the device-side display unit displays the display screen determined by the screen data in accordance with the device setting information updated by the control unit. A display system according to any one of claims 1 to 8.
10. An embedded device communicably connected to an external terminal, a storage unit that stores firmware including screen data that defines a display screen and device setting information that has been set for the embedded device; a device side display unit that displays the display screen determined by the screen data in accordance with the device setting information; a device-side communication unit that transmits the screen data to the external terminal that displays the display screen determined by the screen data in accordance with terminal setting information different from the device setting information; Embedded devices.
Citation Information
Patent Citations
Contents server, and contents providing method by the server
JP2004064156A
Display control device, display control system and program
JP2013130964A
Image formation system, image formation apparatus and program
JP2017102675A
Apparatus, information processing terminal, information processing system, display control method, and program
JP2017146978A