Power tool system and upgrade method for the system
By introducing an IoT module and bus connection into the power tool system, the simultaneous allocation and security verification of upgrade files are achieved, solving the latency problem in data transmission and upgrade processes in the power tool system, and improving the system's data transmission efficiency and user experience.
Patent Information
- Application Number
- CN202310072898.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-12-21
- Filing Date
- 2018-11-30
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2038-11-30
AI Technical Summary
Existing power tool systems suffer from latency and instability during data transmission and upgrades, resulting in low efficiency and a poor user experience.
By introducing an Internet of Things (IoT) module into the power tool system and connecting each module via a bus, upgrade files can be simultaneously allocated and securely verified. A preset node upgrade sequence is adopted, and module upgrades are performed in conjunction with a bootloader, ensuring the real-time performance and reliability of data transmission.
It improves the data transmission efficiency and real-time performance of the power tool system, avoids delays, and enhances the overall transmission efficiency and user experience of the system.
Smart Images

Figure CN116170311B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to power tool systems, and more specifically to a power tool system with wireless transmission capabilities. Background Technology
[0002] With the development of network technology and the popularization of intelligent mobile communication devices, data connections and sharing between things through communication protocols are gradually changing people's lives.
[0003] In the field of power tools, establishing data transmission between power tools and mobile terminals, as well as between power tools themselves, is of great significance for improving the efficiency of power tool use, providing users with personalized control programs, and facilitating troubleshooting and safety hazards. Summary of the Invention
[0004] To address the shortcomings of existing technologies, the purpose of this disclosure is to provide a power tool system with wireless transmission capabilities and an upgrade method for that system.
[0005] To achieve the above objectives, the present disclosure adopts the following technical solution:
[0006] An electric tool system includes: a cloud server configured to write upgrade files to upgrade the electric tool; and an electric tool that wirelessly communicates with the cloud server. The electric tool includes: a motor; a drive module for driving the motor; a control module for outputting control signals to the drive module; and an Internet of Things (IoT) module for establishing a wireless communication link between the electric tool and the cloud server. The IoT module, drive module, and main control module share a bus, and the upgrade files are simultaneously distributed to the control module and / or the drive module via the bus.
[0007] Furthermore, the IoT module includes: an IoT processing unit, used to respond to upgrade requests and send upgrade instructions to the driver module and / or control module; and a file storage unit, used to store upgrade files from the cloud server and, upon receiving upgrade instructions, send the upgrade files to the driver module and / or control module via the bus.
[0008] Furthermore, the upgrade instructions include a preset node upgrade order.
[0009] Furthermore, the IoT module includes an IoT verification unit for performing security verification on the upgrade file.
[0010] Furthermore, the control module includes: a control memory having a bootloader area for storing a bootloader and an application area for storing applications; and a control processor coupled to the control memory and configured to perform the following operations: receiving an upgrade file; executing a bootloader; and writing the upgrade file to the application space to update the applications.
[0011] Furthermore, the control memory is flash memory; the control processor is configured to perform the following operations: when executing the bootloader, first erase the applications stored in the application area.
[0012] Furthermore, the control module is configured to perform the following operations: receive an upgrade command and determine whether to upgrade the control module; if no upgrade is required, the control module enters a standby state.
[0013] Furthermore, power tools include lawnmowers.
[0014] An upgrade method for an electric tool system, the electric tool system including a cloud server and an electric tool that wirelessly communicates with the cloud server, the electric tool including a drive module for driving a motor, a control module for outputting control signals to the drive module, and an Internet of Things (IoT) module for establishing a wireless communication link with the cloud server, the upgrade method including the following steps: writing an upgrade file to the cloud server; and simultaneously sending the upgrade file to the control module and / or the drive module via a bus.
[0015] Furthermore, the IoT module stores upgrade files from the cloud server, responds to upgrade requests, and sends upgrade instructions to the control module and / or drive module.
[0016] Furthermore, the upgrade instructions include a preset node upgrade order.
[0017] Furthermore, it also includes the following steps: determining whether to upgrade the control module; if no upgrade is required, then putting the control module into standby mode.
[0018] The advantage of this disclosure is that the IoT module establishes information scheduling with other modules through a bus, and each module simultaneously shares the upgrade files issued by the IoT module through the bus. The IoT module can simultaneously receive bus allocation requests sent by each module, thereby effectively ensuring that each module sends data in a timely manner, avoiding delays, and improving the overall transmission efficiency and real-time performance of the system. Attached Figure Description
[0019] Figure 1 This is a schematic diagram of the structure of a power tool system as one embodiment;
[0020] Figure 2 yes Figure 1 Structural diagram of a lawnmower;
[0021] Figure 3 yes Figure 1 Internal structural diagram of a lawnmower;
[0022] Figure 4 yes Figure 3 Structure diagram of the wireless communication unit;
[0023] Figure 5 This is a flowchart of a software upgrade method for a lawnmower system as one embodiment;
[0024] Figure 6 This is an internal structure diagram of a bootloader as one of the embodiments;
[0025] Figure 7 This is a flowchart of a software upgrade method for a lawnmower module, as one of the embodiments;
[0026] Figure 8 This is an upgrade flowchart for each module of a lawnmower, as one of the embodiments.
[0027] Figure 9 This is a flowchart of a method for upgrading a battery pack in a lawnmower system, as one of the embodiments.
[0028] Figure 10 This is a flowchart of a method for upgrading a battery pack in a lawnmower system, as one of the embodiments.
[0029] Figure 11 This is a data structure diagram as one of the embodiments;
[0030] Figure 12 This is a flowchart of a data processing method for a lawnmower system, as one of the embodiments.
[0031] Figure 13 This illustrates a storage structure for storing data;
[0032] Figure 14 This illustrates another data storage structure for the packet body;
[0033] Figure 15 This is a structural diagram of a portable power supply system as one embodiment;
[0034] Figure 16 yes Figure 15 A structural diagram of a portable power supply. Detailed Implementation
[0035] The present disclosure will now be described in detail with reference to the accompanying drawings and specific embodiments.
[0036] refer to Figure 1 and Figure 2 The power tool system includes: cloud server 200, power tools and terminal 300.
[0037] Cloud server 200 is used at least for storing upgrade files. Cloud server 200 also has server functions such as sending and receiving files, receiving and issuing instructions, computing, data processing and analysis, and network transmission. Cloud server 200 communicates with external devices wirelessly. Wireless communication between cloud server 200 and external devices is achieved using methods such as WiFi, ZigBee, and NB-IoT. In some embodiments, wireless communication between cloud server 200 and external devices is achieved using WiFi. Developers or service providers write new upgrade files to cloud server 200 for storage.
[0038] refer to Figure 1 As shown, a lawnmower 100 is used as an example to illustrate one embodiment of a power tool. Obviously, power tools can also be such as snowplows, pruning machines, table saws, etc., and this disclosure does not limit them.
[0039] The lawnmower 100 includes blades, a motor, a chassis 112, wheelsets 113, and a housing assembly. The blades are used for cutting grass, and the motor drives the blades to rotate. The chassis 112, as the main part of the lawnmower, assembles all the components together. The wheelsets 113 support the chassis 112 and can rotate relative to it, allowing the lawnmower to move relative to the ground. The chassis 112 has a cutting cavity within which the blades rotate under the drive of the motor. The housing assembly at least partially covers the chassis 112.
[0040] The lawnmower 100 also includes a battery pack 115, which serves as a power source for the lawnmower. In some embodiments, the battery pack is detachably connected to the lawnmower.
[0041] In some embodiments, the lawnmower is a push-type lawnmower, including a handle operating device, allowing the lawnmower to move by user operation of the handle. In other embodiments, the lawnmower includes two motors. One motor drives the rotation of the blades to achieve the cutting function; the other motor drives the wheel assembly 113 to enable the lawnmower to move itself.
[0042] refer to Figure 2 As shown, the lawnmower 100 also includes a power supply module 120, an information acquisition module 130, a mowing module 140, a self-propelled module 150, and an Internet of Things (IoT) module 160.
[0043] The power supply module 120 converts the electrical energy provided by the battery pack into electrical energy suitable for each module of the lawnmower to power each module. The power supply module 120 includes a lawnmower interface 121, a power conversion circuit 122, and a power bus interface 123. The lawnmower interface 121 is used to connect to the battery pack and is electrically connected to the battery pack interface. The power conversion circuit 122 converts the electrical energy from the connected battery pack into electrical energy with different voltages suitable for each module to power each module separately. The power conversion circuit 122 is electrically connected to the lawnmower interface 121.
[0044] The information acquisition module 130 is used to collect data related to the lawnmower, such as the lawnmower motor current, lawnmower motor voltage, lawnmower motor speed, self-propelled motor current, self-propelled motor voltage, and self-propelled motor speed. Specifically, the information acquisition module 130 includes an information acquisition unit 131, an information processing unit 132, and an information storage unit 133. In some specific embodiments, the information acquisition unit 131 includes a current sensor for acquiring the lawnmower motor current, a voltage sensor for acquiring the lawnmower motor voltage, or other circuits or devices capable of acquiring voltage or current. The information processing unit 132 is electrically connected to the information acquisition unit 131 and is used to perform calculations, processing, and other operations on the data acquired by the information acquisition unit 131.
[0045] The information storage unit 133 is used to store data related to the lawnmower, including but not limited to the lawnmower model, historical data of the lawnmower, and current and voltage data collected by the information acquisition unit 131.
[0046] In some embodiments, the information storage unit 133 is configured to store data information related to the lawnmower according to a preset data structure.
[0047] refer to Figure 11 As shown, the preset data structure includes a packet header for information transmission, a packet trailer for security verification, and a data packet body. The data packet body includes data length, data type, packet sequence number, data content, and electronic serial number. Furthermore, the data type includes real-time data, statistical data, or historical data related to the lawnmower. By grouping data of the same type into a single data structure, data space is saved from duplication of packet headers and trailers, thus conserving data storage space.
[0048] The mowing module 140 includes a mowing motor drive unit 141, a mowing storage unit 142, a mowing bus interface 143, and a mowing control unit 144. The mowing motor drive unit 141 is connected to the mowing motor 111a and drives the motor to rotate, thereby driving the blades to cut grass. The mowing control unit 144 outputs control signals to the mowing motor drive unit 141 so that the drive unit 141 can drive the mowing motor at a preset frequency.
[0049] The mowing storage unit 142 is coupled to the mowing control unit 143 and is used to store data related to the mowing machine's cutting function, such as historical data of the mowing motor, statistical data, and related applications.
[0050] In some embodiments, the mowing storage unit 142 is used to store data related to the mower's cutting function. The mowing storage unit 142 is configured to store data according to... Figure 11 The data structure shown stores data related to lawnmower cutting. Further details will not be provided here.
[0051] The self-propelled module 150 includes a self-propelled motor drive unit 151, a self-propelled storage unit 152, a self-propelled bus interface 153, and a self-propelled control unit 154. The self-propelled motor drive unit 151 is connected to the self-propelled motor and drives the self-propelled motor to rotate, thereby rotating the wheel assembly 113 to achieve self-propelled movement of the lawnmower. The self-propelled control unit 154 outputs self-propelled control signals to the self-propelled motor drive unit 151 to drive the self-propelled motor to rotate, thus achieving self-propelled movement of the lawnmower.
[0052] The self-propelled storage unit 152 is used to store data related to the self-propelled operation of the lawnmower, such as the lawnmower's position coordinates, the built-in mowing map, and the self-propelled motor speed. The self-propelled storage unit 152 is configured to store data according to... Figure 11 The data structure shown stores data related to the self-propelled lawnmower. Further details will not be provided here.
[0053] The IoT module 160 includes a wireless communication unit 161, a file storage unit 162, an IoT bus interface 163, an IoT verification unit 164, a network distribution unit 165, and an IoT processing unit 166. The wireless communication unit 161 is used to communicate wirelessly with the cloud server and the terminal. Specifically, the wireless communication unit 161 receives instructions from the terminal and / or files sent by the cloud server. Instructions from the terminal include, but are not limited to, confirmation of upgrade instructions from the terminal, and obtaining battery pack power information such as remaining battery power, remaining battery usage time, and the lawnmower's self-propelled trajectory. Files sent by the cloud server include, but are not limited to, upgrade files and applications for upgrading various modules within the lawnmower, upgrade files for upgrading the battery pack, or various data packets.
[0054] In some embodiments, the wireless communication unit 161 includes Bluetooth 166 and WiFi 167. The lawnmower establishes a wireless connection with the cloud server via WiFi, and a wireless connection is established between the lawnmower and the terminal via Bluetooth. When the WiFi signal is weak, communication between the terminal and the lawnmower is established via Bluetooth, improving the user experience while reducing the lawnmower's power consumption.
[0055] The IoT bus interface 163 is used to establish communication connections with various internal modules in the lawnmower to enable the transmission of data, files, and commands. Specifically, the IoT bus interface 163 establishes communication connections with various internal modules in the lawnmower via a bus mechanism.
[0056] refer to Figure 3 As shown, the IoT bus interface 163, power supply bus interface 123, lawnmower bus interface 143 and self-propelled bus interface 153 are all connected to the bus 101 to realize information interaction and data transmission between the modules through the bus 101.
[0057] The IoT module 160 establishes information scheduling with other modules via a bus. Each module simultaneously shares the upgrade files issued by the IoT module 160 via the bus. The IoT module 160 can simultaneously receive bus allocation requests sent by each module, thereby effectively ensuring that each module sends data in a timely manner, avoiding delays, and improving the overall transmission efficiency and real-time performance of the system.
[0058] In some embodiments, the wireless communication unit 161 receives an upgrade command from a terminal and sends the received upgrade command to the mowing module 140 to upgrade the mowing module 140. In some embodiments, the wireless communication unit 161 receives an upgrade command from a terminal and sends the received upgrade command to the self-propelled module 150 to upgrade the self-propelled module 150. In other embodiments, the wireless communication unit 161 receives an upgrade command from a terminal and sends the received upgrade command to one or more of the mowing module 140, the acquisition module, and the information acquisition module 130. The upgrade command includes a preset node upgrade order. A node refers to each functional module of the lawnmower. Any module that needs to interact with external information can be understood as a node. The upgrade command includes a preset node upgrade order, causing each node to be upgraded according to the preset upgrade order.
[0059] In some embodiments, the file storage unit 162 stores upgrade files sent by the cloud server. Upon receiving an upgrade instruction confirming the upgrade, the upgrade file is sent to the corresponding modules in the lawnmower so that the corresponding modules can upgrade according to the upgrade file. In some embodiments, after receiving an upgrade instruction confirming the upgrade, the IoT module 160 causes the file storage unit 162 to first store the upgrade file sent by the cloud server, and then sends the upgrade file to the corresponding modules in the lawnmower after the upgrade file download is complete. Specifically, the IoT module 160 includes an IoT processing unit, which is used to receive upgrade instructions from the terminal or send upgrade instructions to the lawnmower module 140 and / or the self-propelled module 150. Since the lawnmower and the cloud server communicate wirelessly, such as via WiFi, the method of first downloading and storing the upgrade file in the file storage unit 162 and then calling the upgrade file in the file storage unit 162 to upgrade the corresponding modules avoids the problem of upgrade failure that may occur when the lawnmower has an unstable network. Furthermore, once the upgrade file is successfully downloaded and the complete upgrade package is stored in the file storage module, the corresponding modules of the lawnmower can still be updated and upgraded even if the lawnmower is disconnected from the network.
[0060] The IoT verification unit 164 is used to verify the identity of received data. For example, it checks whether the data baud rate matches and whether the upgrade data packet is complete.
[0061] The network configuration unit 165 is used to enable the lawnmower to establish network connections with both the cloud server and the terminal. In some embodiments, the wireless communication unit 161 includes Bluetooth and WiFi, and the network configuration unit 165 is used to selectively enable the lawnmower 210 to connect to the terminal wirelessly via either Bluetooth or WiFi. Preferably, when the network configuration unit 165 detects that both Bluetooth and WiFi are available simultaneously, Bluetooth is preferred, meaning the lawnmower and the terminal connect via Bluetooth. This has the advantage of reducing power consumption for both the lawnmower and the terminal, resulting in faster response times and improved user experience.
[0062] Specifically, the network configuration unit 165 is configured to detect whether both Bluetooth and WiFi are active. When both Bluetooth and WiFi are active, Bluetooth is activated. After Bluetooth is activated, it sends an access authentication request to the terminal to authenticate the terminal. After receiving the access authentication request from the Bluetooth unit, the terminal responds to the access authentication request using a pre-set authentication method. Bluetooth receives the authentication response from the terminal and performs authentication matching. If the matching is successful, the Bluetooth unit grants the terminal access permissions to establish a Bluetooth connection between the lawnmower and the terminal, enabling data transmission and communication.
[0063] When lawnmower software malfunctions or requires updates or upgrades to already shipped products, disassembly is typically necessary to modify the software, causing significant inconvenience for both product development and user experience. Therefore, a more convenient and efficient software upgrade method is needed for lawnmowers.
[0064] refer to Figure 5 As shown, the software upgrade method for a lawnmower system mainly includes the following steps:
[0065] S501. Store the new upgrade file to the cloud server.
[0066] Specifically, the developer writes the new upgrade file to cloud server storage. In some embodiments, the upgrade file is an upgrade file that upgrades one of the mowing module 140, the information collection module 130, or the self-propelled module 150. In some embodiments, the upgrade file is an upgrade file that upgrades any combination or all of the modules 140, 130, or 150. In some embodiments, the upgrade file is an upgrade file that upgrades the battery pack. Obviously, in some embodiments, the upgrade file includes upgrade data packages that upgrade the various modules in the lawnmower or upgrade data packages that upgrade the battery pack.
[0067] The upgrade file includes information about the upgrade object (such as product type, model, code, or one or more of these), file version information, and file verification information.
[0068] S502. The cloud server sends a new upgrade file to the lawnmower storage.
[0069] In this step, after the lawnmower establishes a wireless connection with the cloud server, the new upgrade file is downloaded to the lawnmower wirelessly, such as via Wi-Fi, NB-IoT, LoRa, or other wireless transmission methods.
[0070] The new upgrade file is stored in the lawnmower. Specifically, the new upgrade file is stored in the IoT module 160. More specifically, the IoT module 160 has a flash memory for storing the new upgrade file. The flash memory includes a bootloader area for storing the bootloader and an application area for storing applications (such as...). Figure 6 (As shown).
[0071] S503. Determine whether the new upgrade file has been downloaded completely. If yes, proceed to step S504; otherwise, end the process.
[0072] S504. Send an upgrade command to terminal 300 to confirm whether an upgrade is needed. If yes, proceed to step S505; otherwise, end.
[0073] In this step, after the new upgrade file is downloaded, the lawnmower sends an upgrade command to the terminal 300. Specifically, the upgrade command is sent to the terminal wirelessly via the IoT module 160. In some embodiments, the IoT module 160240 includes a WiFi unit and a Bluetooth unit, and data transmission between the lawnmower and the terminal is conducted via Bluetooth; that is, the lawnmower sends the upgrade command to the terminal 300 via Bluetooth. This has the advantage of reducing the lawnmower's power consumption.
[0074] The terminal is a mobile device such as a mobile computer or mobile phone, which includes a display device that can be operated by the user. After receiving the upgrade command transmitted by the lawnmower, the terminal displays it in graphical form on the display device for the user to select whether to upgrade. If the user confirms the upgrade, the process proceeds to step S505; otherwise, the process ends.
[0075] S505. Receive confirmation of upgrade command and complete upgrade.
[0076] In this step, the lawnmower wirelessly receives an upgrade confirmation command from the terminal. The IoT module 160 responds to the upgrade confirmation command, retrieves the new upgrade file stored in the file storage unit 162, and sends the new upgrade file to the corresponding module requiring upgrade, thus completing the upgrade.
[0077] The aforementioned upgrade method stores the new upgrade file in the IoT module 160 before upgrading. This ensures that even when the network signal is unstable, the upgrade can be completed as long as the upgrade file is stored in the IoT module 160. Compared to the method of upgrading while downloading, this improves upgrade efficiency, avoids data redundancy, and frees up storage space in the IoT module 160.
[0078] Another method for software upgrades to lawnmower systems mainly includes the following steps:
[0079] S511. Store new upgrade files to the cloud server.
[0080] S512. Send an upgrade command to terminal 300 to confirm whether an upgrade is needed. If yes, proceed to step S513; otherwise, end.
[0081] S513. The cloud server sends a new upgrade file to the lawnmower storage.
[0082] S514. Determine whether the new upgrade file has been downloaded completely. If yes, proceed to step S515; otherwise, end the process.
[0083] S515. Update the upgrade files and complete the upgrade.
[0084] The difference from the software upgrade method mentioned above is that the terminal first confirms whether to upgrade. If an upgrade is required, the cloud server then sends a new upgrade file to the lawnmower storage.
[0085] The following details how to update or upgrade the software on a lawnmower. The software update or upgrade is performed using a bootloader.
[0086] The bootloader is a mechanism by which the controller manipulates a portion of its own flash memory to update the application, thereby enabling software updates or upgrades. This allows communication with various modules within the lawnmower via a reserved communication interface, enabling each module to call the bootloader to update its application, thus achieving firmware updates and upgrades for the lawnmower. These modules include the lawnmower's internal IoT module 160, data acquisition module, and self-propelled module 150, among others. In some specific embodiments, each module includes a programmable MCU and flash memory, with the bootloader stored in the flash memory.
[0087] refer to Figure 6 The diagram shows the structure of the bootloader. The bootloader includes a bootloader area 601 and a user program area 602. The bootloader area receives external data and instructions via communication, verifies relevant information in the user program area (e.g., file integrity, version information, etc.), and updates the applications stored in the user program area. The user program area stores the application program, i.e., the application code. Flash memory allocates storage space to the bootloader area and the application program area according to actual needs. Figure 6 As shown, the flash memory allocates two storage spaces, SA0 and SA1, to the bootloader area, and SA2 to the application area. Other information related to the lawnmower system 10 can also be stored in the flash memory in the SA3 area.
[0088] The bootloader has read and write capabilities, allowing it to read data stored in flash memory, write data to memory, and overwrite all applications stored in flash memory before writing a new program. The bootloader 601 performs read, write, and / or erase operations by calling predefined commands. For example, calling the read command "R" reads data from flash memory 600, calling the erase command "E" erases any one or all memory segments, and calling the write command "W" writes data to any one or all memory segments.
[0089] The bootloader 601 is an executable program stored in the flash memory 600 of the MCU, capable of reading data from the flash memory 600 or writing data to the flash memory. When the application stored in the flash memory 600 needs to be updated, the bootloader 601 can write the new application 602 to the application area, thus replacing the original application with the new application.
[0090] Since both the bootloader 601 and the application program are stored in the MCU's flash memory 600, if the address of the program called by the MCU is incorrect, the MCU may incorrectly execute the bootloader 601. To solve this problem in practice, an upgrade key can be introduced; the program is updated and upgraded when the upgrade key matches.
[0091] In the aforementioned lawnmower systems, the battery pack and lawnmower 210 can be updated and upgraded via a bootloader.
[0092] The following uses a lawnmower as an example to illustrate how a bootloader updates and upgrades the lawnmower's software. Each module in the lawnmower establishes a communication connection with the IoT module 160 via a bus. The IoT module 160 can selectively perform file upgrades and software updates on any one or more modules mounted on the bus using a bus scheduling method. For ease of description, refer to... Figure 7 As shown, taking the lawn mowing module 140 as an example, the upgrade process of the IoT module 160 scheduling the lawn mowing module 140 is explained.
[0093] The method for upgrading the files of the mowing module 140 in a lawnmower includes the following steps:
[0094] S701. The IoT module 160 sends an upgrade command to the lawn mowing module 140.
[0095] S702. When the lawn mowing module 140 receives the upgrade command, it determines whether it is an upgrade for the lawn mowing module 140. If yes, it sends an upgrade response (including the identity information of the lawn mowing module 140) to the IoT module 160. If no, the lawn mowing module 140 enters the standby state.
[0096] S703. The IoT module 160 determines whether the identity information in the upgrade response matches; if so, it sends the key to the lawnmower module 140.
[0097] S704. The lawn mowing module 140 receives the key and determines whether the key matches. If it matches, the lawn mowing module 140 enters the upgrade state and sends a confirmation upgrade command to the IoT module 160; otherwise, it ends.
[0098] After receiving the confirmation upgrade instruction, the S705 IoT module 160 sends the upgrade file (i.e., the upgrade data packet) to the lawn mowing module 140.
[0099] S706. The lawn mowing module 140 receives the upgrade data packet until the upgrade data packet is completely sent.
[0100] An anomaly may occur during the upgrade process, resulting in an incomplete upgrade file received by one of the modules, thus affecting the upgrade of that module. This problem can be solved by setting an upgrade end flag. Specifically, the upgrade file, i.e., the upgrade data packet, includes an end flag. As one specific implementation, step S706 further includes the following sub-steps:
[0101] S761. Check if the upgrade data packet contains an end marker; if not, the lawn mowing module 140 executes step S762; if it does, execute step S707.
[0102] S762. Send an upgrade request to IoT module 160. Upon receiving the upgrade request, IoT module 160 returns to step S701 and continues execution until the upgrade is completed.
[0103] In step S762, the upgrade request includes node identity information indicating the lawn mowing module 140. The IoT module 160 can read the node identity information to schedule the corresponding upgrade file to be sent.
[0104] This method further improves the success rate of module upgrades.
[0105] S707. Update the original file data package to complete the upgrade.
[0106] In step S707, taking the lawn mowing module as an example, the lawn mowing storage unit has a bootloader area for storing the bootloader and an application area for storing the application. The lawn mowing control unit is coupled to the lawn mowing storage unit and performs the following operations: receiving the upgrade file, executing the bootloader, and writing the upgrade file to the application space to update the application.
[0107] Obviously, this explanation only uses the lawnmower module 140 as an example. Other modules in the lawnmower, such as the self-propelled module 150 and the information collection module 130, can be upgraded in the same way. The Internet of Things module 160 can also send multiple upgrade data packets to each module simultaneously via the bus, enabling each module to complete its own file upgrade.
[0108] The various modules in the lawnmower work together in coordination. To ensure the safe use of the lawnmower, each module is set to perform the following operation: when any one module enters the upgrade state, all other modules enter the standby state.
[0109] As one specific implementation method, the IoT module 160 sends upgrade commands to each module via a bus, as shown in the reference. Figure 8 As shown, each module is configured to perform the following operations:
[0110] S810 receives upgrade command and enters standby mode;
[0111] S820. Each module determines whether it needs to be upgraded. If so, proceed to step S830; otherwise, remain in standby mode.
[0112] S830. The corresponding module has entered upgrade mode;
[0113] S840. Determine if all upgrade instructions have been completed. If yes, proceed to step S850; otherwise, return to step S820.
[0114] S850. All modules resume working status.
[0115] The IoT module 160 sends upgrade instructions to each module via the bus. The upgrade instructions include the target address, identifier, upgrade file version number, and upgrade data packet of the module to be upgraded.
[0116] In some embodiments, the IoT module 160 includes an IoT processor configured to send upgrade instructions to each module in a preset order, and each module is upgraded in the preset order.
[0117] The battery pack is connected to the lawnmower, the lawnmower is powered on and operates, and an electrical and communication connection is established between the battery pack and the lawnmower. Specifically, information is transmitted through a communication connection established between the communication terminals of the battery pack and the communication terminals of the lawnmower. In some specific embodiments, the lawnmower system can upgrade the battery pack without adding an additional IoT module 160 to the battery pack.
[0118] refer to Figure 9 As shown, one embodiment of the method for upgrading a battery pack in a lawnmower system includes the following steps:
[0119] S910. Determine whether the battery pack and the lawnmower have established a communication connection. If yes, proceed to step S920; otherwise, end.
[0120] In this step, the battery pack is connected to the lawnmower, and the lawnmower determines whether a communication connection has been established between the battery pack and the lawnmower. For example, changes in the electrical signals between the battery pack and the lawnmower can be used as the basis for determining whether a communication connection has been established.
[0121] S920 uploads battery pack firmware information to the lawnmower.
[0122] In this step, the battery pack uploads its firmware information to the lawnmower via the battery pack communication terminal and the lawnmower communication terminal. This firmware information includes the battery pack model, rated voltage, previous version number, battery life, and battery capacity.
[0123] The S930 lawnmower receives battery pack firmware information and uploads it to the cloud server.
[0124] In this step, the lawnmower receives the battery pack firmware information and wirelessly uploads it to the cloud server via the IoT module 160. In some embodiments, the battery pack firmware information is uploaded to the IoT module 160 via a bus, and then directly uploaded to the cloud server wirelessly via the IoT module 160. This eliminates the need to store the battery pack firmware information in the lawnmower, saving the lawnmower's memory space.
[0125] S940. Determine whether the battery pack needs to be upgraded. If yes, proceed to step S950; otherwise, proceed to step S960.
[0126] In this step, the cloud server determines whether a battery pack upgrade is needed. For example, if a new battery pack upgrade file is written to the cloud server, the version number of the new battery pack upgrade file is compared with the version number of the uploaded battery pack file; if the version numbers match, it indicates that no upgrade is needed; if the version numbers do not match, it indicates that a battery pack upgrade is needed.
[0127] S950. The cloud server sends upgrade information to the terminal. The user confirms whether to upgrade. If yes, proceed to step S970; otherwise, proceed to step S960.
[0128] In this step, the cloud server wirelessly sends the upgrade command to the terminal, allowing the user to choose whether or not to upgrade.
[0129] S960 stores the battery pack firmware information to the cloud server.
[0130] In this step, the battery pack firmware information is stored on the cloud server so that users can retrieve the information they need through their terminals, making it convenient for users to understand the battery pack's usage status. For example, the retrieved battery pack information can be directly displayed on the terminal.
[0131] The S970 cloud server responded to the upgrade command and sent the new battery pack upgrade file to the lawnmower.
[0132] In this step, the new battery pack upgrade file is wirelessly sent to the lawnmower and stored in the IoT module 160.
[0133] S980. Issues a new battery pack upgrade file to the battery pack to complete the battery pack upgrade.
[0134] refer to Figure 10 As shown, an upgrade method for the battery pack in a lawnmower system, as another embodiment, includes the following steps:
[0135] S110. The cloud server stores the new battery pack upgrade file and distributes the new battery pack upgrade file to the lawnmower.
[0136] S120. The lawnmower receives a new battery pack upgrade file and stores it in the IoT module 160.
[0137] Specifically, the new battery pack upgrade file is stored in file storage unit 162. In this step, as one implementation, a step can be added to verify whether the new battery pack upgrade file has been successfully downloaded. For example, the battery pack upgrade file includes an end marker; if the end marker is detected, it indicates a successful download. Otherwise, the upgrade operation is not performed.
[0138] S130. Issue the new battery pack upgrade file to the battery pack.
[0139] Specifically, in this step, the new upgrade file package stored in the IoT module 160 is sent to the power supply module 120 via the bus, and then transmitted to the battery pack via the lawnmower communication terminal and the battery pack communication terminal.
[0140] S140. Battery pack upgrade complete.
[0141] In this step, the battery pack receives the new battery pack upgrade file, updates the original battery pack upgrade file, and finally completes the battery pack upgrade.
[0142] The terminal features an interactive interface for user operation, allowing users to remotely control the lawnmower by manipulating corresponding display icons. For example, users can operate the terminal to remotely turn the lawnmower on and off, set timers, and lock it. Users can also select specific interface elements to access lawnmower-related information.
[0143] The terminal communicates with the lawnmower wirelessly and can display various information about the lawnmower, such as the output power, total remaining charging time, and self-propelled trajectory.
[0144] It should be noted that the above upgrade methods are also applicable to other power tool systems, including motors, drive modules for driving motors, and control modules for outputting control signals.
[0145] The cloud server comprises a cloud storage unit and a cloud processing unit. The cloud processing unit is configured to receive data uploaded by the lawnmower and perform deduplication on the uploaded data. The cloud storage unit is configured to receive and store the battery pack data deduplicated by the cloud processor.
[0146] refer to Figure 11 The diagram illustrates a storage structure. The data storage structure includes a header, body, and trailer for information transmission.
[0147] The packet body includes the start time, data length, data type, data content, electronic serial number, packet number, and end time. Each time the lawnmower is switched on and off is counted as one data record, with the start time being the moment the lawnmower is turned on and the end time being the moment the lawnmower is turned off.
[0148] Data types include historical data, real-time data, statistical data, and control data. As one specific implementation method, each data type corresponds to a uniquely matched code; for example, code X001 represents statistical data, code X002 represents historical data, and code X003 represents real-time data.
[0149] An electronic serial number, also known as a device ID, is used to identify a specific device. Each device has a unique electronic serial number for easy identification.
[0150] The packet tail includes check bits, etc.
[0151] In practical use, each time a lawnmower is switched on and off, data is recorded. There are instances where the same data is repeatedly written to the memory, resulting in a large amount of redundant data and consuming valuable memory space. For example, historical data related to the battery pack is repeatedly written to cloud storage. Therefore, a simple and efficient method for data deduplication is needed to free up memory space and improve data transmission efficiency.
[0152] refer to Figure 12 As shown in the figure, as one specific embodiment, the cloud processor performs data deduplication processing on the data related to the self-propelled lawnmower in the following manner:
[0153] S201. Read data related to the self-propelled lawnmower;
[0154] S02. Determine the data type of the data related to the self-propelled lawnmower. If the data type is statistical data or historical data, proceed to step S03; otherwise, proceed to step S201.
[0155] S03. Perform deduplication screening on data related to the self-propelled lawnmower based on data duplication matching rules;
[0156] S04. Automatically merge related data after deleting duplicate matching elements;
[0157] In step S03, the data duplication matching rule includes multiple matching elements and the matching order of each matching element. The matching elements include electronic serial number, data packet sequence number, and start or end time.
[0158] In some specific embodiments, the matching order is to first traverse the electronic serial number, then traverse the data packet sequence number, delete data packets with the same electronic serial number and data packet sequence number, and then automatically merge the relevant data according to the preset data structure.
[0159] In another specific embodiment, the matching order is to first traverse the electronic serial number, then traverse the start time and end time. After deleting data packets with the same electronic serial number, start time, and end time, the relevant data are automatically merged according to a preset data structure.
[0160] like Figure 13 As shown, the data for the time period from start time t1 to end time t2 is affected by the lawnmower's repeated on / off cycles, and will be continuously pressed... Figure 13 The data is written sequentially to the cloud server in a specific manner. The cloud processor is configured to... Figure 12 The process shown deduplicates the data and finally removes duplicate matching elements. Figure 14 The data structure shown is written to cloud storage. This reduces the number of bytes and frees up storage space.
[0161] It is foreseeable that this deduplication method can also be applied to data stored in other storage units, and this disclosure does not limit it in this regard.
[0162] For example, the battery pack stores battery-related data. When the battery pack is connected to the lawnmower and a mechanical and electrical connection is established, the data stored in the battery pack is transmitted via bus to the lawnmower's IoT module 160, and then uploaded by the IoT module 160 to the cloud server for storage. This eliminates the need to add an additional IoT module 160 to the battery pack, and users can quickly retrieve battery pack data information by accessing the data stored in the cloud server through their terminals.
[0163] refer to Figure 15 and Figure 16 The portable power system 400 includes a battery pack 410, an adapter 420, a cloud server 430, and a terminal 440.
[0164] The cloud server 430 possesses server functions such as sending and receiving files, receiving and issuing commands, computation, data processing and analysis, and network transmission. Wireless communication between the cloud server 430 and external devices is achieved via WiFi, ZigBee, NB-IoT, etc. Specifically, the cloud server 430 includes a cloud storage device and a cloud processor, and establishes wireless communication links with both the adapter 420 and the terminal 440. The aforementioned data processing methods also apply to the cloud server 430 and will not be elaborated further here.
[0165] Battery pack 410 can be selectively connected to adapter 420 to provide power to adapter 420. Battery pack 410 can also be connected to power tools to power them.
[0166] Adapter 420 can connect to multiple battery packs and convert the battery packs' electrical energy into AC power output. Adapter 420 includes an AC output interface 421 for outputting AC power to power electrical devices. Adapter 420 includes various functional modules such as an IoT module for wireless connectivity and transmission, an inverter module for converting battery pack energy into AC power, and a battery pack coordination module for controlling the charging and discharging of each battery pack, as well as corresponding memory and processor. Clearly, the data processing and upgrade methods described above for lawnmower systems are also applicable to data storage and deduplication in adapter 420, and will not be elaborated further here.
[0167] Clearly, the data processing and upgrade methods described above for lawnmower systems are also applicable to chargers that can charge battery packs.
[0168] The foregoing has shown and described the basic principles, main features, and advantages of this disclosure. Those skilled in the art should understand that the above embodiments do not limit this disclosure in any way, and all technical solutions obtained by equivalent substitution or equivalent transformation fall within the protection scope of this disclosure.
Claims
1. A portable power system, comprising: a battery pack for storing electric energy; an adapter selectively accessing the battery pack to convert the electric energy stored in the battery pack into an alternating current output; a cloud server wirelessly communicating with the adapter; a terminal wirelessly communicating with the cloud server; wherein the battery pack comprises: a battery pack communication terminal for transmitting battery pack data; the data type of the battery pack data comprises historical data, real-time data or statistical data; the adapter comprises: an inverter module for converting direct current of the battery pack into an alternating current output; an alternating current output interface for outputting alternating current to power a power consuming device; an Internet of Things module configured to transmit the battery pack data to the cloud server; the cloud server comprises: a cloud processor configured to receive the battery pack data and perform data deduplication processing on the battery pack data; a cloud storage configured to receive and store the battery pack data deduplicated by the cloud processor; the cloud processor is configured to perform deduplication processing on the battery pack data in the following manner: judging the data type of the battery pack data; if the data type of the battery pack data is statistical data or historical data, performing deduplication screening and deduplication processing on the battery pack data according to a data duplication matching rule; the data duplication matching rule comprises a plurality of matching elements and a matching order of the matching elements; the matching elements comprise an electronic serial number, a data serial number or a start time.
2. The portable power system of claim 1, wherein, the matching order of the matching elements is: traversing the electronic serial number first, and then traversing the data serial number or the start time.
3. The portable power system of claim 2, wherein, the data duplication matching rule is to automatically merge related content data according to a preset data structure after deleting the duplicate matching elements. 4.An electric tool system, comprising: an electric tool; a battery pack detachably connected with the electric tool to power the electric tool; a cloud server wirelessly communicating with the electric tool; wherein the battery pack comprises: a battery pack communication terminal for transmitting battery pack data; the data type of the battery pack data comprises historical data, real-time data or statistical data; the electric tool comprises: a tool communication terminal establishing a communication connection with the battery pack communication terminal to transmit information; an Internet of Things module configured to transmit the battery pack data to the cloud server; the cloud server comprises: a cloud processor configured to receive the battery pack data and perform data deduplication processing on the battery pack data; a cloud storage configured to receive and store the battery pack data deduplicated by the cloud processor; the cloud processor is configured to perform deduplication processing on the battery pack data in the following manner: judging the data type of the battery pack data; if the data type of the battery pack data is statistical data or historical data, performing deduplication screening and deduplication processing on the content data according to a data duplication matching rule; the data duplication matching rule comprises a plurality of matching elements and a matching order of the matching elements; the matching elements comprise an electronic serial number, a data serial number or a start time.
5. The power tool system of claim 4, wherein, The matching order of the matching elements is: traversing the electronic serial number first, and then traversing the data serial number or the start time.
6. The power tool system of claim 4, wherein, The data repetitive matching rule is to automatically combine related content data according to a preset data structure after deleting repetitive matching elements.
7. The power tool system of claim 4, wherein, Further comprising: A terminal wirelessly connected with the electric tool and capable of remotely controlling or setting the electric tool and acquiring battery pack information through the electric tool.
Citation Information
Patent Citations
Oil field Internet of things system communication method
CN102761391A
Robot mowing system capable of customizing mowing zone and control method thereof
CN104699101A
Improved UPS system with filtering function
CN106253462A