Agricultural machinery control method, control device, electronic device and storage medium
By real-time monitoring of the grass compaction density and adjusting the solenoid valve opening, combined with vehicle speed control signals and a two-way authentication mechanism, the problems of insufficient vehicle speed control and insufficient communication security in the joint operation of tractors and implements are solved, achieving the stability of straw bale density and improving operating efficiency.
Patent Information
- Application Number
- CN202510804496.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-17
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-06-17
AI Technical Summary
The existing tractor and implement joint operation lacks real-time adjustment of vehicle speed control, resulting in a high risk of grass blockage and low efficiency. In addition, the communication security is insufficient, and there is a security risk of unauthorized device access.
By real-time monitoring of the actual compaction density of the forage, adjusting the opening of the solenoid valve to control the actual pressure value of the forage, and generating a vehicle speed control signal to adjust the tractor speed, a two-way authentication and encryption mechanism is implemented between the tractor and the implement to ensure communication security.
It achieves the stability of bale density and improves operating efficiency, solves the problems of uneven density and low efficiency caused by fluctuations in grass input in traditional equipment, and ensures operational safety and data integrity.
Smart Images

Figure CN120315360B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of agricultural machinery, and in particular to an agricultural machinery control method, a control device, an electronic device and a storage medium. Background Art
[0002] Currently, tractors often operate in conjunction with supporting equipment, requiring mutual control during operation. For example, when using large square bales, the vehicle speed must be adjusted according to the amount of forage to be fed, and emergency stops must be made in the event of a grass blockage. However, direct communication between tractors and equipment is currently not possible. Alternatively, data transmission relies solely on the ISOBUS protocol (ISO 11783 - Agricultural and Forestry Tractors and Machinery - Control and Communication Data Network), which does not enable the equipment to control the tractor.
[0003] The existing technical solutions have the following problems: First, the traditional vehicle speed control method uses a preset fixed speed and cannot be adjusted in real time according to the feed amount, resulting in a high risk of grass blockage in the pre-compression chamber and low efficiency; second, under the one-way control mechanism, the machine can only send simple instructions to the tractor, lacks two-way authentication, and there are security risks such as unauthorized device access. Summary of the Invention
[0004] In view of this, the purpose of the present application is to provide an agricultural machinery control method, a control device, an electronic device and a storage medium to overcome at least one of the above-mentioned defects.
[0005] In a first aspect, an embodiment of the present application provides an agricultural machinery control method, the method comprising: receiving a target compaction density corresponding to grass during baling from a tractor; calculating a target pressure value of the grass during baling based on the target compaction density and grass parameters corresponding to the type of grass to be baled; obtaining an actual compaction density of the grass during baling, and determining an actual pressure value based on the actual compaction density; adjusting the opening of a solenoid valve based on the actual pressure value and the target pressure value to change the actual pressure value applied to the grass during baling; when it is detected that the actual pressure value reaches a pressure limit and the opening of the solenoid valve still needs to be adjusted, generating and sending a vehicle speed control signal to the tractor based on the actual pressure value and the target pressure value to control the tractor to adjust the speed and adjust the amount of grass fed.
[0006] In an optional embodiment of the present application, the vehicle speed control signal includes a first vehicle speed control signal and a second vehicle speed control signal, wherein the vehicle speed control signal is determined in the following manner: when it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, it is judged whether the actual pressure value is greater than the target pressure value; if the actual pressure value is greater than the target pressure value, a first vehicle speed control signal is sent to the tractor to control the tractor to decelerate and reduce the amount of grass fed into the machine; if the actual pressure value is less than the target pressure value, a second vehicle speed control signal is sent to the tractor to control the tractor to accelerate and increase the amount of grass fed into the machine.
[0007] In an optional embodiment of the present application, the solenoid valve opening is adjusted according to the actual pressure value and the target pressure value to change the actual pressure value applied when the hay is baled, including: judging whether the actual pressure value is greater than the target pressure value; if the actual pressure value is greater than the target pressure value, the solenoid valve opening is controlled to increase to control the hydraulic oil flow in the density cylinder to increase, push the compacting plate in the piston chamber, and increase the pressure applied to the hay, the solenoid valve is connected to the oil inlet and oil return port of the density cylinder through an oil pipe to control the inlet and outlet of the hydraulic oil, the piston rod of the density cylinder extends into the piston chamber and is connected to the compacting plate to push the compacting plate to move, the hay is placed in the piston chamber, and the compacting plate applies pressure on the hay when it moves in the piston chamber; if the actual pressure value is not greater than the target pressure value, the solenoid valve opening is controlled to decrease to control the hydraulic oil flow in the density cylinder to decrease, not push the compacting plate in the piston chamber, and reduce the pressure applied to the hay.
[0008] In an optional embodiment of the present application, the method further includes: when the tractor and the implement are started, sending first version information to the tractor, receiving second version information fed back by the tractor, and establishing a connection with the tractor according to the version number corresponding to the second version information; after receiving the authorization signal, using a digital certificate and an encryption mechanism to perform two-way authentication of the tractor and the implement to connect the authorized tractor equipment to the implement.
[0009] In an optional embodiment of the present application, the method further includes: after the implement establishes a connection with the tractor, sending a tractor speed control function signal to the tractor, and receiving a feedback signal from the tractor, wherein the tractor speed control function signal is used to indicate that the implement sends a function allocation message to the tractor, requesting exclusive use of the tractor speed control function; when it is detected that the feedback signal indicates an authorization signal from the tractor for the implement to exclusively use the tractor speed, sending a speed control signal to the tractor to control the tractor speed adjustment.
[0010] In an optional embodiment of the present application, bidirectional authentication is performed in the following manner: after the implement establishes a connection with the tractor, a status bit is sent to the tractor, the status bit being used to characterize a first authentication type of the implement; status information of the tractor is received, and a second authentication type of the tractor is determined; a target authentication type is determined based on the first authentication type and the second authentication type; when it is detected that the target authentication type indicates lightweight authentication, a first random challenge code is generated, a second random challenge code generated by the tractor is received, a shared key is generated, and a first implement response value is calculated based on the second random challenge code and the shared key; the first implement response value is sent to the tractor, and a first authentication result is received, the first authentication result is determined by the tractor based on the first tractor response value and the first implement response value, and the first tractor response value is generated based on the shared key and the first random challenge code.
[0011] In an optional embodiment of the present application, the method further includes: when detecting that the target authentication type indicates full authentication, sending a certificate request to the tractor and obtaining the tractor's digital certificate; determining whether the tractor meets certificate authentication conditions, the authentication conditions being used to indicate that the received digital certificate does not exist in a local certificate revocation list, that the certificate chain is valid, that the certificate category identifier in the digital certificate is consistent with a preset certificate category identifier, and that the field conveying information is consistent with the corresponding field in the tractor's production certificate; if the tractor does not meet the certificate authentication conditions, sending an authentication failure signal to the tractor; if the tractor meets the certificate authentication conditions, sending a certificate authentication success signal to the tractor, generating a first random challenge code, and receiving a second random challenge code generated by the tractor; generating a shared key based on the first random challenge code and the second random challenge code; splitting the shared key into a first independent key and a second independent key, sending the first independent key to the tractor, and receiving the second independent key sent by the tractor; calculating a second implement response value based on the second random challenge code and the second independent key; sending the second implement response value to the tractor, and receiving a second authentication result, the second authentication result being determined by the tractor based on the second tractor response value and the second implement response value, the second tractor response value being generated based on the first independent key and the first random challenge code.
[0012] In a second aspect, an embodiment of the present application further provides an agricultural machinery control device, which includes: a target compaction density receiving module for receiving a target compaction density corresponding to grass during baling from a tractor; a target pressure value calculation module for calculating a target pressure value of grass during baling based on the target compaction density and grass parameters corresponding to the type of grass to be baled; an actual pressure value determination module for obtaining the actual compaction density of grass during baling and determining the actual pressure value based on the actual compaction density; an adjustment module for adjusting the solenoid valve opening according to the actual pressure value and the target pressure value to change the actual pressure value applied to the grass during baling; a vehicle speed control signal sending module for generating and sending a vehicle speed control signal to the tractor based on the actual pressure value and the target pressure value when it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, so as to control the tractor to adjust the speed and adjust the amount of grass fed.
[0013] In a third aspect, an embodiment of the present application further provides an electronic device comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor and the memory communicate through the bus, and when the machine-readable instructions are executed by the processor, the steps of the method described above are performed.
[0014] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method described above are executed.
[0015] The agricultural machinery control method, control device, electronic device and storage medium provided in the embodiments of the present application receive a target compaction density corresponding to the grass when baling from the tractor; calculate the target pressure value of the grass when baling according to the target compaction density and the grass parameters corresponding to the type of grass to be baled; obtain the actual compaction density of the grass when baling, and determine the actual pressure value according to the actual compaction density; adjust the opening of the solenoid valve according to the actual pressure value and the target pressure value to change the actual pressure value applied to the grass when baling; when it is detected that the actual pressure value reaches the pressure limit and the opening of the solenoid valve still needs to be adjusted, generate and send a vehicle speed control signal to the tractor according to the actual pressure value and the target pressure value to control the tractor to adjust the speed and adjust the amount of grass fed. Through the present application, a vehicle speed control signal is generated to the tractor, and the reverse speed control and grass feeding amount of the machine are achieved, thereby improving the baling efficiency and quality.
[0016] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.
[0018] Figure 1 A flowchart of the agricultural machinery control method provided in an embodiment of the present application;
[0019] Figure 2 A flow chart of determining a vehicle speed control signal provided in an embodiment of the present application;
[0020] Figure 3 One of the flow charts for two-way certification of tractors and implements;
[0021] Figure 4 Flowchart 2 for two-way certification of tractors and implements;
[0022] Figure 5 A schematic diagram of the structure of the agricultural machinery control device provided in an embodiment of the present application;
[0023] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0024] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application for which protection is claimed, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, each other embodiment obtained by those skilled in the art without making creative work falls within the scope of protection of the present application.
[0025] First, the application scenarios to which this application is applicable are introduced. This application can be applied in the field of agricultural machinery technology.
[0026] Research has found two core issues in the current collaborative operation of tractors and large square balers: First, there is a lack of dynamic speed control. The equipment cannot automatically adjust the tractor's speed or direction based on real-time sensor status (such as forage feed amount), and relies on manual intervention. This leads to low operating efficiency (prone to grass blockage), uneven bale shape, and increased labor intensity. Second, there are prominent communication security risks. The traditional CAN bus protocol lacks a strong authentication mechanism. The control instructions between the tractor and the equipment are easily tampered with or interfered with by illegal equipment, which seriously threatens operational safety and data integrity.
[0027] Based on this, embodiments of the present application provide an agricultural machinery control method, control device, electronic device, and storage medium. The method first calculates a target pressure value based on a preset target compaction density and forage characteristic parameters. Pressure balance is maintained by automatically adjusting the actual pressure and solenoid valve opening in real time. When pressure reaches a threshold and deviations persist, the tractor's travel speed is adjusted by outputting a reverse speed control signal, dynamically matching the amount of grass fed to the required baling pressure. This method combines pressure control with speed regulation, ensuring stable bale density and improving operational efficiency. It addresses the uneven density and inefficiency associated with traditional equipment caused by fluctuating grass feed rates, achieving intelligent and precise control of baling quality.
[0028] See also Figure 1 , Figure 1 This is a flow chart of the agricultural machinery control method provided in the embodiment of the present application. Figure 1 As shown in , the agricultural machinery control method provided by the embodiment of the present application includes:
[0029] S101, receiving a target compaction density of baled hay from a tractor;
[0030] Here, the tractor acts as a safety control server (server), responsible for executing vehicle control commands (such as speed and steering) and ensuring operational safety (such as driver presence verification and fault detection). The tractor includes a multi-way valve control subsystem, a hoist control subsystem, a PTO control subsystem (Power Take-Off), a speed control subsystem, a steering control subsystem, and a human-computer interaction subsystem.
[0031] As a safety control client (client), the large square bale system is equipped with sensors and controllers to monitor the operating status (such as bale size, density, and position) in real time and send control requests to the tractor via the ISOBUS network (ISO 11783 bus network); the large square bale system includes a picking control subsystem, a feeding control subsystem, a compacting control subsystem, a knotting control subsystem, and a weighing subsystem.
[0032] In an optional embodiment, the tractor and the large square bale are connected by a hydraulic pipeline for transmitting hydraulic oil to control the operation of the hydraulic actuators (such as hydraulic cylinders, hydraulic motors, etc.) of the baler. The hydraulic control valve on the tractor or the solenoid valve on the large square bale is used to adjust the flow and pressure of the hydraulic oil to achieve precise control of the baler operation.
[0033] The working principle of the large square bale mainly involves the processes of picking up, transporting, compressing and baling the grass, as follows:
[0034] Hay Pickup: Large square bales usually have a pickup on the front to pick up the hay from the ground. The pickup consists of rotating tines or reels that feed the hay evenly into the baler.
[0035] Hay conveying: The collected hay is transported to the compression chamber of the baler via a conveying device (such as a chain rake, conveyor belt, etc.). During the conveying process, the hay may undergo preliminary pre-compression and sorting to better prepare it for subsequent compression and baling.
[0036] Hay Compression: Within the compression chamber, the hay is squeezed by pistons or rollers, gradually compressing it into compacted clumps. During the compression process, the hydraulic system provides the necessary pressure to ensure the desired density and shape of the clumps. Large square bales typically feature adjustable compaction density. By adjusting the hydraulic pressure or changing the size of the compression chamber, the system can be adapted to suit different hay types and operational requirements.
[0037] Baling: When the grass reaches a certain length and density, the baler automatically starts the baling process. The baling process usually includes steps such as winding, tying and cutting the rope to firmly bind the grass together.
[0038] During the baling process, the electrical system controls all movements of the baler to ensure accuracy and reliability. At the same time, the hydraulic system provides the necessary power support to ensure the smooth progress of the baling process.
[0039] Bale discharge: After baling, the bale is discharged from the baler through a discharge device. The discharge device may include a pusher, conveyor belt, etc., which can place the bale stably on the ground or transport it to other transportation equipment.
[0040] When the tractor and implement are started, the driver sets the target compaction density through the human-machine interaction subsystem (the tractor's operating display). This parameter is transmitted to the large square bale compaction control subsystem via the ISOBUS bus (agricultural equipment bus network) and serves as the basis for subsequent calculations and adjustments. Here, the target compaction density setting needs to take into account factors such as forage type and working environment to ensure baling quality.
[0041] S102, calculating a target pressure value of the hay during baling based on the target compaction density and hay parameters corresponding to the type of hay to be baled;
[0042] The compaction control subsystem corresponding to the machine combines the target compaction density and forage characteristics (such as moisture and fiber length) to determine the required target hydraulic pressure value through a preset algorithm.
[0043] For example, the method may be: through experiments or empirical data, a comparison table of target hydraulic pressure values required for different forage types (such as straw, wheat, etc.) at different target compaction densities is established. The table should include the forage type, target compaction density range and corresponding target hydraulic pressure value.
[0044] In actual operation, the compaction control subsystem first identifies the type of grass (such as through sensor detection or user input), and then the system searches the corresponding target hydraulic pressure value in the comparison table based on the target compaction density.
[0045] The implement's compaction control subsystem calculates the required target hydraulic pressure by combining the target compaction density with forage characteristics such as moisture and fiber length. A lookup table provides a simple and practical method for quickly determining the target hydraulic pressure based on forage type and target compaction density. This method ensures the implement achieves the desired compaction density for a variety of forage types and operating conditions, improving baling quality and efficiency.
[0046] S103, obtaining the actual compaction density of the baled grass during baling, and determining the actual pressure value according to the actual compaction density;
[0047] The actual compaction density is monitored by a force sensor and the data is fed back to the compaction control subsystem to determine the actual pressure value.
[0048] Here, the force sensor can be installed on the contact surface between the compacting plate and the hay.
[0049] S104, adjusting the opening of the solenoid valve according to the actual pressure value and the target pressure value to change the actual pressure value applied when baling the grass;
[0050] The compaction control subsystem sends a PWM signal (Pulse Width Modulation) to the solenoid valve, adjusting the opening to control the flow of hydraulic oil, thereby changing the actual pressure value.
[0051] Specifically, determining whether the actual pressure value is greater than the target pressure value;
[0052] If the actual pressure value is greater than the target pressure value, the solenoid valve opening is controlled to increase to increase the flow of hydraulic oil in the control density cylinder, push the compacting plate in the piston chamber, and increase the pressure applied to the hay.
[0053] The solenoid valve is connected to the oil inlet and return port of the density oil cylinder through the oil pipe to control the flow of hydraulic oil. The piston rod of the density oil cylinder extends into the piston chamber and is connected to the compacting plate, pushing the compacting plate to move. The grass is placed in the piston chamber, and the compacting plate applies pressure to the grass when it moves in the piston chamber.
[0054] Here, when the implement system determines that the actual pressure value is greater than the target pressure value, it means that the current pressure applied to the forage is too high and needs to be adjusted. By controlling the opening of the solenoid valve, the hydraulic oil flow in the density cylinder increases. The hydraulic oil enters the oil inlet of the density cylinder through the oil pipe, pushing the piston rod to extend.
[0055] The piston rod of the density cylinder is connected to the compacting plate in the piston chamber, so the extension of the piston rod pushes the compacting plate in the piston chamber, thereby increasing the pressure applied to the hay. In this way, the actual pressure value can be gradually reduced to bring it closer to the target pressure value.
[0056] If the actual pressure value is not greater than the target pressure value, the opening of the solenoid valve is controlled to decrease to control the hydraulic oil flow in the density cylinder to reduce, so as not to push the compacting plate in the piston chamber and reduce the pressure applied to the hay.
[0057] Here, when the implement system determines that the actual pressure value is not greater than the target pressure value (including the case where the actual pressure value is equal to the target pressure value), it means that the current pressure applied to the forage may be appropriate or too small, but there is no need to further increase the pressure. In order to prevent excessive pressure or maintain the current appropriate pressure, the opening of the solenoid valve is controlled to decrease, so that the hydraulic oil flow in the density cylinder is reduced. After the hydraulic oil flow is reduced, the piston rod of the density cylinder will no longer extend or the extension speed will slow down, thereby not pushing or slowing down the movement of the compacting plate in the piston chamber.
[0058] In this way, the pressure applied to the forage will no longer increase or will increase at a slower rate, helping to maintain or adjust the actual pressure value near the target pressure value.
[0059] In this step, a solenoid valve is connected to the density cylinder's oil inlet and return ports via oil pipes, controlling the flow of hydraulic oil. This connection allows the solenoid valve to precisely control the hydraulic oil flow and pressure within the density cylinder. The compacting plate directly applies pressure to the hay. As it moves within the piston chamber, it compresses the hay to the desired compaction density. This closed-loop control process continuously compares the actual pressure with the target pressure and adjusts the solenoid valve opening accordingly, achieving precise control of the hay baling pressure.
[0060] S105. When it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, a speed control signal is generated and sent to the tractor based on the actual pressure value and the target pressure value to control the tractor to adjust the speed and adjust the grass intake.
[0061] When the actual pressure value deviates too much from the target pressure value and the solenoid valve opening can no longer meet the adjustment requirements, the tractor speed needs to be adjusted to make the actual pressure value as close to the target pressure value as possible.
[0062] See also Figure 2 , Figure 2 This is a flow chart of determining the vehicle speed control signal provided by the embodiment of the present application. Figure 2 As shown in , the flowchart of determining the vehicle speed control signal provided by the embodiment of the present application includes:
[0063] Here, the vehicle speed control signal includes a first vehicle speed control signal and a second vehicle speed control signal.
[0064] The vehicle speed control signal is determined in the following manner:
[0065] S201, when it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, determining whether the actual pressure value is greater than the target pressure value;
[0066] S202: If the actual pressure value is greater than the target pressure value, a first vehicle speed control signal is sent to the tractor to control the tractor to decelerate and reduce the amount of grass fed by the implement;
[0067] If the actual pressure value is greater than the target pressure value, it means that the amount of grass entering is too much. The system sends a first vehicle speed control signal to the tractor to control the tractor to slow down to reduce the amount of grass entering.
[0068] S203: If the actual pressure value is less than the target pressure value, a second vehicle speed control signal is sent to the tractor to control the tractor to increase its speed and increase the amount of grass fed by the implement.
[0069] If the actual pressure value is less than the target pressure value, it means that the amount of grass entering is insufficient. The system sends a second speed control signal to the tractor to control the speed to increase the amount of grass entering.
[0070] Vehicle speed adjustment should be carried out smoothly to avoid excessive impact on the baling operation. The speed change can be dynamically adjusted according to the degree of deviation between the actual pressure value and the target pressure value. During the speed adjustment process, the system should monitor the operating status of the tractor, such as engine speed and oil temperature, to ensure that the adjustment process is safe and reliable.
[0071] Similarly, the tractor controllable functions in other application conditions are:
[0072] Vehicle speed control: achieved by adjusting the engine speed or transmission gear.
[0073] When the tractor receives the first vehicle speed control signal sent by the implement, the engine speed is controlled to reduce the preset speed or the transmission gear is reduced by one gear. When the tractor receives the second vehicle speed control signal sent by the implement, the engine speed is controlled to increase the preset speed or the transmission gear is increased by one gear.
[0074] Steering Assist: Generates fine-tuning steering commands when forage is unevenly distributed (e.g., turn right if more is fed to the left).
[0075] The machine compares the pressure values of the density cylinders on the left and right sides to see if they are equal. If they are not equal, it means that the forage is unevenly distributed. At this time, it is necessary to send a steering control signal to the tractor by adjusting the left and right feeding amounts. If the left feeding amount is larger, the tractor will be sent a right turn signal. Similarly, if the right feeding amount is larger, the tractor will be sent a left turn signal.
[0076] Preferably, the tractor speed control and the steering control can be performed in parallel, and when the functions are allocated, the tractor must be authorized to control the speed and steering of the implement at the same time.
[0077] Specifically, when the tractor and the implement are started, the first version information is sent to the tractor, the second version information fed back by the tractor is received, and a connection is established with the tractor according to the version number corresponding to the second version information;
[0078] Here, when the implement is started, the first version information is sent to the tractor, which includes a list of protocol versions supported by the implement, such as v (Version) 4.1, v5.0, etc.
[0079] Tractor response feedback: After receiving the request, the tractor returns the second version information, including the protocol version number and priority ranking supported by the tractor.
[0080] Version matching rule: Both parties select the most compatible version based on the version list (e.g. if the implement supports v4.1 / v5.0 and the tractor supports v4.0 / v5.0, v5.0 will be selected in the end).
[0081] The implement verifies whether the version number returned by the tractor is within its supported range. If so, it sends a ConnectionEstablish message; otherwise, it terminates communication and reports an error.
[0082] Through the Address Claim mechanism of ISO 11783, both parties declare unique device addresses on the CAN bus (such as implement address 0x80 and tractor address 0x01) to avoid address conflicts.
[0083] After receiving the authorization signal, a digital certificate and encryption mechanism are used to perform two-way authentication between the tractor and the implement to connect the authorized tractor equipment to the implement.
[0084] Preferably, after the implement establishes a connection with the tractor, a tractor speed control function signal is sent to the tractor, and a feedback signal from the tractor is received, wherein the tractor speed control function signal is used to indicate that the implement sends a function allocation message to the tractor, requesting exclusive use of the tractor speed control function;
[0085] Here, after the implement and tractor establish a network connection (for example, by completing version negotiation and bidirectional authentication through the ISO 11783 protocol), the implement sends a speed control function allocation message to the tractor. The message content includes: a function identifier, an exclusive request flag, a unique implement identifier (such as the device serial number), and a timestamp. By requesting the function message, the implement obtains a list of functions supported by the tractor, such as vehicle speed, power take-off shaft (PTO), hoist, etc.
[0086] After receiving the request, the tractor returns one of the following two responses:
[0087] Authorization signal: If the vehicle speed control function is not occupied, the tractor allows exclusive control of the implement and returns an authorization confirmation.
[0088] Rejection signal: If the function is already occupied by other equipment or there is a conflict, the tractor returns a rejection reason. At this time, if the function is occupied, the tractor's HMI (Human-Machine Interface, which is the medium for interaction and information exchange between humans and machines) displays a conflict message, and the operator can choose whether to release control. Function priority can be defined (for example, implement control priority is higher than HMI), and the tractor automatically rejects low-priority requests.
[0089] When it is detected that the feedback signal represents an authorization signal for the tractor to exclusively control the tractor speed for the implement, a speed control signal is sent to the tractor to control the tractor speed adjustment.
[0090] The implement receives a feedback signal from the tractor, which can be in two situations: entering the speed control phase and terminating the process and recording a log.
[0091] The implement can dynamically adjust the speed value according to the working requirements, and the tractor needs to respond and feedback the current speed in real time.
[0092] After the implement completes the operation, it sends a message to release the vehicle speed control function, allowing other devices to reapply. If the communication between the implement and the tractor is interrupted for more than a set time (such as 10 seconds), the tractor automatically releases control and records the event.
[0093] In an optional embodiment, the tractor can also receive the speed control signal of the implement under normal circumstances, but the tractor will execute the speed control signal only after the tractor authorizes the implement to exclusively use the tractor's speed.
[0094] After the implement establishes a connection with the tractor, authentication of the tractor and implement is performed. If authentication fails, communication is terminated to prevent unauthorized devices from intervening.
[0095] Status management: The tractor and implement synchronize their automation status (e.g., "Ready," "Active") by periodically sending status messages.
[0096] The tractor sends a function request (such as setting a speed value), and the implement responds with the actual status (such as the current speed). Communication anomalies are detected through the heartbeat counter and request counter. Timeout or error triggers the safety mechanism.
[0097] The tractor defines a safe range for functions (such as maximum speed), automatically limits the speed when it exceeds the range, and notifies the implement. The tractor or implement gradually releases resources by sending shutdown heartbeat messages to avoid sudden disconnection and system instability.
[0098] See also Figure 3 , Figure 3 One of the flow charts for two-way authentication of tractors and implements, such as Figure 3 As shown in , one of the flowcharts of the two-way authentication provided in the embodiment of the present application includes:
[0099] Specifically, the authentication process between the authentication server (tractor) and the authentication client (implement, in this case a large square bale) consists of the following four stages:
[0100] Phase 1 (Key Table Check): At the beginning of authentication, the client and server check their respective lightweight authentication key tables and generate a random challenge code for this authentication session. The random challenge value remains unchanged during an authentication session until authentication succeeds or fails.
[0101] S301: After the implement establishes a connection with the tractor, a status bit is sent to the tractor.
[0102] Before starting the authentication process, the device checks its internal lightweight authentication key table to decide whether to perform full authentication (FwA) or lightweight authentication (LwA).
[0103] The tractor declares its chosen authentication type to the tractor by setting a status bit in a CAN bus message.
[0104] The status bit is used to indicate the first authentication type of the machine;
[0105] After establishing the network connection (e.g. ISO 11783 protocol completed), the implement sets the status bit (e.g. Auth_Type_Bit = 0 for LwA, Auth_Type_Bit = 1 for FwA) via CAN bus messages to declare the selected authentication type to the tractor.
[0106] Auth_Type_Bit = 0 indicates LwA: When the value of the authentication type status bit (Auth_Type_Bit) is 0, it means that lightweight authentication (Lightweight Authentication) is used.
[0107] Auth_Type_Bit = 1 indicates FwA: When the value of the authentication type status bit (Auth_Type_Bit) is 1, it means that the full authentication method is used.
[0108] Here, when the device is powered on for the first time or the working unit is started during initial startup, full authentication (FwA) is performed by default; if re-authentication is required due to an unexpected shutdown (such as engine shutdown), and the last authentication was successful and the key has not expired, lightweight authentication (LwA) will be tried first.
[0109] In addition, full authentication (FwA): applicable to first-time authentication or key expiration scenarios, requiring complete certificate exchange and verification of the signature chain (such as through ECDH key exchange and CA root certificate verification); lightweight authentication (LwA): based on the shared key of the last successful authentication, only a challenge-response protocol is required to verify key ownership, reducing computational overhead.
[0110] For example, ECDH (Elliptic Curve Diffie-Hellman Key Exchange) is a key agreement protocol based on elliptic curve cryptography, used to securely establish a shared key between communicating parties for subsequent encrypted communication.
[0111] CA Root Certificate Validation is the process of verifying the root certificate of a certificate authority (CA). The purpose is to confirm the legitimacy, validity, and authenticity of the root certificate, thereby ensuring the credibility of other certificates issued based on the root certificate.
[0112] S302, receiving tractor status information, and determining a second authentication type of the tractor;
[0113] After receiving the implement's authentication request, the tractor performs the following operations based on the Auth_Type field (Authentication TypeField):
[0114] If it is LwA: Check whether the local LwA key table contains a shared key that matches the device (for example, Key_ID = 0x1A2B).
[0115] If it is FwA: Skip the LwA key table check and directly prepare for the full authentication process (such as loading the CA root certificate).
[0116] Tractor returns the authentication types and status it supports.
[0117] If the tractor is currently unable to perform authentication (e.g., it is processing another task), an error code is set.
[0118] S303: Determine a target authentication type based on the first authentication type and the second authentication type;
[0119] The tractor performs operations based on the CAN bus message results transmitted by the implement: If the implement selects LwA, the tractor virtual terminal needs to check its own LwA key table; if the implement selects FwA, the tractor can skip the LwA key table check and directly perform full authentication.
[0120] The tractor responds to the implement by returning a CAN bus message. If the tractor is currently unable to perform authentication: the error code needs to be set to participant busy. After the two parties exchange status messages, they clarify the type of authentication (FwA or LwA).
[0121] If both the implement and the tractor support Lightweight Authentication (LwA) (e.g., Auth_Type = 0x00 and Server_Auth_Type = 0x00), select LwA.
[0122] Here, if both the implement and the tractor support Lightweight Authentication (LwA) (eg, the Auth_Type field value is 0x00 and the Server_Auth_Type field value is 0x00), Lightweight Authentication (LwA) is selected.
[0123] If either party only supports the full certification FwA (e.g. the implement selects LwA but the tractor only supports FwA), FwA will be mandatory.
[0124] Here, if either party only supports Full Weight Authentication (FwA) (for example, the implement selects Light Weight Authentication (LwA) but the tractor only supports Full Weight Authentication (FwA)), then Full Weight Authentication (FwA) is mandatory.
[0125] Terminate authentication: If neither party supports the authentication type selected by the other (e.g. the implement selects FwA but the tractor only supports LwA), the authentication is terminated and an error is returned.
[0126] After the two parties exchange status messages, if they determine that the target authentication type is LwA, they mark the state as a synchronization point (SYNC, Synchronization Point, is a specific location or time set when coordinating between multiple processes, threads, devices, or systems to ensure that they can synchronize operations according to the predetermined order or status during execution), indicating that the two parties have reached an agreement on the authentication method.
[0127] S304: When it is detected that the target authentication type indicates lightweight authentication, a first random challenge code is generated, a second random challenge code generated by the tractor is received, a shared key is generated, and a first implement response value is calculated based on the second random challenge code and the shared key;
[0128] When both parties have sent CAN bus authentication status messages and the authentication status is set to "authenticated", the status of the two is marked as synchronization point (SYNC), after which the implement and tractor generate a random number challenge code.
[0129] The machine generates a 128-bit random challenge code (the first random challenge code R1) as input for the CMAC (Cipher-based Message Authentication Code) calculation.
[0130] The tractor independently generates another 128-bit random challenge code (the second random challenge code R2) and sends it to the implement.
[0131] If this is the first authentication (or the key has expired), the two parties exchange public keys using the ECDH algorithm (Elliptic Curve Diffie-Hellman) and derive a shared key (k). If this is a subsequent lightweight authentication, the shared key (k) from the last successful authentication is reused.
[0132] Implement Response Calculation: Using the shared key k and the tractor challenge code R2, the first implement response is calculated (CMAC_R2 = CMAC(k, R2)).
[0133] Specifically, the cipher-based message authentication code (CMAC) algorithm is used with the key k and the response value R2 as input, and the result of the calculation is CMAC_R2.
[0134] Tractor calculates response value: Using the shared key k and the implement challenge code R1, calculate the first tractor response value (CMAC_R1 = CMAC(k, R1)).
[0135] As above, the cipher-based message authentication code (CMAC) algorithm is used, with the key k and the response value R1 as input, and the result of the calculation is CMAC_R1.
[0136] Phase 4:
[0137] S305: Send the first implement response value to the tractor and receive a first authentication result.
[0138] The first authentication result is determined for the tractor based on a first tractor response value and a first implement response value, where the first tractor response value is generated based on the shared key and the first random challenge code.
[0139] The implement sends the second tractor response value CMAC_R2 to the tractor, and the tractor sends the first tractor response value CMAC_R1 to the implement.
[0140] After receiving the first tractor response value CMAC_R1, the machine compares it with the locally calculated CMAC(k, R1). If they are consistent, the authentication is successful.
[0141] After receiving CMAC_R2, the tractor compares it with the locally calculated CMAC(k, R2). If they are consistent, the authentication is successful.
[0142] Success: Both parties send an authentication success message, which includes an authentication success flag (such as Success = 0x01).
[0143] Failure: Send an authentication failure message including an error code.
[0144] Authentication type negotiation achieves dynamic selection between full authentication and lightweight authentication through status bit and key table checks, balancing security and efficiency. Based on the CMAC algorithm and shared key, it verifies the possession of private keys by both parties and ensures identity authenticity. Lightweight authentication optimization reduces the authentication time from 60 seconds for full authentication to milliseconds through key reuse and parallel computing, adapting to the real-time needs of field operations. This solution complies with the distributed security requirements of the ISO 11783 protocol and provides an efficient and reliable two-way authentication mechanism for scenarios such as intelligent agricultural machinery and unmanned driving.
[0145] See also Figure 4 , Figure 4 Flowchart 2 for two-way authentication of tractors and implements, such as Figure 4 As shown in FIG, the second flowchart of the two-way authentication provided by the embodiment of the present application includes:
[0146] Phase 1: Both the tractor and the implement generate challenge codes;
[0147] Phase 2: Applicable only to full authentication, a two-way certificate exchange and certificate verification is performed between the tractor and the implement. Successful completion of Phase 2 proves that the tractor and the implement hold valid and authentic server and client certificates, respectively.
[0148] Phase 2 is only performed when the tractor and implement undergo a full weight certification (FwA). During a lightweight certification (LwA) process, this phase is completely skipped.
[0149] S401: When it is detected that the target authentication type indicates full authentication, a certificate request is sent to the tractor, and a digital certificate of the tractor is obtained;
[0150] The tractor and implement independently send certificate requests to each other and respond with certificates: The tractor and implement independently respond to each other's certificate requests.
[0151] If the target authentication type is full authentication (FwA), the implement sends a certificate request to the server (such as the tractor virtual terminal) via the CAN bus, and the tractor returns its digital certificate, which includes the public key, validity period, issuer information, and Certificate Category Identifier (CCID, used to distinguish and identify different types of digital certificates).
[0152] CAN bus messages: Use PGN 65281 (Certificate Request) and PGN 65283 (Certificate Response) to exchange certificates. The message format must comply with the ISO 11783-5 standard.
[0153] Here, PGN 65281 (Certificate Request): Parameter group number 65281 (Certificate Request) is used by a device to initiate a certificate request message to another device in a communication system that complies with the ISO 11783-5 standard.
[0154] PGN 65283 (Certificate Response): Parameter group number 65283 (Certificate Response) is used in communication systems compliant with the ISO 11783-5 standard for a device to respond to a received Certificate Request message by providing the corresponding certificate information.
[0155] ISO 11783-5: International Organization for Standardization 11783-5 standard, part of the ISOBUS (Tractors and Machinery for Agriculture and Forestry) standard, specifies data communication protocols, message formats, and other content to ensure interoperability between different devices.
[0156] S402: Determine whether the tractor meets the certification conditions.
[0157] The authentication condition is used to indicate that the received digital certificate does not exist in the local certificate revocation list, the certificate chain is valid, the certificate classification identifier in the digital certificate is consistent with the preset certificate classification identifier, and the field for conveying information is consistent with the corresponding field in the tractor production certificate;
[0158] CRL check: Both parties check whether the received certificate exists in the local Certificate Revocation List (CRL), which is a list of digital certificates that have been revoked but have not yet expired. The CRL itself must be verified for validity.
[0159] Certificate chain verification: If the received certificates have not been revoked, both parties verify the validity of the certificate chain (such as signature chain, validity period, etc.);
[0160] Manufacturer serial certificate comparison: 1) Compare the CCID (Certificate Category Identifier) in the certificate; 2) Check whether the supported functions in the CAN bus message match the entries in the manufacturer serial certificate.
[0161] ISOBUS information consistency check: Verify whether the information transmitted by the other party via ISOBUS (such as ISOBUS name, excluding identification number) is consistent with the fields in the other party's production certificate.
[0162] Here, after parsing the tractor certificate, the machine checks whether it exists in the local CRL (for example, obtaining the CRL through the CRL_URI field and verifying its validity); verifies the signature validity of the certificate chain (for example, whether the root certificate is trusted) and the validity period (for example, the Not Before and Not After fields); compares the CCID in the certificate with the preset value (for example, CCID = 0x01 indicates an agricultural equipment certificate); checks whether the supported functions in the CAN bus message (for example, the Supported_Functions field) match the certificate entry and verifies whether the name transmitted by the tractor via ISOBUS (for example, Device_Name) is consistent with the SubjectAlternative Name field in the certificate.
[0163] The CRL_URI (Certificate Revocation List Uniform Resource Identifier) uniquely identifies and locates the address of the Certificate Revocation List (CRL). The implement uses this field to obtain the CRL file and subsequently check whether the tractor's certificate has been revoked.
[0164] A Certificate Revocation List (CRL) contains a list of digital certificates that have been revoked but have not yet expired. After the machine obtains the CRL, it checks whether the tractor's certificate serial number is on the list. If it is, the certificate has been revoked and cannot be trusted.
[0165] Certificate Chain Signature Validation: A certificate chain is a chain structure consisting of multiple certificates, from the end-entity certificate (such as the tractor certificate) to the root certificate. Verifying signature validity involves checking that the signature of each certificate is correctly generated by the private key of its parent certificate. For example, verifying that the signature of the tractor certificate is generated by the private key of the intermediate certificate, and that the signature of the intermediate certificate is generated by the private key of the root certificate.
[0166] A root certificate is the top certificate in a certificate chain, typically issued by a trusted certificate authority (CA). The device must store the trusted root certificate locally to verify the signature of the certificate chain. If the root certificate is untrusted, the entire certificate chain is considered untrustworthy.
[0167] Not Before (Not Before Date) specifies the date and time when the certificate becomes effective. The device checks whether the current date and time are after the time specified in this field. If not, the certificate is not yet effective and cannot be used. For example, if the Not Before field of a certificate is 2024-01-01 00:00:00, and the current date is December 31, 2023, the certificate is not effective.
[0168] Not After (Not After Date) specifies the date and time at which the certificate expires. The device checks whether the current date and time are before the time specified in this field. If not, the certificate has expired and cannot be used. For example, if the Not After field in a certificate is 2025-12-31 23:59:59, and the current date is January 1, 2026, the certificate has expired.
[0169] The CCID (Certificate Category Identifier) identifies the certificate's category. The implement compares the CCID in the certificate with a preset value to determine whether the certificate type meets the requirements. For example, the preset CCID = 0x01 indicates an agricultural equipment certificate. If the CCID in a tractor certificate is 0x01, it indicates that the certificate is an agricultural equipment certificate.
[0170] Supported_Functions (Supported Functions Field), a field included in CAN bus messages, indicates the functions supported by the tractor. The implement checks whether the contents of this field match the allowed functions in the certificate entry to ensure the tractor is authorized to perform a specific operation. For example, if the certificate entry states that the tractor supports tillage and seeding functions, but the Supported_Functions field only contains harvesting, this will not match.
[0171] ISOBUS (International Organization for Standardization 11783) is a serial control and communication data network standard for agricultural and forestry machinery. Tractors transmit information such as the device name via ISOBUS, and the implement needs to verify that this information matches the relevant fields in the certificate.
[0172] The Device_Name is the name transmitted by the tractor via ISOBUS. The implement checks whether this name is consistent with the Subject Alternative Name field in the certificate to ensure the authenticity and legitimacy of the device identity. For example, if the Subject Alternative Name field in the certificate is Tractor-123, but the Device_Name transmitted by the tractor is Tractor-456, there is a mismatch.
[0173] S403: If the tractor does not meet the certificate authentication conditions, an authentication failure signal is sent to the tractor;
[0174] If any of the above items are inconsistent, the authentication process will be terminated.
[0175] If the tractor certificate does not meet any of the authentication conditions (e.g., revoked, invalid chain, CCID mismatch), the client sends an authentication failure signal (PGN 65292, Error_Code = 0x04).
[0176] Here, PGN 65292 (Parameter Group Number 65292) is used to identify specific types of data messages in the ISOBUS (International Organization for Standardization 11783, Tractors and Machinery for Agriculture and Forestry - Serial Control and Communication Data Network) communication protocol. PGN 65292 is a predefined parameter group number used by the client to send authentication failure signals in messages, allowing the recipient to accurately identify the message type and purpose. For example, in agricultural machinery communication networks, different PGNs correspond to different functional messages, such as sensor data transmission and control commands. PGN 65292 is specifically used for authentication failure notifications.
[0177] Error_Code = 0x04 (Error Code with Hexadecimal Value 0x04). This error code indicates the specific error type. During the authentication process, if the tractor certificate fails to meet any of the authentication criteria, the client sets Error_Code = 0x04 to indicate authentication failure. Different error codes correspond to different error scenarios. For example, 0x01 may indicate a certificate format error, or 0x02 may indicate an expired certificate. 0x04 is a specific identifier that allows the recipient to quickly identify a certificate authentication failure.
[0178] For example, the error codes can be defined as: ERR_CERT_REVOKED (certificate revoked), ERR_CHAIN_INVALID (certificate chain invalid), ERR_CCID_MISMATCH (CCID mismatch), ERR_ISOBUS_MISMATCH (ISOBUS information inconsistent).
[0179] S404: If the tractor meets the certificate authentication conditions, a certificate authentication success signal is sent to the tractor, a first random challenge code is generated, and a second random challenge code generated by the tractor is received;
[0180] After successful verification, the tractor and implement send notifications to each other to confirm that the certificate chain check is complete.
[0181] If the tractor certificate passes all checks, the implement sends a certificate authentication success signal, and the implement generates a 256-bit random challenge code (R1) and sends it to the tractor.
[0182] The tractor independently generates another 256-bit random challenge code (R2) and returns it to the implement.
[0183] Phase 3 (Key Exchange): The server and client perform an Elliptic Curve Diffie-Hellman (ECDH) key exchange to exchange a shared encryption key.
[0184] S405: Generate a shared key according to the first random challenge code and the second random challenge code;
[0185] Both parties independently calculate a shared secret key (k) and use a key derivation function (KDF) to generate a session key based on the shared secret key and the challenge code.
[0186] S406: Split the shared key into a first independent key and a second independent key, send the first independent key to the tractor, and receive the second independent key sent by the tractor;
[0187] Based on the shared key and the challenge values of both parties, an LwA key copy is independently generated, splitting the LwA key into two independent keys.
[0188] Here, the client splits the shared secret into Key_A and Key_B (e.g., the first 128 bits and the last 128 bits by SHA-256 hashing).
[0189] The client sends Key_A to the tractor, and the tractor sends Key_B to the client.
[0190] Key_A (No standard full-form in this context, can be considered apart from the derived key labeled as Key_A, Key A) is obtained by the client by performing a SHA-256 hash operation on the shared key and taking the first 128 bits of the hash result as Key_A. This is a portion of the derived shared key and is subsequently used to ensure communication security between the client and the tractor, for example, to encrypt some communication data or perform message authentication.
[0191] Key_B (no standard full-form in this context, can be considered apart of the derived key labeled as Key_B). The client performs a SHA-256 hash on the shared key and uses the last 128 bits of the hash result as Key_B. Similar to Key_A, Key_B is also part of the shared key derivation and is used for security mechanisms during communication. For example, it may be used to encrypt additional communication data or perform various message authentication operations.
[0192] Compared with traditional key exchange algorithms (such as RSA or classic Diffie-Hellman), ECDH has shorter keys, lower computational load and memory usage, and can achieve higher real-time performance in resource-constrained embedded devices (CPU, memory, power consumption) and low CAN bus bandwidth.
[0193] For example, RSA (Rivest-Shamir-Adleman, named after its three inventors) is an asymmetric encryption algorithm that can also be used for key exchange. Its fundamental principle is based on the mathematical difficulty of factoring large numbers. During the key exchange process, one party (such as Alice) generates a pair of keys: a public key and a private key. The public key can be made public, while the private key must be kept secret.
[0194] For example, when A wants to exchange keys with B, A sends B their public key. B uses A's public key to encrypt a randomly generated symmetric key (used for subsequent encrypted communication data) and then sends the encrypted result to A. After receiving it, A decrypts the encrypted content using his private key to obtain the symmetric key shared with B.
[0195] Phase 4: (Challenge-Response)
[0196] A two-way challenge-response protocol between the server and client. After successfully exchanging a shared key, both parties execute a challenge-response protocol based on a symmetric CMAC (Cipher-based Message Authentication Code) algorithm. The purpose of this phase is to verify that the server and client each possess the private key corresponding to the public key in the exchanged and authenticated certificates. Possession of the private key proves the authenticity of the other party.
[0197] S407, calculating a second tool response value according to the second random challenge code and the second independent key;
[0198] In this step, the client uses Key_B and R2 to calculate the CMAC response value (CMAC_R2 = CMAC(Key_B,R2)).
[0199] In this expression, Key_B is the key used to calculate the CMAC, and R2 is the message or data to be authenticated. The client uses Key_B as the key to perform a CMAC calculation on R2, resulting in the CMAC_R2 value. This value can be used for subsequent identity authentication or message integrity verification.
[0200] CMAC_R2 is the result of the client performing a CMAC calculation on R2 using Key_B. It is a fixed-length binary value used to verify the integrity and authenticity of R2. During subsequent communications, the receiver can recalculate CMAC_R2 and compare it with the received value to determine whether R2 has been tampered with and whether the sender possesses the correct Key_B.
[0201] The tractor uses Key_A and R1 to calculate the CMAC response value (CMAC_R1= MAC(Key_A, R1)).
[0202] Here, Key_A is the key element used to calculate the CMAC. It is typically determined and shared between the client and the tractor through a specific key exchange protocol or negotiation mechanism. The security of Key_A is crucial. Only the party with the correct Key_A can correctly calculate and verify the CMAC value, thus ensuring the security and reliability of communication.
[0203] R1 is the message or data that needs to be authenticated. In a communication scenario, R1 can be a random number generated by the tractor, specific command information, status data, etc. R1 carries the key information that the tractor wants to convey to the client, and the CMAC calculation ensures that this information is not tampered with during transmission.
[0204] Tractor uses Key_A as the key and R1 as the input message, and applies the CMAC algorithm to the result, ultimately obtaining the value CMAC_R1. The CMAC algorithm, based on a block cipher (such as AES), performs a complex series of encryption and calculation operations on the input message and key, generating a fixed-length binary value as the authentication code.
[0205] The client sends CMAC_R2 to the tractor, and the tractor sends CMAC_R1 to the client.
[0206] S408: Send the second implement response value to the tractor and receive a second authentication result.
[0207] The second authentication result is determined for the tractor based on a second tractor response value and a second implement response value, where the second tractor response values are generated based on the first independent key and the first random challenge code.
[0208] Here, the client verifies that CMAC_R1 is consistent with the locally calculated CMAC(Key_A, R1), and the tractor verifies that CMAC_R2 is consistent with the locally calculated CMAC(Key_B, R2).
[0209] If verification succeeds, both parties send PGN 65290 (Success = 0x01). If verification fails, they send PGN 65292 (Error_Code = 0x10, indicating CMAC mismatch).
[0210] In this step, if the CMAC verification between the client and the tractor is successful, both parties will send a PGN 65290 message with the Success flag set to 0x01. Here, "Success" is the field used to identify the verification result, and 0x01 is its hexadecimal value, indicating successful verification. When both parties receive a PGN 65290 message with a Success flag set to 0x01, they confirm that the CMAC verification has successfully passed. They can then continue normal communication, such as data transmission, command issuance, and execution.
[0211] If CMAC verification fails between the client and the tractor, both parties will send a PGN 65292 message with an error code of 0x10. The Error_Code field identifies the specific reason for the verification failure, and 0x10 is its specific hexadecimal value. In this scenario, this value clearly indicates that the verification failure is due to a CMAC mismatch. When one party receives PGN 65292 with an Error_Code of 0x10, it clearly understands that the CMAC verification failed due to a CMAC value mismatch. At this point, both parties should suspend the current communication process and take appropriate measures to troubleshoot the issue, such as verifying the key, checking for interference or errors during communication, and re-initiating the verification process after the issue is resolved.
[0212] After the initial successful ECDH-based key exchange and CMAC-based challenge-response, the server and client only perform lightweight authentication (LwA) on subsequent startups. The full authentication process can take 60 seconds or longer (depending on the manufacturer and the performance of the connected device). While longer authentication times are acceptable during the initial startup of a work unit (e.g., when a user boots up a device), they are unacceptable during field operations if repeated authentication is required due to unexpected shutdowns (e.g., restarting an engine after an unexpected shutdown). Therefore, the faster lightweight authentication (LwA) was introduced.
[0213] Full authentication executes phases 1, 2, 3, and 4, while lightweight authentication only requires phases 1 and 4.
[0214] The agricultural machinery control method, control device, electronic device, and storage medium provided in the embodiments of the present application receive a target compaction density corresponding to the grass during baling from a tractor; calculate a target pressure value for the grass during baling based on the target compaction density and grass parameters corresponding to the type of grass to be baled; obtain the actual compaction density of the grass during baling and determine an actual pressure value based on the actual compaction density; adjust the opening of the solenoid valve based on the actual pressure value and the target pressure value to change the actual pressure value applied to the grass during baling; and, when it is detected that the actual pressure value has reached the pressure limit and the solenoid valve opening still needs to be adjusted, generate and send a speed control signal to the tractor based on the actual pressure value and the target pressure value to control the tractor to adjust its speed and adjust the amount of grass fed. Through this application, the machine can reversely control the tractor's speed, adjust the amount of grass fed, and improve the efficiency of grass baling.
[0215] The agricultural machinery control method, control device, electronic device and storage medium of the present application are applied to large square bales, but are also applicable to the safe control of tractors by other machines, such as the control of tractor speed and PTO when a round baler places bales.
[0216] Unlike traditional speed adjustment that relies on manual intervention, this application realizes dynamic speed control of the tractor by the implement, thereby improving operation efficiency, reducing the risk of grass blockage, and optimizing operation quality.
[0217] This application ensures high security during the communication and control process between the tractor and implement by introducing authentication mechanisms (Phase 1, Phase 2, Phase 3, and Phase 4) and security control methods. Only authenticated devices can participate in control, preventing access by unauthorized devices and thus preventing security risks during communication and control.
[0218] This application uses the ISOBUS communication protocol as the primary method for data transmission between the tractor and the implement. ISOBUS ensures effective interconnection and interoperability between the tractor and the implement through standardized interfaces and data formats.
[0219] This application ensures the communication security between the tractor and the implement through two-way authentication and Elliptic Curve Diffie-Hellman (ECDH) key exchange process. By using ECDH (phase three) and key derivation function (KDF) (phase three), a shared encryption key can be generated and the authenticity of the identities of both parties can be verified through symmetric encryption.
[0220] This application introduces a function allocation mechanism during communication, allowing the implement to request control of specific tractor functions (such as speed) and have the server allocate and manage the corresponding functions. Only when the function allocation is valid can the implement control specific tractor operations.
[0221] This application uses multi-layered security measures, including key exchange (Phase 3), challenge-response mechanism (Phase 4), and authentication process, to ensure the security and efficiency of communication. In particular, in the resource-constrained and low-bandwidth environment of embedded devices, the ECDH key exchange algorithm has higher real-time performance than traditional algorithms.
[0222] The dynamic vehicle speed control method in this application includes a technical method for the implement to adjust the tractor's speed in real time according to the sensor, and the security control mechanism includes ensuring the security control and communication between the tractor and the implement through the authentication mechanism and key exchange protocol.
[0223] The two-way authentication and ECDH key exchange in this application provide a way to ensure the legitimacy and credibility of both devices through two-way authentication and ECDH key exchange.
[0224] The dynamic speed adjustment of this application reduces the time of idling and grass blocking, and improves the working efficiency by 15%-20%. The two-way authentication mechanism of this application eliminates illegal control instructions and improves the safety of agricultural operations.
[0225] The implement of the present application controls the functions of the tractor according to the authorization request. The present application is applicable to the safety control scheme of various implements, not only for large square baling implements, but also for other types of implements with tractor control requirements, such as round balers and fertilizer spreaders.
[0226] Based on the same inventive concept, an agricultural machinery control device corresponding to the agricultural machinery control method is also provided in the embodiment of the present application. Since the principle of solving the problem by the device in the embodiment of the present application is similar to the above-mentioned agricultural machinery control method in the embodiment of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0227] See also Figure 5 , Figure 5 This is a schematic diagram of the structure of the agricultural machinery control device provided in the embodiment of the present application. Figure 5As shown in FIG, the agricultural machinery control device 500 includes:
[0228] The target compaction density receiving module 501 is used to receive the target compaction density of the grass when baling from the tractor;
[0229] A target pressure value calculation module 502 is configured to calculate a target pressure value of the hay during baling based on the target compaction density and hay parameters corresponding to the type of hay to be baled;
[0230] The actual pressure value determination module 503 is used to obtain the actual compaction density of the grass during baling and determine the actual pressure value according to the actual compaction density;
[0231] An adjustment module 504 is configured to adjust the opening of the solenoid valve according to the actual pressure value and the target pressure value to change the actual pressure value applied when baling the grass;
[0232] The vehicle speed control signal sending module 505 is used to generate and send a vehicle speed control signal to the tractor based on the actual pressure value and the target pressure value when it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, so as to control the tractor to adjust the speed and adjust the grass intake.
[0233] See also Figure 6 , Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiment of the present application. Figure 6 As shown in FIG, the electronic device 300 includes a processor 310 , a memory 320 and a bus 330 .
[0234] The memory 320 stores machine-readable instructions executable by the processor 310. When the electronic device 300 is running, the processor 310 communicates with the memory 320 via the bus 330. When the machine-readable instructions are executed by the processor 310, the above-mentioned Figure 1 The specific implementation of the steps of the agricultural machinery control method in the method embodiment shown can be found in the method embodiment, and will not be repeated here.
[0235] The embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the computer program can execute the above-mentioned Figure 1 The specific implementation of the steps of the agricultural machinery control method in the method embodiment shown can be found in the method embodiment, and will not be repeated here.
[0236] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0237] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. There may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, indirect coupling or communication connection of devices or units, which may be electrical, mechanical or other forms.
[0238] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0239] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0240] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0241] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The scope of protection of the present application is not limited thereto. Although the present application has been described in detail with reference to the above-mentioned embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-mentioned embodiments within the technical scope disclosed in the present application, or perform equivalent replacements for some of the technical features thereof. These modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A method for controlling agricultural machinery, characterized in that: Applied to machinery, including: Target compaction density of the hay when receiving the bale from the tractor; Calculating a target pressure value of the hay during baling based on the target compaction density and hay parameters corresponding to the type of hay to be baled; Acquiring an actual compaction density of the grass during baling, and determining an actual pressure value according to the actual compaction density; Determine whether the actual pressure value is greater than the target pressure value; if the actual pressure value is greater than the target pressure value, the solenoid valve opening is controlled to increase to control the hydraulic oil flow in the density cylinder to increase, push the compacting plate in the piston chamber, and increase the pressure applied to the hay. The solenoid valve is connected to the oil inlet and oil return port of the density cylinder through an oil pipe to control the inlet and outlet of the hydraulic oil. The piston rod of the density cylinder extends into the piston chamber and is connected to the compacting plate to push the compacting plate to move. The hay is placed in the piston chamber, and the compacting plate applies pressure to the hay when it moves in the piston chamber; if the actual pressure value is not greater than the target pressure value, the solenoid valve opening is controlled to decrease to control the hydraulic oil flow in the density cylinder to decrease, and not push the compacting plate in the piston chamber, thereby reducing the pressure applied to the hay. When it is detected that the actual pressure value reaches the pressure limit and the solenoid valve opening still needs to be adjusted, it is determined whether the actual pressure value is greater than the target pressure value; if the actual pressure value is greater than the target pressure value, a first vehicle speed control signal is sent to the tractor to control the tractor to decelerate and reduce the amount of grass fed into the implement; if the actual pressure value is less than the target pressure value, a second vehicle speed control signal is sent to the tractor to control the tractor to accelerate and increase the amount of grass fed into the implement.
2. The method according to claim 1, characterized in that The method further comprises: When the tractor and the implement are started, the first version information is sent to the tractor, the second version information fed back by the tractor is received, and a connection is established with the tractor according to the version number corresponding to the second version information; After receiving the authorization signal, a digital certificate and encryption mechanism are used to perform two-way authentication between the tractor and the implement to connect the authorized tractor equipment to the implement.
3. The method according to claim 2, characterized in that The method further comprises: After the implement establishes a connection with the tractor, the implement sends a tractor speed control function signal to the tractor and receives a feedback signal from the tractor, wherein the tractor speed control function signal is used to indicate that the implement sends a function allocation message to the tractor, requesting exclusive use of the tractor speed control function; When it is detected that the feedback signal represents an authorization signal for the tractor to monopolize the tractor speed for the implement, a speed control signal is sent to the tractor to control the tractor speed adjustment.
4. The method according to claim 3, characterized in that Two-way authentication is performed in the following ways: After the implement establishes a connection with the tractor, sending a status bit to the tractor, wherein the status bit is used to indicate a first authentication type of the implement; receiving status information of the tractor and determining a second certification type of the tractor; Determining a target authentication type according to the first authentication type and the second authentication type; When detecting that the target authentication type indicates lightweight authentication, generating a first random challenge code, receiving a second random challenge code generated by the tractor, generating a shared key, and calculating a first implement response value based on the second random challenge code and the shared key; The first implement response value is sent to the tractor, and a first authentication result is received, where the first authentication result is determined by the tractor based on the first tractor response value and the first implement response value, where the first tractor response value is generated based on the shared key and the first random challenge code.
5. The method according to claim 4, characterized in that The method further comprises: When detecting that the target authentication type indicates full authentication, sending a certificate request to the tractor and obtaining the tractor's digital certificate; Determining whether the tractor meets certificate authentication conditions, wherein the authentication conditions are used to indicate that the received digital certificate does not exist in a local certificate revocation list, the certificate chain is valid, the certificate classification identifier in the digital certificate is consistent with a preset certificate classification identifier, and the field conveying information is consistent with the corresponding field in the tractor production certificate; If the tractor does not meet the certificate authentication conditions, an authentication failure signal is sent to the tractor; If the tractor meets the certificate authentication conditions, a certificate authentication success signal is sent to the tractor, a first random challenge code is generated, and a second random challenge code generated by the tractor is received; Generate a shared key according to the first random challenge code and the second random challenge code; Splitting the shared key into a first independent key and a second independent key, sending the first independent key to the tractor, and receiving the second independent key sent by the tractor; Calculating a second tool response value based on the second random challenge code and the second independent key; The second implement response value is sent to the tractor, and a second authentication result is received, where the second authentication result is determined by the tractor based on the second tractor response value and the second implement response value, where the second tractor response value is generated based on the first independent key and the first random challenge code.
6. An agricultural machinery control device, characterized in that: include: A target compaction density receiving module is used to receive a target compaction density corresponding to the grass when baling from the tractor; a target pressure value calculation module, configured to calculate a target pressure value of the hay during baling based on the target compaction density and hay parameters corresponding to the type of hay to be baled; an actual pressure value determination module, configured to obtain an actual compaction density of the grass during baling and determine an actual pressure value according to the actual compaction density; An adjustment module is used to determine whether the actual pressure value is greater than the target pressure value; if the actual pressure value is greater than the target pressure value, the solenoid valve opening is controlled to increase to control the increase of the hydraulic oil flow in the density cylinder, push the compacting plate in the piston chamber, and increase the pressure applied to the hay. The solenoid valve is connected to the oil inlet and oil return port of the density cylinder through an oil pipe to control the inlet and outlet of the hydraulic oil. The piston rod of the density cylinder extends into the piston chamber and is connected to the compacting plate to push the compacting plate to move. The hay is placed in the piston chamber, and the compacting plate applies pressure to the hay when it moves in the piston chamber; if the actual pressure value is not greater than the target pressure value, the solenoid valve opening is controlled to decrease to control the decrease of the hydraulic oil flow in the density cylinder, so as not to push the compacting plate in the piston chamber and reduce the pressure applied to the hay; The vehicle speed control signal sending module is used to determine whether the actual pressure value is greater than the target pressure value when it is detected that the actual pressure value has reached the pressure limit and the solenoid valve opening still needs to be adjusted; if the actual pressure value is greater than the target pressure value, a first vehicle speed control signal is sent to the tractor to control the tractor to decelerate and reduce the amount of grass fed into the implement; if the actual pressure value is less than the target pressure value, a second vehicle speed control signal is sent to the tractor to control the tractor to accelerate and increase the amount of grass fed into the implement.
7. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and the processor executes the machine-readable instructions to perform the steps of any one of the methods described in claims 1 to 5.
8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are executed.
Citation Information
Patent Citations
Data exchange method and system of virtual terminal of agricultural machine, medium and equipment
CN114826815A
Bale density control method and system for square baler
CN116508508A
Crop throughput sensing system for a harvesting machine
US20200260645A1