Communication device and communication system
Patent Information
- Application Number
- JP2022105045
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-06-29
- Publication Date
- 2025-03-04
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Conventional vehicle control systems may not appropriately manage onboard equipment based on the driving state of the vehicle.
A communication device and system that connects multiple nodes, including onboard devices, sensors, and a server, utilizing a controller to generate and transmit control data based on vehicle information to ensure appropriate control of onboard equipment.
Enables appropriate control of onboard equipment by determining the suitability of control data based on vehicle state, preventing inappropriate control and enhancing operational safety and efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a communication device and a communication system. [Background technology]
[0002] Conventionally, there is known a method for making vehicle data accessible via a vehicle network in a manner independent of the vehicle model, manufacturer, or year of manufacture (see, for example, Patent Document 1). This type of technology also includes a technology for generating control data for an in-vehicle device using stored vehicle data and transmitting the control data to the in-vehicle device to control the in-vehicle device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2017-170267 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the conventional technology, depending on the driving state of the vehicle, a situation may occur in which the control of the in-vehicle device based on the control data is not appropriate.
[0005] The present invention has been made in view of the above, and has an object to provide a communication device and a communication system capable of appropriately controlling an in-vehicle device. [Means for solving the problem]
[0006] In order to solve the above problems and achieve the object, a communication device according to the present invention is a communication device to which a plurality of nodes can be connected, and includes a controller. The controller controls an in-vehicle device by transmitting control data to the in-vehicle device, the control data being generated based on data acquired from the connected nodes. The controller determines whether or not to control the in-vehicle device using the control data, based on vehicle information indicating a state of the vehicle. Effect of the Invention
[0007] According to the present invention, the vehicle-mounted device can be appropriately controlled. [Brief description of the drawings]
[0008] [Figure 1A] FIG. 1A is a diagram showing an overview of a communication system according to an embodiment. [Figure 1B] FIG. 1B is an explanatory diagram illustrating a control feasibility determination function of the controller according to the embodiment. [Diagram 2] FIG. 2 is a block diagram illustrating a functional configuration of the communication device according to the embodiment. [Diagram 3] FIG. 3 is a flowchart illustrating a processing procedure executed by the communication device according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, embodiments of a communication device and a communication system disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments described below.
[0010] First, an overview of a communication system according to an embodiment will be described with reference to Fig. 1A. Fig. 1A is a conceptual diagram showing an overview of a communication system according to an embodiment. In Fig. 1A, components (compositional expressions) and functional elements (functional expressions) are appropriately mixed together in order to make the overall operation of the communication system easier to understand.
[0011] As shown in FIG. 1A, the communication system S includes a communication device 1, a plurality of nodes 10, and a server device 50. The communication device 1 and the plurality of nodes 10 are connected to a network such as a vehicle communication network CAN (Controller Area Network) or Wi-Fi (registered trademark) via a central gateway (hereinafter, CGW) 20 or without the CGW 20, and are capable of communicating with each other and transmitting and receiving various information. The nodes 10 connected via the CGW 20 are various devices with high security, such as a drive system device related to vehicle driving control, and mobile devices such as a smartphone owned by a user are often connected to the communication device 1 without the CGW 20. The communication device 1 and the server device 50 are connected to a network such as the Internet, and transmit and receive various information.
[0012] The node 10 is connected to the communication device 1 to transmit or receive various data, and includes various devices that independently realize certain functions (using data from the communication device 1 or providing data to the communication device 1), various sensors that provide measurement data to the communication device 1, output devices such as display devices and speaker devices that notify (display, etc.) data from the communication device 1, and input devices such as a touch panel that provides data indicating the content of user operations to the communication device 1.
[0013] The nodes 10 include on-board devices mounted on a vehicle. The on-board devices may be devices brought into the vehicle by a passenger or placed in close proximity to the vehicle (located around the vehicle) and communicatively connected to the communication device 1, devices installed during vehicle manufacture, or devices newly installed by a user or the like after the vehicle is manufactured or sold. The scale of each node 10 differs depending on the structure of the vehicle, but examples of the various devices (nodes 10) installed during vehicle manufacture include an engine control device, a steering device, a braking device, a power window device, and an air conditioning device.
[0014] In addition, devices (nodes 10) newly installed by users, etc. include, for example, navigation devices, drive recorder devices, audio-visual devices, etc. In addition, devices (nodes 10) brought into the vehicle (or brought into close proximity) by passengers include smartphones, mobile phones, smart watches, game consoles (with communication functions), desktop PCs, notebook PCs, tablet PCs, etc.
[0015] In addition, the various sensors (other than those built into the various devices) include, for example, a humidity sensor (for checking the environment inside the vehicle), a rainfall sensor, etc. And, the output device includes, for example, a centralized operation panel, a rear seat display, etc.
[0016] Although the devices are classified into examples of devices that are installed during vehicle manufacture, examples of devices that are additionally installed, and examples of devices that are brought into the vehicle, the devices exemplified are not limited to these classifications and may belong to other classifications. For example, a navigation device may be installed during vehicle manufacture. Furthermore, various devices of other vehicles and infrastructure equipment such as traffic lights may also be nodes 10 as long as they are capable of communicating with the communication device 1.
[0017] Furthermore, a specific node 10 includes, as components, various sensors necessary for realizing various functions of the node 10. The various sensors included in the node 10 include, for example, a vehicle speed sensor, a vital sensor, a temperature sensor for detecting the temperature in the vehicle cabin, a CO2 sensor for detecting the CO2 concentration in the vehicle cabin, a GPS (Global Positioning System) position sensor for detecting the position of the vehicle, a rainfall sensor (raindrop sensor) for detecting rainfall, etc. The vital sensor is a sensor for acquiring biological information, such as an electroencephalogram sensor for detecting electroencephalograms, and a pulse sensor for detecting pulse.
[0018] Moreover, the node 10 that independently realizes a certain function includes an ECU (Electronic Control Unit), a so-called controller, as a component. The ECU controls the operation of the node 10 (device) in which the ECU is installed. The ECU is, for example, a power train ECU, a driving assistance system ECU, a multimedia system ECU, or an air conditioner ECU.
[0019] The server device 50 stores various applications (hereinafter, apps), which are programs that realize various functions, and provides appropriate apps to the communication device 1. In other words, the server device 50 is an application program providing device. These apps are apps that use data output by the various nodes 10, for example, data from sensors built into the nodes 10. Each app is associated with a data type required to use the app, a data type output by the app (control data, command data (so-called commands), etc.), and permission condition information data, which will be described later, and is stored in the server device 50 as an app DB 52.
[0020] Furthermore, the server device 50 stores a database in which the types (identification information) of the nodes 10, the types of sensors (measurement data) possessed by the nodes 10, and the types of data (control data, command data (so-called commands), etc.) from the outside that the nodes 10 can use are associated with each other as a node information DB 54. That is, the server device 50 can select an appropriate application for a combination of nodes 10 based on the combination of the nodes 10 using the node information DB 54 and the application DB 52.
[0021] The communication device 1 is mounted on a vehicle and transmits and receives various data to and from the node 10 and the server device 50, processes the data, etc. The communication device 1 includes a communication unit 2, a container 421, a bulletin board 41, and a controller 3.
[0022] The communication unit 2 performs data communication between the communication device 1 and the server device 50, and data communication between the communication device 1 and each node 10. The container 421 stores an application and is configured from a writable and erasable memory. Each container 421 is configured by appropriately dividing a memory area, and each container 421 stores one application.
[0023] Bulletin board 41 is configured with a memory and stores sensor measurement values and processed data from each node 10. Furthermore, bulletin board 41 can be accessed by node 10, allowing node 10 to write sensor measurement values therein and for node 10 to read and use data stored in bulletin board 41.
[0024] The container 421 and the bulletin board 41 are configured with a non-volatile memory (flash memory, or with a backup power supply, etc.) so that stored data is retained even when the communication device 1 is turned off.
[0025] The controller 3 is a controller that performs various controls of the communication device 1, such as control of the communication unit 2, the container 421, the bulletin board 41, etc., data processing, transmission / reception, and writing / erasing of data, and is configured with a microcomputer, etc. The controller 3 also has a function of a container engine that executes an application stored in the container 421.
[0026] The communication device 1 distributes data to the node 10 and a container engine (described later) that executes an application, for example, by using MQTT (Message Queuing Telemetry Transport) based on the Publish / Subscribe method (the node 10 and the container engine access the bulletin board 41 to obtain the data). Specifically, in the communication system S, the communication device 1, which is a provider, obtains data from the node 10, which is a publisher, and distributes the data to the container engine that executes the application and the node 10, which are subscribers.
[0027] The application uses the data acquired from the node 10 to perform processes related to various controls in the node 10 mounted on a vehicle, for example. That is, the application generates control data for controlling the node 10 such as an in-vehicle device by importing and using the data posted on the bulletin board 41, and transmits the control data to the node 10 to be controlled via the communication unit 2, thereby controlling the target node 10.
[0028] Such an application enables the node 10 to realize more advanced or other functions using the measured values of sensors possessed by other nodes 10 (sensors that the node 10 does not possess). For example, an air conditioner, which is the node 10, can perform optimal air conditioner control using the vehicle interior temperature measured by its own vehicle interior temperature sensor as well as the vehicle interior humidity measured by the vehicle interior humidity sensor of the other node 10. Such control is executed by a corresponding application stored in the container 421 to control the node 10 (the air conditioner in this example). Also, if the node 10 (e.g., the air conditioner) has a corresponding function, the air conditioner (e.g., the air conditioner) can read the data on the bulletin board 41 and perform the control.
[0029] Furthermore, the application is appropriately selected and acquired from the server device 50 according to the node 10 connected to the communication device 1. Specifically, identification information of each node 10 connected to the communication device 1 is transmitted to the server device 50. The server device 50 performs a matching process of the node information DB 54 using the received identification information of each node 10, and grasps the data type (content) that the communication device 1 can acquire from each node 10. The server device 50 then performs a matching process of the application DB using the grasped data type (content), selects an appropriate application that the communication device 1 can use, and provides (transmits) it to the communication device 1. The communication device 1 then stores the provided (received) application in the container 421 and uses it (the container engine executes the application).
[0030] The above is an overview of the basic configuration and functions of the communication system S (communication device 1), and next, we will explain the characteristic functions of the controller 3 and the bulletin board 41 in the communication device 1. Note that the detailed configuration of the communication device 1 will be explained later using FIG. 2, etc.
[0031] The container engine (realized by the processing of the controller 3) executes an application stored in a container of the communication device 1. Specifically, when the container engine receives an application execution request from a node 10, it executes the application corresponding to the node 10. Then, as the container engine executes the application, it retrieves data necessary for the processing performed by the application from the bulletin board 41. Then, the container engine outputs control data generated as a result of the execution of the application to the node 10 to be controlled.
[0032] Bulletin board 41 is configured with a storage area allocated to storage unit 4 of communication device 1, and stores data acquired from each node 10. Specifically, communication device 1 posts (stores) the data acquired from each node 10 on bulletin board 41 either as is or after converting the data into a format that can be used by each node 10 other than the acquisition source (node 10 that requires the data). More specifically, communication device 1 unifies the data standard so that the data acquired from nodes 10 can be used by each node 10, and posts (stores) the data on bulletin board 41.
[0033] The data stored on the bulletin board 41 is classified into each TOPIC corresponding to the type of data. For example, the location information (GPS) data obtained from each of the different nodes 10 is classified into a TOPIC for location information, and the heart rate (HeartRate) data obtained from each of the different nodes 10 is classified into a TOPIC for heart rate.
[0034] As described above, when an application execution request is made from node 10, the data stored in bulletin board 41 is delivered to the container engine (accessed by the container engine) and used in association with the application execution by the container engine. Also, the data stored in bulletin board 41 is delivered to node 10 (accessed by node 10) and used in association with the execution of an application held by node 10.
[0035] The control feasibility determination function (realized by the processing of the controller 3) determines whether or not to control the on-board device to be controlled (node 10) by the control data generated by the application execution of the container engine, based on the vehicle information indicating the state of the vehicle. Specifically, the control feasibility determination function determines whether or not to transmit the generated control data to the on-board device.
[0036] Here, the control feasibility determination function will be described with reference to Fig. 1B. Fig. 1B is an explanatory diagram for explaining the control feasibility determination function of the controller 3 according to the embodiment. Fig. 1B shows an example in which control data is generated to instruct a power window device of a vehicle to control the power window to open the power window.
[0037] As shown in FIG. 1B, when the controller 3 generates the control data, it compares vehicle information indicating the state of the vehicle with the permission condition information registered in the permission condition DB. The vehicle information is, for example, data acquired from the bulletin board 41. The permission condition DB is a database including permission condition information for each content of the control data. When a new application is added to the communication device 1, each data in the permission condition DB is updated by the permission condition information related to the newly added application provided by the server device 50 in addition to the newly added application. Note that each data in the permission condition DB is registered by the application developer or the like as information associated with the registered application when the application is registered in the server 50 (application DB 52).
[0038] Then, when the state of the vehicle satisfies the permission conditions, the controller 3 determines to permit control of the in-vehicle device using the control data generated by the application execution, and transmits the control data to the node 10 to be controlled (permits transmission).
[0039] Specifically, in the example shown in FIG. 1B, when the control data "power window: OPEN" is generated, the controller 3 retrieves the permission condition information corresponding to "power window: OPEN" from the permission condition DB, "vehicle speed condition: 40 Km" and "weather: cloudy", "permitted" corresponding to the permission condition information. The controller 3 also retrieves the vehicle information corresponding to the permission condition information, "vehicle speed condition: 40 Km" and "weather: cloudy", from the bulletin board 41, and compares this information with the permission condition information. In this case, the vehicle state "vehicle speed condition: 40 Km" and "weather: cloudy" satisfy the permission conditions "vehicle speed condition: 60 Km" and "weather: permitted if sunny or cloudy", so the controller 3 determines that "power window: OPEN" may be performed, and transmits the information (command signal) of "power window: OPEN" to the power window device via the CGW 20.
[0040] If at least one of the vehicle information data does not satisfy the conditions in the permission condition information, the controller 3 does not transmit the control data, i.e., prohibits the control. Depending on the control data, there are various conditions suitable for the control data, such as prohibiting the control when at least one of the vehicle information data satisfies the conditions in the permission condition information, and therefore the permission condition DB stores various conditions (including the combination method of various conditions) according to the control data.
[0041] Specifically, in the example of Figure 1B, if the weather data in the vehicle information is rain, the vehicle state does not satisfy the weather condition in the permission condition information ("Weather: Sunny"), so the controller 3 prohibits the transmission of the control data "Power window: OPEN" to the power window device, that is, prohibits the control of "Power window: OPEN".
[0042] In this way, the communication device 1 according to the embodiment determines whether to control the control target node 10 (vehicle-mounted device) using the generated control data based on the vehicle information, thereby making it possible to avoid control of the vehicle-mounted device that is not suitable for the vehicle state. Therefore, the communication device 1 according to the embodiment can perform appropriate control of the vehicle-mounted device according to the vehicle state.
[0043] Next, a configuration example of the communication device 1 according to the embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing a functional configuration of the communication device 1 according to the embodiment. As shown in Fig. 2, the communication device 1 includes a communication unit 2, a controller 3, and a storage unit 4. The controller 3 includes an acquisition unit 31, a conversion unit 32, a container engine 33, and a permission unit 34. The storage unit 4 includes a bulletin board 41, a container unit 42, and a permission condition DB 43.
[0044] The communication unit 2 has the above-mentioned communication function, and communicably connects each node 10 to the communication device 1. The communication unit 2 is realized by, for example, a wired system such as CAN, Ethernet (registered trademark), LIN (Local Interconnect Network), or USB (Universal Serial Bus), or a wireless system such as Wi-Fi, LTE (Long Term Evolution), BLE (Bluetooth (registered trademark) Low Energy), Zigbee (registered trademark), or UWB (Ultra-Wide Band), and communicates with each node 10 by wire or wirelessly.
[0045] The controller 3 is configured by, for example, a computer having a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), a flash memory, an input / output port, and various other circuits.
[0046] The CPU of the computer functions as an acquisition unit 31, a conversion unit 32, a container engine 33, and a permission unit 34 of the controller 3 by reading and executing the programs stored in the ROM.
[0047] In addition, at least one or all of the acquisition unit 31, conversion unit 32, container engine 33 and permission unit 34 of the controller 3 can be configured with hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), and further, the functions can be shared among multiple CPUs, ASICs, etc. (for example, the container engine 33 can be configured with a separate CPU).
[0048] The storage unit 4 is composed of a RAM or a flash memory. In the storage unit 4, a bulletin board 41, a container unit 42, a permission condition DB 43, and a storage unit for various programs are formed by setting appropriate storage areas, and various information such as measurement data from various sensors of each node 10, various programs such as apps, etc. The communication device 1 may acquire the above-mentioned programs and various information via other computers, servers, or portable recording media connected via a wired or wireless network.
[0049] The bulletin board 41 posts (stores) data acquired from the nodes 10. In addition, the controller 3 appropriately controls access to the bulletin board 41 so that each node 10, the container engine 33, and the permission unit 34 can register, update, and read data.
[0050] The container unit 42 is configured as a storage area allocated to the storage unit 4, and includes a plurality of containers 421 in which applications can be installed (stored). Each container 421 is configured to store one application. That is, the number of applications that can be installed is the same as the number of configured containers 421. The applications are acquired from an external device (such as an external server for providing applications (server device 50 shown in FIG. 1A) (not shown)) and set (stored) in an empty container 421 (empty container). An application that is no longer needed is deleted from the container 421, and the container 421 becomes an empty container. An application may be deleted from the container 421 every time it becomes unnecessary, or, if the container 421 has room (if there is another empty container), the unnecessary application may be deleted when an empty container is needed to install a new application.
[0051] The permission condition DB 43 stores permission condition information indicating permission conditions for determining whether or not to permit control of the node 10 by control data generated by execution of an application installed in the container 421. When an application is installed in the container 421, the permission condition information is acquired from an external device (server device 50) that is an installation source together with the application, and is stored in the permission condition DB 43. That is, the permission condition information is provided from the external device that is an installation source together with the application program, the application (program) is stored in the container 421, and the permission condition information is stored in the permission condition DB 43. It is also possible to apply a configuration in which the permission condition DB 43 is provided in the container 421, that is, a configuration in which the application program and the permission condition information of the application are stored separably in the container 421 (the program and the permission condition information are stored with delimiter data between them, and the information to be used is separated and extracted when the application is used). It is also possible to apply a configuration in which the permission condition DB 43 is provided in the container 421, that is, a configuration in which the program of the application and the permission condition information of the application are stored separably in the container 421 (the program and the permission condition information are stored with delimiter data between them, and the information to be used is separated and extracted when the application is used). It is to be noted that, in the case of the permission condition information relating to the control of the node 10 to be installed in a vehicle, the permission condition information can be stored in the permission condition DB 43 by the work of an operator when installing the vehicle.
[0052] Next, the controller 3 (the acquisition unit 31, the conversion unit 32, the container engine 33, and the permission unit 34) will be described in detail.
[0053] The acquisition unit 31 acquires various pieces of information from various external devices via the communication unit 2. Specifically, the acquisition unit 31 acquires data from a node 10 connected to the communication device 1 by various networks via the communication unit 2. For example, the acquisition unit 31 acquires sensor data detected by a sensor included in the node 10.
[0054] The acquisition unit 31 also acquires an installation instruction to install an application in the container 421 from a terminal device (an input operation device (e.g., a touch panel) of the communication device 1, or a node 10 having an operation input function to the communication device 1 (e.g., a mobile terminal (e.g., a smartphone) of the user communicatively connected to the communication device 1)) based on an application installation operation input to the terminal device. The acquisition unit 31 also acquires an update instruction to update an application stored in the container 421 from the user's terminal device or the like. When a new node 10 is connected to the communication device 1, the acquisition unit 31 also acquires information about the node 10 from the node 10, such as type information about the node 10, communication connection information for communication connection with the node 10, sensor information about a sensor of the node 10, and the like.
[0055] The acquisition unit 31 acquires an application to be installed from an external device (server device 50) and stores the application in the container 421. Specifically, when the acquisition unit 31 acquires an installation instruction or when a new node 10 is connected, the acquisition unit 31 transmits information about the node 10 connected to the external device that provides the application. Then, the acquisition unit 31 acquires the application provided from the external device according to the connected node 10 and stores the application in the container 421. Note that the acquisition unit 31 may select an application to be installed (stored in the container 421) from the applications acquired by the acquisition unit 31 through a user's selection operation. Alternatively, the acquisition unit 31 selects an application to be installed based on a user's selection operation from an appropriate application list transmitted from the external device before the application is provided, and transmits information about the selected application to the external device. Then, a method in which the acquisition unit 31 installs (stores in the container 421) the application provided (transmitted) from the external device in response to this is also applicable.
[0056] Furthermore, the acquisition unit 31 acquires an update program for an application to be upgraded based on an input operation by a user or upgrade information for the application from an external device or the like, and updates the application stored in the container 421 (update process).
[0057] Furthermore, when installing an application from an external device, the acquisition unit 31 acquires, from the external device, permission condition information indicating permission conditions for control data generated by the application, and stores the permission condition information in the permission condition DB 43 of the storage unit 4. Furthermore, when updating an application, the acquisition unit 31 acquires update information for the permission condition information from the external device, and updates the corresponding permission condition information stored in the permission condition DB 43 of the storage unit 4. Note that the acquisition unit 31 may acquire the permission condition information directly from the node 10 (when the node 10 stores permission condition information related to its own control).
[0058] The acquiring unit 31 also acquires authentication information for authenticating the node 10 from the communicatively connected (communicatively capable) node 10, such as information on the device type of the node 10, an identification number, a communication method, and a code required for communication. When authentication is required, for example, when the communication device 1 is powered on or a new node 10 is connected to the communication device 1, the acquiring unit 31 acquires authentication information from each node 10 connected to the communication device 1.
[0059] The conversion unit 32 converts the data acquired by the acquisition unit 31 from the node 10 into a format usable by each node 10 other than the node 10 from which the data was acquired. Specifically, the conversion unit 32 converts the acquired data so as to unify the standards (data identification name, format, etc.) of the data.
[0060] The container engine 33 acquires, as necessary, the applications stored in the container 421 and various data stored in the bulletin board 41, and executes them to perform processing for implementing various functions.
[0061] Specifically, first, the container engine 33 executes an application and selects and imports data necessary for executing the application (necessary for generating control data) from the data posted on the bulletin board 41. Then, the container engine 33 uses the imported data to perform various processes of the application, and generates control data for generating the node 10 as a result of the processes.
[0062] Then, when control using the control data is permitted by the permission unit 34 at the subsequent stage, the container engine 33 controls the node 10 by transmitting the generated control data to the target node 10 .
[0063] Furthermore, the container engine 33 performs a process of deleting unnecessary applications from the container 421. Note that unnecessary applications are, for example, applications for which the node 10 that outputs the processing result no longer exists (becomes disconnected from the communication device 1), applications for which the node 10 that provides data required for processing no longer exists (becomes disconnected from the communication device 1), etc.
[0064] The permission unit 34 determines whether or not to allow the control data to control the in-vehicle device based on the vehicle information indicating the state of the vehicle. Specifically, the permission unit 34 reads, from the permission condition DB 43, permission condition information corresponding to the control data to be determined, i.e., the control data generated by the execution of the application, and obtains from the bulletin board 41 vehicle information corresponding to the condition items of the permission condition information.
[0065] Next, the permission unit 34 compares the acquired vehicle information with the conditions (permission conditions) in the permission condition information, and determines whether or not the vehicle information (vehicle state) satisfies the permission conditions. If the permission unit 34 determines that the vehicle information (vehicle state) satisfies the permission conditions, the permission unit 34 permits the container engine 33 to control the on-board device based on the control data generated by the application execution. In other words, the permission unit 34 permits the control data generated by the application execution to be transmitted to the on-board device, that is, the controller 3 executes the transmission of the control data generated by the application execution to the on-board device.
[0066] On the other hand, when the permission unit 34 determines that the vehicle information does not satisfy the permission conditions, it prohibits the container engine 33 from controlling the in-vehicle device based on the control data generated by the application execution. In other words, the permission unit 34 prohibits the control data generated by the application execution from being transmitted to the in-vehicle device, that is, the controller 3 stops transmitting the control data to the in-vehicle device. As a result, when the vehicle state is not suitable for control based on the control data generated by the application execution, the in-vehicle device does not perform control based on the control data.
[0067] Furthermore, the permission unit 34 issues an alert to the vehicle occupants when the vehicle information is determined not to satisfy the permission conditions for a predetermined number of times or more in succession. Specifically, the permission unit 34 increments the NG counter each time it determines that the vehicle information does not satisfy the permission conditions (resets (clears) the NG counter when the permission conditions are satisfied), and issues the above-mentioned alert when the NG count (value of the NG counter) reaches a predetermined value or more. Note that an NG counter is provided for each application (for each control data generated), and the above-mentioned counting process is performed by the NG counter corresponding to the application from that time onward.
[0068] This allows the passenger to be notified by alerts of abnormal conditions in the vehicle or app, for example, when an abnormality (or a sign of an abnormality) has occurred in the vehicle and the vehicle condition is different from normal (notification of the need for vehicle maintenance), when the state of various settings in the vehicle (settings made by the user) is not suitable for control based on the control data generated by executing the app (notification of the need to change vehicle settings), or when an abnormality has occurred in the installation status app due to external noise, etc. (notification of the need to reinstall the app, etc.).
[0069] Furthermore, if the vehicle information is determined not to satisfy the permission condition a predetermined number of times or more in succession, the permission unit 34 notifies the container engine 33 of an instruction to prohibit execution of the application that generated the control data. In other words, the permission unit 34 prohibits the application from generating the target control data. This makes it possible to prevent unnecessary application execution and reduce the processing load on the controller.
[0070] Next, the processing procedure of the processing executed by the communication device 1 (controller 3) according to the embodiment will be described with reference to Fig. 3. Fig. 3 is a flowchart showing the processing procedure of the processing executed by the communication device 1 according to the embodiment, in which (A) shows a common basic process (not a process based on each application, but a process based on a different basic processing program), and (B) shows a control data generation process of each application (a portion common to each application). First, the basic process shown in Fig. 3(A) will be described. Note that the basic process shown in Fig. 3(A) is repeatedly executed when the communication device 1 is operating (when the power is on).
[0071] Specifically, first, the controller 3 acquires various data from each node 10 etc. (step S101). Next, the controller 3 converts the acquired various data into a format that can be used by each application, and posts the data on the bulletin board 41 (updates the corresponding data on the bulletin board 41) (step S102).
[0072] Next, the controller 3 determines whether there is control data generated by a separately executed application and to be transmitted to the corresponding vehicle-mounted device (determines whether there is a request from the application to transmit control data to the target vehicle-mounted device) (step S103). If there is such control data (step S103: Yes), the controller 3 proceeds to step S104; if there is not (step S103: No), the controller 3 ends the processing.
[0073] Next, the controller 3 acquires permission condition information corresponding to the control data from the permission condition DB 43, and vehicle information on the vehicle situation specified by the permission condition information from the bulletin board 41 or each node 10 (various sensors) (step S104).
[0074] Next, the controller 3 compares the acquired vehicle information with the conditions (permission conditions) in the permission condition information to determine whether the vehicle information satisfies the permission conditions (step S105). If the vehicle information satisfies the permission conditions (step S105: Yes), the controller 3 transmits the generated control data to the target vehicle-mounted device (step S106).
[0075] Next, the controller 3 resets the NG counter (step S107) and ends the process.
[0076] On the other hand, in step S105, if the vehicle information does not satisfy the permission condition (step S105: No), the controller 3 counts up the NG counter (step S108).
[0077] Next, the controller 3 judges whether the count value of the NG counter after the increment is equal to or greater than the threshold value (step S109), and if the count value of the NG counter is equal to or greater than the threshold value (step S109: Yes), it notifies the passenger of an alert (step S110) and ends the process. On the other hand, if the count value of the NG counter is less than the threshold value (step S109: No), the controller 3 ends the process.
[0078] Next, the control data generation process of each application shown in Fig. 3(B) will be described. Note that the control data generation process shown in Fig. 3(B) is executed when a user performs a control data generation operation or when the vehicle state satisfies a control data generation start condition.
[0079] Specifically, first, the controller 3 (container engine 33) acquires various data necessary for processing the application to be executed from the bulletin board 41 (step S201). Next, the controller 3 (container engine 33) generates control data for the target vehicle-mounted device based on the acquired various data (step S202). Then, the controller 3 requests (to the permission unit 35) to transmit the generated control data to the target vehicle-mounted device (step S203), and ends the process.
[0080] As described above, the communication device 1 according to the embodiment is a communication device 1 to which a plurality of nodes 10 can be connected, and includes the controller 3. The controller 3 controls the in-vehicle device by transmitting control data for the in-vehicle device, which is generated based on data acquired from the connected node 10, to the in-vehicle device. The controller 3 determines whether or not to control the in-vehicle device using the control data, based on vehicle information indicating the state of the vehicle.
[0081] As a result, if the current state of the vehicle is not suitable for controlling the on-board device based on the control data generated as described above, control based on that control data will not be performed, meaning that only appropriate control will be performed, allowing the on-board device to be controlled appropriately.
[0082] Further advantages and modifications may readily occur to those skilled in the art. Thus, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described above. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and equivalents thereof. [Explanation of symbols]
[0083] 1. Communications equipment 2. Communications Department 3. Controller 4 Storage section 10 nodes 31 Acquisition Department 32 Conversion section 33 Container Engine 34 Permit Department 41 Bulletin Board 42 Container Section 43 Permission condition DB 50 Server equipment 421 Container S Communication System
Claims
1. A communication device mounted on a vehicle that controls whether or not control data generated by an application that controls an operation of an on-vehicle device is transmitted to the on-vehicle device, the communication device having a controller: The controller: obtaining vehicle status information associated with the control data; referring to an operation permission condition database, when the vehicle state information satisfies an operation permission condition of the vehicle-mounted device, permitting transmission of the control data to the vehicle-mounted device, and when the operation permission condition is not satisfied, prohibiting transmission of the control data to the vehicle-mounted device; Communications equipment.
2. The vehicle condition information includes vehicle speed information and weather information of the vehicle. The communication device according to claim 1 .
3. The controller: when the number of times that the transmission of the control data to the vehicle-mounted device is prohibited reaches or exceeds a preset number of times, notifying an occupant of the vehicle of an alert. The communication device according to claim 1 .
4. The controller: prohibiting the application from generating the control data when the number of times the transmission of the control data to the vehicle-mounted device has been prohibited reaches or exceeds a preset number of times. The communication device according to claim 1 .