Over air protocol
Patent Information
- Application Number
- GB2025004556
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-27
- Publication Date
- 2026-08-26
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Photovoltaic (PV) panels are typically provided on a roof of a building to optimise collection efficiency. Thus, the location of the PV may be a distance from the mains electrical connection. An inverter for the PV panels may be provided in a location near to the PV, for example, a loft of the building. In contrast, a mains electricity connection may be provided at, or near to, ground level. Thus, the inverter and the mains electricity connection may not be near to one another. In particular, the inverter and the mains electricity connection may be separated by a distance greater than a range of a typical over air protocol, such as Wi-Fi or Bluetooth. The energy consumption associated with each of the inverter and the mains electricity connection may be measured by a respective energy measuring device. The energy measuring device connected to the inverter may have calibrated physical distance of less than 5 metres. Due to the distance between the inverter and the mains electrical connection, an energy measuring device connected to the inverter may not be able to use Wi-Fi or Bluetooth to connect to an energy measuring device connected to the mains electricity connection. Furthermore, data corresponding to the inverter and I or the mains electricity connection may be relatively large and I or may need to transmitted quickly . That is, the data may be representative of single, split-phase or three-phase power. Thus, communicating the data may require an appropriate amount of bandwidth i.e. capable of transmitting the data. LoRa (Long Range) radio is a low-power physical layer technology that is used to exchange wireless data over relatively long distances. LoRa radio communications may have less bandwidth than e.g. WiFi and thus, LoRa radio communication are typically used for simple loT devices to log data. That is, LoRa radio communications are not typically used for universal interactive communications including, for example, control messages. In LoRa, chirp pulses may be used to encode data on radio waves. Thus, data may be transmitted over the air using spread spectrum technology. In particular, Chirp Spread Spectrum modulation may be used. However, existing Media Access Control (MAC) layer protocols, such as LoRaWAN (Long Range Wide Area Network), have a number of disadvantages. In particular, LoRaWAN systems encounter significant security challenges, particularly in safeguarding the confidentiality and integrity of transmitted data. Although LoRaWAN employs AES encryption, vulnerabilities often emerge in the management and distribution of encryption keys. Poorly protected or compromised keys can enable attackers to intercept or modify data packets. Additionally, the lack of robust device pairing mechanisms makes LoRaWAN vulnerable to spoofing and unauthorised device connections, raising concerns about secure communication between devices. Furthermore, in LoRaWAN, efficient data transfer poses a challenge due to strict duty cycle limits. These constraints can create bottlenecks in environments with high network traffic or frequent device communication. The absence of dynamic timing mechanisms may lead to inefficient utilisation of bandwidth and increased latency, further hindering the system's ability to manage multiple simultaneous transmissions effectively. Device inter-communication in LoRaWAN networks is impeded by the lack of direct device-to-device communication protocols. Devices typically depend on gateways to mediate communications and cloud based logic, which can introduce latency and create single points of failure. That is, for first device to send a message to a second device using LoRaWAN, the message may need to be sent to a server for the server to send the message to the second device. Additionally, insufficient synchronisation between devices often results in data collisions or missed transmissions in scenarios involving a large number of devices. These issues reduce the reliability and scalability of LoRaWAN networks, particularly in complex deployments. It is an objection of the present invention to mitigate one or more disadvantages associated with the prior art. Summary In a first aspect described herein, there is a method performed by a second measuring device to communicate with a first measuring device over long range (LoRa) radio. The method comprises, after being paired with the first measuring device, storing one or more measured values. The method further comprises receiving, from the first measuring device, a first message indicating a start of a cycle of one or more time slots. The method further comprises forming a second message comprising an indication of the one or more measured values. The method further comprises determining a category for the second message. The method further comprises based on the determined category and the indicated start of the cycle, determining a time slot of the one or more time slots for transmitting the second message. The method further comprises transmitting, to the first measuring device, the second message during the determined time slot. The method may thus provide a direct device-to-device communication protocol for exchanging messages over LoRa. As the first and second measuring devices have been paired, messages may be exchanged in an efficient manner. That is, the messages may be exchanged directly between the devices i.e. without an intermediate server. Thus, minimal memory space of the messages may be required for routing. The pairing process may have established one or more encryption keys for encrypting I decrypting the second message. For example, the one or more encryption keys may be shared private keys. Thus, minimal memory space of the messages may be required for security. As a result, additional space may be provided for data in the messages than when using other protocols, for example, LoRa WAN. It will be appreciated that the term pairing is used to describe establishing of communications between two devices. That is, the two devices may only communicate with each other (i.e. a 1:1 connection). Alternatively, one or both of the devices may communicate with one or more other devices (i.e. a 1:n connection, where n is greater than 1). By use of the time slots, latency of the communications may be minimised. That is, less critical messages may not be sent in a first time slot and thus more critical messages may be sent in the first time slot. In other words, by including at least one time slot for critical messages in each cycle, critical messages may be received by the first measuring device sooner than otherwise. As an example, a message from a household fridge indicating energy use may be less critical than a message indicating energy use provided to the household by a mains electrical connection. The measuring devices may each be configured to receive signals from a sensor. Additionally or alternatively, each measuring device may comprise a sensor. For example, the sensor may be a current transformer. As an alternative example, the sensor may be a sensor of an inverter for photovoltaic panels. Thus, each measuring device may measure energy production and I or consumption and may be referred to as energy measuring devices. Thus, the method may allow for the location of the energy measuring devices to be decoupled from one another. As a further example, the sensor may be a thermometer. As a further example, the sensor may be an air quality sensor. That is, the sensor may indicate a carbon dioxide concentration of air. One or more of the measuring devices may be further configured to control energy consumption. For example, the first measuring device may be connected to an inverter and may be configured to control consumption of electrical energy generated by the photovoltaic panels. That is, the first measuring device may cause the electric energy generated by the photovoltaic panels to be used, stored or exported. Thus, the first measuring device may be referred to as a first energy controlling device. The indication of the one or more measured values may be a change log. The indication may be a compressed representation of the one or more measured values. The one or more time slots may be a plurality of time slots. One time slot of the plurality of time slots may be 20 ms longer than the other time slots. For example, the longer time slot may be 125 ms and each of the other time slots may be 105 ms. The longer time slot may correspond to the first category. Thus, messages transmitted by a second measuring device connected to a current transformer may be time aligned to the mains electrical connection. Each of the time slots may be sequential i.e. nonoverlapping. For example, the measured value may be an energy consumption or production. The measured value may be an absolute value (i.e. 1000 joules). Alternatively, the measured value may be a relative value (i.e. + 50 joules) and may be relative to a previously indicated value. In other words, the indication may be a change log. The second message may further comprise a offset. The offset may be indicative of a reference point. For example, the reference point may be a battery voltage. The category may be determined based on a property of the second measuring device; and / or a property of a quantity measured by the second measuring device. For example, the property of the second measuring device may be that the second measuring device is measuring current flow in a mains electrical connection. That is, the second measuring device may be, or may be connected to, a current transformer (e,g. a CT clamp). Thus, the second measuring device may determine the category to be a first category. The first category may correspond to a high priority category. As an alternative example, the second measuring device may be measuring a temperature. Thus, the quantity measuring by the second measuring device may be the temperature. The property of the temperature may be a relatively large change in temperature (i.e. over 10 degrees C over less than 5 minutes). Thus, the category may be determined to be the first category. The property of the temperature may be a relatively small change in temperature (i.e. less than 10 degrees over 5 minutes) and thus the category may be a second category. The second category may be lower priority than the first. The method may further comprise receiving, from the first measuring device, a third message acknowledging the second message. The method may further comprise prior to receiving the third message, transmitting, to the first measuring device, the second message one or more additional times. That is, the second measuring device may continue to transmit the second message until the second message has been acknowledged. The additional second messages may be transmitted in corresponding time slots. For example, each of the additional second message may be transmitted in a corresponding first slot of a respective cycle. In other words, each second message may be transmitted following the receipt of a corresponding first message. The method may further comprises pairing with the first measuring device by: receiving, from the first measuring device, a first pairing message indicating a pairing mode is activated at the first measuring device; transmitting, to the first measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device; receiving, from the first measuring device, a third pairing message responding to the second pairing message and indicating the private identifier of the first measuring device; and storing, in response to determining that the third pairing message indicated the private identifier of the second measuring device, the private identifier of the first measuring device as a paired device identifier. Pairing with the first measuring device may further comprise activating a pairing mode of the second measuring device; and wherein the second pairing message is transmitted in response to activation of the pairing mode. The pairing mode may be activated in response to user input. For example, the user input may be a button being pressed on the second measuring device. A portion of the second pairing message may be encrypted using a temporary key. In particular, the encrypted portion may be the portion indicating the private identifier of the second measuring device. In a second aspect described herein, there is method performed by a first measuring device to communicate with a second measuring device over long range (LoRa) radio. The method comprises, after being paired with the second measuring device, transmitting, to the second measuring device, a first message indicating a start of a cycle of one or more time slots. The method further comprises receiving, from the second measuring device, a second message comprising an indication of one or more measured values stored by the second measuring device. In response to receiving the second message, the first measuring device may transmit, to the second measuring device, a third message acknowledging the second message. The method may further comprising pairing with the second measuring device by: transmitting, to the second measuring device, a first pairing message indicating a pairing mode is activated receiving, from the second measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device and; storing, in response to receiving the second pairing message, the private identifier of the second measuring device as a paired device identifier; and transmitting, to the second measuring device, a third pairing message responding the second pairing message and indicating the private identifier of the first measuring device. Beneficially, after pairing the first and second measuring devices, the devices may communicate directly. Thus, minimal memory space of the messages may be required for routing and I or authentication. The third pairing message may further comprise an indication of the private identifier of the second measuring device. Thus, the third pairing message may act as confirmation that the third pairing message is intended for the second measuring device. The devices may have been paired using other methods. For example, the first and second measuring devices may have been paired as a step in a manufacturing process. Pairing with the second measuring device may further comprise activating a pairing mode of the first measuring device; and wherein the first pairing message is transmitted in response to activation of the pairing mode. The pairing mode may be activated in response to user input. For example, the user input may be a button being pressed on the first measuring device. The button may be a physical button. The first pairing message may comprise a flag indicating the message is transmitted in response to a pairing mode of the first measuring device being activated. A portion of the third pairing message is encrypted using a temporary key. In particular, the encrypted portion may be the portion indicating the private identifier of the first measuring device and the private identifier of the second measuring device. The temporary key may be used for a limited time. For example, the temporary key may be used during a pairing process. Response messages (i.e. messages that are sent in response to an earlier message) may comprise a flag indicating that the messages are response messages. In particular, the flag may correspond to which earlier message the response message is sent in response to. One of the first measuring device or the second measuring device is a connected device with an internet connection. For example, the connected device may have a WiFi connection, a connection to a satellite and / or a GSM connection. For example, the GSM connection may be a 5G connection. The other one of the first measuring device or the second measuring device may be a disconnected device i.e. without a direct connection to the internet. The disconnected device may not have a direct connection to the internet. While the methods described below are described in relation to a connected and disconnected device, it will be appreciated that both devices may be connected to the internet and the methods may be used to provide a second connection to the internet. The method of the first and I or second aspects may further comprise receiving, at the connected device, an upload message comprising data for upload to the internet; and uploading, to the internet and by the connected device, the data for upload to the internet. The upload message may be transmitted by the disconnected device. The connected device may transmit an acknowledge message in response to the upload message. The upload message may be a second message. Alternatively, the upload message may be another message. Beneficially, the disconnected device may be able to connect to the internet via the connected device. The data for upload may be one or more measurements provided by a measuring device. For example, the data for upload may contain one or more current readings. The data for upload may be a change log. That is, the one or more current readings may be relative values. The data for upload may be representative of one of more second messages. The data may be validated prior to uploading the data. The data may be validated by the connected device. In other words, the upload message may be received by the connected device and then the connected device may validate the data. Alternatively, the data may be validated by the disconnected device. In other words, the disconnected device may validate the data and then transmit the data to the connected device. The method may further comprise receiving, at the connected device and from a server, a prompt; and wherein the data is uploaded to the internet in response to the prompt. The server may send the prompt in response to the user input. For example, a user may be interacting with data held by the server through an app. In response to the user input, the prompt may be sent to the connected device which may cause the data to be uploaded. Thus, the server may be provided with up to date data for output to the user when the user is interacting with the system. The method may further comprise receiving, at the connected device, a request message comprising a request for data; in response to receiving the request message: obtaining, from the internet, the requested data; and transmitting, from the connected device, the obtained data. The obtained data may be transmitted to the disconnect device. In this way, the disconnected device may request the connected device to provide data from the internet. The method may further comprise, in response to receiving the request message transmitting, from the connected device and to the disconnected device, a request acknowledgement message. The method may further comprise the disconnected device receiving the obtained data. In response to receiving the obtained data, the disconnected device may transmit a data acknowledgement message. A portion of the first message and / or a portion the second message may be encrypted using a share private key determined during a pairing process. In particular, the shared private key may be based on the private identifier of the first measuring device and the private identifier of the second measuring device. Other messages, subsequent to the pairing process, may be encrypted in a similar way. In this way, the messages may be securely encrypted based on private identifiers exchanged during the pairing process. Transmitting each message from each measuring device may comprise: transmitting a message comprising a public identifier for the respective measuring device. That is, each message from the first measuring device may comprise a public identifier for the first measuring device. Each message from the second measuring device may comprise a public identifier for the second measuring device. The public identifier in each message may not be encrypted. The public identifier may be based on, and different to, the private identifier of measuring device. In this way, the public identifier may indicate to the measuring device that is receiving the message which encryption key to use to decrypt the message. For example, the measuring device may be paired to a plurality of other measuring devices, with an encryption key stored for each one of the other plurality of other measuring device. The public identifier may indicate to the measuring device which of the stored encryption keys should be used to decrypt the message. The public identifier may also be stored as part of the pairing process. The temporary key may be based on the public identifier of the first device. In particular, the temporary key may be based on a public identifier of the first device. The temporary key may be used during the pairing process. Each message may comprise error-detecting code. For example, each message may comprise a cycle redundancy check. In a third aspect described herein, there is a method of pairing a second measuring device with a first measuring device. The method comprises receiving, from the first measuring device, a first pairing message indicating a pairing mode is activated at the first measuring device. The method further comprises transmitting, to the first measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device. The method further comprises receiving, from the first measuring device, a third pairing message responding to the second pairing message and indicating the private identifier of the first measuring device. The method further comprises storing, in response to determining that the third pairing message indicated the private identifier of the second measuring device, the private identifier of the first measuring device as a paired device identifier. In a fourth aspect described herein, there is a method of pairing a first measuring device with a second measuring device. The method comprises transmitting, to the second measuring device, a first pairing message indicating a pairing mode is activated. The method further comprises receiving, from the second measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device. The method further comprises storing, in response to receiving the second pairing message, the private identifier of the second measuring device as a paired device identifier. The method further comprises transmitting, to the second measuring device, a third pairing message responding the second pairing message and indicating the private identifier of the first measuring device. In a fifth aspect described herein, there is a measuring device configured to perform the method of any of the first, second, third and I or fourth aspects. The measuring device may be configured to measure energy consumption and I or production. In a sixth aspect described herein, there is a system comprising a first measuring device configured to receive an input indicative of an inverter and a second measuring device configured to receive an input indicative of a mains electrical connection. The first and second measuring device may communicate according to the method of any one of the first, second, third and I or fourth aspects. The system may be provided as a kit of parts. In a seventh aspect described herein, there is computer readable storage media comprising instructions configured to cause a measuring device to perform the method of any one of the first, second, third and / or fourth aspects. Brief Description of the Drawings Embodiments of the invention will now be described, by way of example only, with reference to the accompanying schematic drawings, in which: Figure 1 is a schematic diagram depicting an example system comprising an energy controlling device and an energy measuring device; Figure 2 is a schematic diagram depicting an example device that may be used with the system of Figure 1; Figure 3 is a flow diagram depicting an example method of communication between a first energy measuring device and a second energy measuring device; Figure 4 is a flow diagram depicting an example method of pairing a first measuring device and a second measuring device; Figure 5 is a flow diagram depicting an example method of exchanging messages between a first measuring device and a second measuring device; Figure 6 is a flow diagram depicting an example method of uploading data to the internet; and Figure 7 is a flow diagram depicting an example method of downloading data from the internet. Optional steps in flow diagrams are indicated using boxes formed of dashed lines. Detailed Description Figure 1 is a schematic diagram depicting an example system 100. In the example system 100, a building 101 is provided with electrical power through a mains electrical connection 121. The building 101 is also provided with one or more solar panels 112 and an inverter 111. The building 101 may be any appropriate building. For example, the building may be a residential house. Alternatively, the building may be an industrial facility. Furthermore, while the building 101 is depicted in Figure 1 as being a single building, it will be appreciated that the system 100 may be used with a portion of a building (e.g. a flat) or multiple buildings (e.g. an industrial site). The mains electrical connection 121 provides the building 101 with electrical power. In other words, the mains electrical connection 121 may be a connection to a central electricity network. The mains electrical connector 121 may be provided electric power as an alternating current (AC). The mains electrical connection 121 may also be configured to allow the building 101 to export electrical energy to the central electricity network. For example, when the building 101 is generating a surplus of electrical energy, the surplus may be exported to the central electricity network via the mains electrical connection 121. The solar panels 112 also provide the building 101 with electrical power. The solar panels 112 comprise one or more photovoltaic modules that convert solar radiation into electrical power. In particular, the photovoltaic modules provide direct current (DC) electrical power. To convert the DC electric power into AC electrical power, the building 101 is further provided with an inverter 111. The inverter 111 may be provided with an output to output the AC electrical power for use by the building. The inverter may also be configured to charge a battery for use as a power source when the photovoltaic modules are providing insufficient power for the building. In order to allow for measurement and I or management of the power usage of the building 101, the system 100 is further provided with an energy controlling device 110 and an energy measuring device 120. The energy controlling device 110 is connected to the inverter 111. The energy controlling device 110 may measure one or more properties of the inverter 111. For example, the energy controlling device 110 may measure a current of the electrical power provided by the solar panels 112. The energy controlling device 110 may also control a status of the inverter 111. For example, the energy controlling device 110 may cause a battery to be charged by the electrical power provided by the solar panels 112. As an alternative example, the energy controlling device may cause the electrical power provided by the solar panels 112 to be consumed by a device installed in the building 101 (e.g. a washing machine). In addition the inverter and connected devices may receive commands from logic in the cloud (e.g. a server) that may be based on a forecasting element. The forecasting element may be weather and I or price forecasting. The forecasting element may enable collective coordination to facilitate reginal demands. For example, increased demand for energy could imitate a state whereby energy was managed to reduce dependence to the grid supply, in the event of high peak or power shedding, in effect acting as a virtual or micro grid. The energy measuring device 120 may be configured to measure the usage of the electrical power provided by the mains electrical connection 121. For example, the energy measuring device 120 may be configured to connect to a current transformer measuring a current flowing in the mains electrical connection 121. In other examples, the energy measuring device 120 itself may comprise the current transformer. The current transformer may be configured to produce a representation of the current flowing in the mains electrical connection 121. The representation may be scaled. The current transformer may comprise a primary winding and a secondary winding. The primary winding may be electrically or inductively coupled to the mains electrical connection 121. When electrical current flows in the mains electrical connection 121, the flow may generate an output current in the secondary winding. The output current may be proportional to the current flowing in the mains electrical connection 121. Each of the energy controlling device 110 and the energy measuring device 120 may be provided with a radio connection such that the devices may communicate with one another using radio frequency communications. In particular, the communications may use the LoRa (“Long Range”) standard. The communication may be compliant with ETSI EN300.22-2 band P. The communications may be in the frequency range from 869.4 MHz and to 869.65 MHz. At least one of the energy controlling device 110 and the energy measuring device 120 may be provided with a connection to the internet 190. In other words, at least one device may be connected to the cloud. In the example of Figure 1, the energy measuring device 120 is provided with a connection to the internet 190. However, it will be appreciated this is merely exemplary and the energy controlling device 110 may be provided with a connection to the internet. The connection to the internet 190 may be provided by any appropriate means. For example, the energy measuring device 120 may be provided with a WiFi connection, a connection to a satellite and / or a GSM connection. For example, the GSM connection may be a 5G connection. As shown in Figure 1, the system 100 may be provided with an output device 131. The output device 131 may be connected to a corresponding controlling device 130. The controlling device 130 may control the output device 131. The output device 131 may be a screen to output data to a user. Additionally or alternatively, the output device 131 may be a heat source or a component of a heat source. For example, the heat source may be an air source heat pump, ground source, electric heater, heat pump or a boiler. Thus, the system 100 may output data to a user and I or may change a state of a heat source. As such, the system 100 may monitor and manage the energy used by the heat source. The system 100 may also be provided with an input device 141. The input device 141 may be connected to a corresponding measuring device 140. The input device 141 may be a sensor, for example, a temperature sensor, room occupancy sensor and / or a CO2 sensor. While the output device 131 has been described and depicted as a separate device to the controlling device 130, it will be appreciated that this is merely exemplary. That is, the output device 131 and the controlling device 130 may be integral and form components of a single device. Similarly, the input device 141 and the measuring device 140 may be a single device. While output devices 131 and input devices 141 have been described separately, it will be appreciated that the system 100 may comprise devices capable of both input and output. For example, a single I / O device may comprise a screen and a thermometer. Thus, a single device may output data to a user and measure a temperature. Furthermore, while the system 100 may generally be provided with a single energy controlling device 110 connected to an inverter 111 and a single energy measuring device 120 connected to a mains electrical component 121, the system 100 may comprise any appropriate number of each device. Each of the controlling devices 130 and I or the measuring devices 140 may also be provided with a radio connection. Thus, each of the devices 120, 130, 140 may communicate with the energy controlling device 110 using radio frequency communications. In particular, each of the devices may use LoRa. Figure 2 is a schematic diagram depicting an example device 200 that may be used with the system 100. That is, the example device 200 may be an example of each of the devices 110, 120, 130 and 140. The device 200 may comprise a controller 201. The controller 201 may be a CPU. The device 200 may comprise a battery 202. The battery 202 may be referred to as a charge circuit. The battery 202 may provide a back-up power source such that data may be continue to be measured, stored and I or transmitted by the device 200 without an external power source. For example, the device 200 may continue to store data for around three weeks without a power source. Thus, the device 200 may operate without access to the cloud or have grid power. The device 200 may comprise a radio connection 203. In particular, the radio connection 203 may be an RF module configured to transmit on LoRa frequencies. Thus, the device 200 may be configured to transmit and receive messages on LoRa frequencies. The device 200 may comprise computer readable memory 204. The memory 204 may store a database. The database may store one or more configuration files. The database may store a state for the system 100. The state may correspond to one of a plurality of modes in which each device 200 can run. The device may run in one of the modes without cloud access. The mode may be determined based on an energy tariff. For example, a first mode may indicate that energy provided by the mains electrical connection is low cost and thus energy provided by the mains electrical connection and I or the solar panels should be used when to perform all (i.e. essential and non-essential) tasks. A second mode may indicate that the energy provided by the mains electrical connection is expensive and thus energy stored locally (e.g. in a battery) should be used to perform essential tasks and non-essential tasks should be delayed. A third mode may indicate that energy provided by the mains electrical connection is high cost and that there is little energy stored locally. Thus, in the third mode, energy provided by the mains electrical connection should be used for essential tasks and non-essential tasks should be delayed. The computer readable memory 204 may be configured to act as a web server. In particular, the memory 204 may generate reports based on measured data and I or received data. Thus, the device 200 may transmit reports, rather than the data itself, allowing for more efficient communications. The reports may be referred to, or contain, summary data. In particular, reports (relate to particular data) may be sent from the device 200 to a server less often than if the particular data itself was being sent. For example, in other systems, measured data may typically be sent to a server every 1 ms. Reports may be sent by the device 200 after a predetermined time interval, for example, after 4 minutes. As discussed below, reports may also be sent in response to a prompt from a server. The prompt may be indicative of a user interacting with the server. The device 200 may comprise a clock 205. The clock 205 may be synchronised with a central clock i.e. a clock that provides a time for a system as a whole. By use of the clock 205, data may be synchronised. The device 200 may comprise an internet connection 206. The internet connection may be a WiFi connection, a connection to a satellite and / or a GSM connection. The device 200 may comprise one or more components 207 for receiving user input and I or providing output to a user. For example, the components 207 may comprise one or more buttons. As a further example, the components 207 may comprise one or more LEDs. In particular, the components 207 comprise a button for establishing a pairing mode and an LED for indicating the status of a pairing mode. The device 200 may comprising one or more identifiers 208. The identifiers 208 may be unique to each device. For example, the identifiers 208 may be, or may be based on, a serial number of the device 200. In a particular example, each device has a public identifier and a private identifier. The public identifier may be a portion of the private identifier. For example, the private identifier may be 12 bytes and the public identifier may be 2 bytes. The device 200 may comprise one or more electrical connectors 209. The electrical connectors 209 may be analogue and I or digital electrical connectors. For example, the device 200 may be the energy controlling device 110 and may be configured to be connected to the inverter 111. The connectors 209 may be universal. That is, the device 200 may be configured to be connected to any inverter (i.e. regardless of brand). The connector 209 may be an RS485 connector, or any other appropriate communication system . As an alternative example, the device may be the energy measuring device 120 and may be configured to be connected to a current transformer. The device 120 may include the current transformer. As a further alternative, the device 200 may be configured to connect to the output device 131 and I or the input device 141. In a first particular example of the device 200, the device 200 comprises an RS485 connector, a connecter for a current transformer and a radio connection. In a second particular example of the device 200, the device 200 comprises an RS485 connector and a radio connection. In a third particular example of the device 200, the device 200 comprises a connector for a current transformer and a radio connection. Thus, the devices of the second and third examples can be used to allow for an inverter to communicate with a current transformer (and vice versa) over the radio connections. It will be appreciated that the device of the first example could be used in place of either of the devices of the second or third examples. Figure 3 is a flow diagram depicting an example method 300 of communication between a first measuring device and a second measuring device. At optional step 301, the first and second measuring devices are paired. At step 302, messages are exchanged between the first and second measuring devices. At optional step 303, data is exchanged between the first measuring device and the internet. As an example, the first measuring device may be the device 110 and the second measuring device may be the device 120. While the device 110 has been described above as a controlling device, it will be appreciated that the device 110 may measure a current of power provided by the solar panels 112 (e.g. via the RS485 connector) and I or a battery (e.g. by reading a modbus register) and thus may be described as a measuring device. As a further example, either of the measuring devices may be the controlling device 130 and / or the measuring device 140. It will be appreciated that while the methods described herein have been described in relation to energy measuring devices and messages containing data relating to energy consumption I production, the methods may be used in relation with any appropriate resource. For example, the devices may measure a water usage and the messages may contain data relating to water consumption. As a further example, the devices may be “internet of things” devices. As a further example, the devices may be machines (e.g. in a factory) and the method 300 may be used to communicate maintenance data relating to the machines. The messages exchanged as part of the method 300 (and the methods 400, 500, 600, 700) may be exchanged over a long range radio (LoRa) physical protocol. For example, the protocol may be compliant with ETSI EN300.220-2 band P (869.4 MHz to 869.65 MHz). It will be appreciated that other frequences may be used in other territories such as the USA or Australasia. The LoRa modulation may be fixed at SF7. The bandwidth may be fixed at 125 kHz. The coding rate may be 4 / 5. Thus, data throughput may be 5468 bits per second. The number of preamble symbols may be 12. Each message may also be referred to as a packet. Each message that is transmitted or received as part of the method 300 may be formed of a metadata and, optionally, a payload. The metadata may comprise one or more flags. For example, a flag may indicate whether the measuring device that transmitted the message is in a pairing mode. As further example, a flag may indicate whether the measuring device that transmitted the message has an internet connection. As a further example, a flag may indicate a type of the measuring device that transmitted the message. That is, the flag may indicate whether the device that transmitted the message is connected to an inverter, the mains electrical connection or neither. Additionally or alternatively, the metadata may comprise a public identifier for the measuring device that transmitted the message. That is, the public identifier may be an identifier that is not encrypted when transmitted in messages. Thus, a measuring device receiving a message may be able to use the public identifier to determine which other measuring device transmitted the message. The payload may be optional. That is, messages may be transmitted without the payload. In some examples, the memory size of the payload may be limited. For example, the payload may be limited to 64 bytes. Thus, should a measuring device be required to transmit data greater than 64 bytes, the data may be split across multiple payloads, each payload contained in a respective message. When data has been split across multiple payloads (i.e. multiple messages), once the data has been transmitted a message may be sent with an empty payload to indicate that the data has been transmitted. The payload may comprise a portion for indicating a payload type. That is, one or more bytes may indicate the payload type. Example payload types include a pairing response payload or a pairing confirmation payload. The payload may further comprise error-detecting code. For example, the payload make comprise a cycle redundancy check. Each message may contain a sequence indicator. For example, when data has been split across multiple payloads, the sequence indictor may be a byte offset. The byte offsets may be used by a receiving device to interpret the messages in an intended sequence. For example, a message containing the first payload may have a byte offset of 0. As an alternative example, the payload of each of the second messages may contains a byte sequence number (BSN). The BSN may be incremented by the transmitting device for each message sent. Thus, the BSN of an empty payload may be used by a receiving device to determine whether all sent messages have been received. The payload may be encrypted. The encryption may use a symmetric key. The payload may be encrypted based on a private shared key known to both the device transmitting the message and the device receiving the message. The encryption may be AES 256 encryption. The encryption may use Cipher Block Chaining (CBC) mode. In particular, the CBC mode may use blocks of 16 bytes of data. The metadata may not be encrypted. In a particular example, the device 110 may be referred to as a receiver and the device 120 may be referred to as a CT transmitter. In the example comprising the receiver and the CT transmitter, messages transmitted by the receiver may have the following format: Byte Meaning 0 Number of bytes following 1 Control flags Bit 7 = 1 for transmission from the receiver Bit 6 = 1 if the receiver is in pairing mode Bit 5 = 1 if the receiver has WiFi connectivity. Bit 0 = 0 for protocol V1 2-3 2 byte receiver ID number. This is calculated from the 12 byte unique ID number in the receiver. 4- Optional payload (encrypted). Maximum length 64 bytes. Bytes 0 to 3 may be the metadata. In the example comprising the receiverand the CT transmitter, messages transmitted to the receiver may have the following format: Byte Meaning 0 Number of bytes following 1 Control flags Bit 7 = 0 for transmission to the receiver Bit 6 = 1 if the transmitter is connected to mains. Bit 5 = 1 if the transmitter has WiFi connectivity. Bit 4 = 1 if the transmitter is ACKing a previous packet from the receiver. Bit 0 = 0 for protocol V1 2-3 2 byte transmitter ID number. This is calculated from the 12 byte unique ID number in the transmitter. 4- Optional payload (encrypted). Maximum length 64 bytes. Returning to the example method 300 more generally, at optional step 301, the first and second measuring devices may be paired. For example, the first and second measuring devices may be paired according to the example method 400 depicted in Figure 4 (described in more detail below). Alternatively, the first and second measuring devices may have been paired previously. For example, the first and second measuring devices may have been paired as part of a manufacturing processing. Figure 4 is a flow diagram depicting an example method 400 of pairing the first measuring device and a second measuring device. While the example method 400 is described in relation the example methods 300, 500, it will be appreciated that, once paired, the paired devices may exchange methods in any appropriate way. It will be appreciated that the term pairing is used to describe establishing of communications between two devices. That is, the two devices may only communicate with each other (i.e. a 1:1 connection). Alternatively, one or both of the devices may communicate with one or more other devices (i.e. a 1:n connection, where n is greater than 1). Pairing may also be described as learning. That is, by use of the pairing process, two device may learn of one another and of a shared private key for use in communications with one another. At step 401, a first pairing message is transmitted from the first measuring device. At step 402, a second pairing message is transmitted from the second measuring device. At step 403, the first measuring device stores a private identifier of the second measuring device. At step 404, the first measuring device transmits a third pairing message. At step 405, the second measuring device stores a private identifier of the first measuring device. In more detail, at step 401, a first pairing message is transmitted from the first measuring device to the second measuring device. The metadata of the first pairing message may indicate that the first measuring device is in a pairing mode. The first measuring device may indicate to the user that the pairing mode has been activated. The metadata may also indicate a public identifier of the first measuring device. The first pairing message may not contained a payload. The first pairing message may be transmitted from the first measuring device in response to a pairing mode being activated at the first measuring device. The pairing mode may have been activated in response to user input. For example, a button may be pressed on the first measuring device to activate the pairing mode. For example, one or more LEDs may be illuminated to indicate that the pairing mode has been activated. At step 402, a second pairing message is transmitted from the second measuring device to the first measuring device. The second pairing message may be transmitted in response to the second measuring device receiving the first pairing message. Additionally or alternatively, the second pairing message may be transmitted in response to a pairing mode being activated at the second measuring device. That is, the second measuring device may transmit the second pairing message in response to the second measuring device being in a pairing mode and, while in the pairing mode, receiving the first pairing message. The pairing mode of the second measuring device may be activated and I or indicated in a similar manner to that discussed above in relation to the first measuring device. The second pairing message may indicate a private identifier of the second measuring device. In particular, the private identifier may be indicated in a payload of the second pairing message. The payload of the second pairing message may be encrypted. For example, the payload may be encrypted using a temporary key. The temporary key may be preset. That is, the temporary key may be the same for all measuring devices. Alternatively, the temporary key may based on the public identifier of the first measuring device. Thus, devices that are able to decrypt of the payload of second pairing message may be limited. However, the first measuring device may be able to decrypt the second pairing message. In the example comprising the receiver and the CT transmitter, the payload of the second pairing message may be as follows: Payload Byte Meaning 0 Payload type. 0 for a CT transmitter pairing response. 1-12 Full 12 byte serial number of the CT transmitter. 13-14 CRC16 of the payload. At step 403, the first measuring device stores the private identifier of the second measuring device. For example, the first measuring device may receive the second pairing message and decrypt the payload to obtain the private identifier of the second measuring device. As the metadata of the second pairing message contains the public identifier of the second measuring device, the first measuring device may also store the public identifier of the second measuring device. In particular, the private identifier and the public identifier of the second measuring device may be stored in a way to indicate that the private identifier and the public identifier correspond to the same device. For example, a list of pairs of private identifiers and public identifiers may be used. As a further example, a map may be used. Thus, the first measuring device may be able to determine a private identifier that corresponds to a public identifier for any paired device. At step 404, the first measuring device transmits a third pairing message to the second measuring device. A payload of the third pairing message may indicate the private identifier of the first measuring device. The payload may further indicate the private identifier of the second measuring device. That is, by indicating the private identifiers of the first and second measuring devices in the third pairing message, the second measuring device can determine that the second measuring device is the intended recipient of the third pairing message. The third pairing message may be encrypted by the first measuring device using the temporary key. Upon receiving the third pairing message, the second measuring device may decrypt the third pairing message using the temporary key. In the example comprising the receiver and the CT transmitter, the payload of the third pairing message may be as follows: Payload Byte Meaning 0 Payload type. 128 for a receiver pairing confirmation. 1-12 Full 12 byte serial number of the CT transmitter being confirmed. 13-24 Full 12 byte serial number of the receiver. 25-26 CRC16 of the payload. At step 405, the second measuring device stores the private identifier of the first measuring device. That is, the second measuring device may store the private identifier of the first measuring device in response to receiving the third pairing message. The private identifier of the first measuring device may be stored by the second measuring device in response to determining that the third pairing message indicated the private identifier of the second measuring device. That is, the second measuring device may check that the second measuring device is the intended recipient of the third pairing message. In other words, the second measuring device may check that the first measuring device is attempting to pair with the second measuring device. The second measuring device may also store the public identifier of the first measuring device (contained in the metadata of the third pairing message). The private identifier and the public identifier of the first measuring device may be stored in a way to indicate that the private identifier and the public identifier correspond to the same device. In response to determining storing the private identifier of the first measuring device, the second measuring device may deactivate pairing mode. The first measuring device may transmit one or more additional third pairing messages. Each of the third pairing messages may have identical content. That is, the metadata and the payload may be the same. In this way, the first measuring device may continue to attempt to complete the pairing process until the pairing process has been completed. The first measuring device may continue to transmit the one or more additional third pairing messages until the first measuring device receives a message subsequent to the second pairing message from the second measuring device. For example, the subsequent message may be a second message (as transmitted at step 504 and discussed below in more detail). In response to receiving the subsequent message, the first measuring device may deactivate pairing mode. Thus, by use of the method 400, the first and second measuring device may be paired and may communicate directly with each other using end to end encryption. In particular, each device may have obtained the private identifier and the public identifier of the other device. Thus, a shared private key may be formed based on the private identifiers of both the first and second measuring devices. Messages exchanged between the two devices may therefore need less authentication than with other methods. Furthermore, the public identifier contained in the metadata of a subsequently received message may inform the measuring device as to which shared private key should be used to decrypt the payload of the subsequently received message. That is, each of the first and second measuring devices may be paired to multiple other measuring devices and messages may be securely transmitted once the devices have been paired. In other words, when transmitting a message to a paired measuring device, a measuring device transmitting the message may encrypt the payload of the message using the shared private key. Upon receipt of the message, the paired measuring device that has received the message may use the public identifier in the metadata of the message to determine which shared private key to use to decrypt the payload of the message. In the interests of clarity, these steps of encryption and decryption are not repeated in relation to messages exchanged in the methods 500, 600 and 700 described below. However, it will be appreciated that each of the messages exchanged in the methods 500, 600 and 700 may be encrypted and decrypted in this way. Referring again to the method 300 and Figure 3, at step 302, messages are exchanged between the first and second measuring devices. The messages may be exchanged according to the example method 500 depicted in Figure 5. Figure 5 is a flow diagram depicting an example method 500 of exchanging messages between a first measuring device and a second measuring device. The first and second measuring devices may have been paired such that there is a private key shared by the devices. For example, the devices may have been paired using the method 400 or any other appropriate method of pairing. At step 501, a first message indicating a start of a cycle of one or more time slots is transmitted by the first measuring device. At step 502, the second measuring device determines a category for a second message. At step 503, the second measuring device determines a time slot for transmitting the second message. At step 504, the second measuring device transmits the second message during the determined time slot. At optional step 505, the first measuring device transmits a third message acknowledging the second message. At step 501, a first message indicating a start of a cycle is transmitted by the first measuring device. The cycle may be a cycle of one or more time slots. The first message may be transmitted to the second measuring device. In some examples, the first message may be the same message as the first or second pairing message. That is, the third pairing message may be used to indicate the start of the cycle. In some examples, the first message may not include a payload. That is, the first message may consist only of metadata. Thus, the transmission time of the first message may indicate the start of the cycle. The start of the cycle may correspond to a start of a first time slot of the one or more time slots. Each of the time slots may be consecutive. The time slots may be of different lengths. One of the time slots may be longer than the other time slots. For example, one of the time slots may be 20 ms longer than the other time slots. The longer time slit may allow for a measuring device to transmit in the longer time slot while being time aligned with the mains electrical connection. As a particular example, there may be four time slots, the longer time slot may be 125 ms and the other three time slots may be 105 ms. Thus each time slot may allow for a message to be exchanged in the time slot with a payload of 64 bytes. For example, the timeslots may be arranged as shown in the table below: Timeslot Start time (ms) End time (ms) 1 0 125 2 130 235 3 240 345 4 350 455 The second measuring device may store measured values. That is, the second measuring device may store a buffer of the measured values. In some examples, the second measuring device may determine whether to send a second message. For example, the second measuring device may determine whether to send the second message based on a mode in which the second measuring device is set. For example, the mode may correspond to sending second messages at every opportunity or after a particular time interval. As an alternative example, the mode may correspond to a minimum change in the measured values. As a further example, the second measuring device may determine whether to send the second message based on a device type of the second measuring device. For example, if the second measuring device is measuring a usage of electric power provided by mains electrical connection (e.g. as done by the energy measuring device 120), the second measuring device may transmit second messages at every opportunity. That is, a second message may be transmitted by the energy measuring device 120 in response to each first message that is received. At step 502, the second measuring device determines a category for a second message. Generally, the category may be determined based on similar considerations as the determination as to whether to send the second message (discussed above). The category may be determined based on a property of the device. For example, the property may be the device type. That is, a first category may correspond to measuring devices that are measuring a usage of electric power provided by a mains electrical connection. The category may be determined based on the measured values. For example, the category may be determined to be a second category if the measured value has changed by greater than a threshold amount. The category may be determined to be a third category if the measured value has changed by less than a threshold amount. Thus, the category may correspond to a priority for the second message. At step 503, the second measuring device determines a time slot for transmitting the second message. The time slot may be determined based on the category. For example, the first category may correspond to a first time slot. The first time slot may be the longer time slot. Thus, measuring device that are measuring a usage of electric power provided by a mains electrical connection may be time aligned to the mains electrical connection. At step 504, the second measuring device transmits the second message during the determined time slot. A payload of the second message may comprise an indication of a measured value. In particular, the indication may be changelog of measured values. For example, based on the measured values, the second measuring device may determine that a payload containing a changelog is more memory efficient and thus form a change log based on the measured values. The measured value may be an consumed or produced amount of energy. The measured value may allow for a corresponding power to be determined. As a further example, the measured value may be a temperature or a CO2 concentration. The measured value may be an absolute value (i.e. 1000 joules). Alternatively, the measured value may be a relative value (i.e. + 50 joules). The relative value may be relative to a previously indicated value. In some examples, the only messages that are transmitted in the first time slot relate to the usage of electric power. Such messages may be sent by a single device. Other messages may be transmitted in other time slots and may be transmitted by any number of devices. Thus, by determining a time slot based on the determined category, the messages relating to the usage of electric power may be received by the first measuring time without any need for re-transmission. That is, these messages may be prioritised to ensure data is received contemporaneously. In contrast, the other time slots may be used by multiple devices and, in certain circumstances, multiple second messages may be transmitted to a device during the same time slot. The device may not be able to receive all of the multiple second messages and so one or more second messages may need to be re-transmitted. Thus lower priority messages may not contain contemporaneous data. The payload of the second message may comprises multiple indications, each indication indicative of a respective measured value. In examples in which the second message comprises multiple indications and each indication is a relative value, the multiple indications may be referred to as a change log. The payload of the second message may further comprise an offset. The offset may be indicative of a reference point relevant to the measured value. For example, the reference point may be a voltage of the mains electrical connection, a battery or an inverter. By use of a voltage as a reference point, the effect of noise in the measured values may be reduced. In the example comprising the receiver and the CT transmitter, the payload of the second message may be as follows: Payload Byte Meaning 0 Payload type. 1 for a CT transmitter current report. 1 BSN. Increments for each packet sent and is used to randomise the data a bit before encryption. 1-2 16 bit signed CT coil measurement. 3-x Optional data CRC16 of the payload. The second measuring device may transmit multiple second messages, each of the second messages being identical I substantially similar to one another. That is, the second measuring device may transmit the second messages until an acknowledgement message has been received. At step 505, the first measuring device transmits a third message acknowledging the second message. The first measuring device may validate the received data. That is, the first measuring device may check the measured values and ensure accuracy. Thus, the method may provide an accuracy in the data provided of 99.9% (c.f. with a typical accuracy of 98% with other methods). Additionally or alternatively, the first measuring device may provide a report based on the received data. In one example of validating the data, a voltage of a battery of the second measuring device may be used as a reference voltage. A value of a current transformer may be measured when there is no current in a mains electrical connection. The data may be validated by use of the reference voltage and the first measured value. That is, measurements from the second measuring device may be calibrated. In some examples, the calibration may be based on tolerances of components. For example, a tolerance of a current transformer may be used to calibrate an AC current value measured by the current transformer. Thus, by use of the method 500, messages indicating measured values may be securely transmitted between the first and second measuring devices. Returning to Figure 3 and the method 300, at step 303, data is exchanged between the first measuring device and the internet. For example, data may be uploaded using the method 600 depicted in Figure 6 (described in more detail below). Additionally or alternatively, data may be downloaded using the method 700 depicted in Figure 7 (described in more detail below). In particular, the method 700 may be used to update firmware of a device. Additionally or alternatively, the method 700 may be used to update a mode in which a device is running. Figure 6 is a flow diagram depicting an example method 600 of uploading data to the internet. At step 601, a connected device receives an upload message. At optional step 602, the connected device may transmit an acknowledgement message. At optional step 603, data in the upload message may be validated. At optional step 604, the connected device may receive a prompt from a server. At step 605, the connected device may upload the data to the internet. With reference to Figure 1A, it is noted that this Figure depicts the energy measuring device 120 as connected to the internet 190. Thus, the energy measuring device 120 may be referred to as a connected device, where “connected” refers to an internet connection. However, it will be appreciated that, in other examples, the energy controlling device 110 may be connected to the internet in addition to, or as an alternative to, the energy measuring device 120. Thus, it will be appreciated that either the first or second measuring devices may be a connected device. In some examples, one of the first or second measuring devices may not be configured to connect to the internet itself and thus may be referred to as a disconnected device. It will be appreciated that, as used herein, a disconnected device may be connected to other devices through connections other than an internet connection. In particular, the disconnected device may be configured to receive and transmit messages to the connected device over LoRa. In more detail, at step 601, a connected device receives an upload message. The upload message may comprise data that is to be uploaded to the internet. For example, the data may comprise an indication of a plurality of values measured by a measuring device. In particular, the data may be a change log. The data may be a report based on measured values. The upload message may be sent from an other measuring device. For example, the other measuring device may be a disconnected device and unable to upload the data itself. Alternatively, the other measuring device may also be a connected device and, by use of the method 600, the other measuring device may be provided with a redundant internet connection. As mentioned above, in examples where data to be uploaded is greater than the limited memory size of a payload, the data may be split across multiple payloads. Thus, the upload message may be one of a plurality of uploads messages. In the example comprising the receiver and the CT transmitter, the upload message may have the following format: Payload Byte Meaning 0 Payload type. 129 for a data report backup. 1-x One single data report, the contents of which are application specific. CRC16 of the payload. At step 602, the connected device may transmit an acknowledgement message. The connected device may transmit a respective acknowledgement message in response to each upload message that is received. The acknowledgement message may be transmitted to the device that transmitted the upload message. At step 603, data in the upload message may be validated. That is, the connect device may validate the data after receiving the upload message. Additionally or alternatively, the data have be validated before being transmitted in the upload message. That is, the measuring device that transmitted the upload message may validate the data. At step 604, the connected device may receive a prompt from a server. That is, the server may prompt the connected device via the internet to upload the data. For example, the connected device may cache multiple data and upload the multiple data to the server in an upload. The upload may occur at regular time intervals. For example, without a prompt, the data may be uploaded every 4 minutes. Thus, to provide a user interacting with the server with access to the most recent data, the server may prompt the connect device to perform an upload. The upload, performed in response to the prompt, may be performed sooner than otherwise. That is, the upload may be performed less than 4 minutes after a previous upload. At step 605, the connected device may upload the data to the internet. The connected device may upload the data in response to receiving a plurality of upload messages. That is, once the connected device receives an upload message without any data for upload, the connected device may determine that all of the data has been received and may be uploaded. Alternatively, the data may be uploaded in response to receiving the prompt from the server. As a further alternative, the data may be uploaded at regular time intervals. Thus, by use of the method 600, the connected device may upload data to the internet on behalf of another device. In particular, the data may be uploaded dynamically in response to user requirements. Figure 7 is a flow diagram depicting an example method 700 of downloading data from the internet. At step 701, a connected device receives a request message. At optional step 702, the connected device may transmit an acknowledgement to the request message. At step 703, the connected device may obtain the requested data. At step 704, the connected device may transmit the requested data. Beneficially, the method 700 may allow a disconnected device to receive data downloaded from the internet. In more detail, at step 701, a connected device may receive a request message. The request message may have been transmitted by a disconnected device. The request message may comprise a request for data. For example, the request message may comprise a URL. A portion of the URL may be not be sent. For example, a character (e.g. a slash) at the beginning of a URL may indicate that a particular domain should be used. Thus, a slash may be transmitted in the request message instead of the portion of the URL for the particular domain. In the example comprising the receiver and the CT transmitter, the payload of the request message may have the following format: Payload Byte Meaning 0 Payload type. 130 for a data transfer request. 1-2 Byte offset of the request contained in this payload 3-x Request data CRC16 of the payload. At step 702, the connected device may transmit an acknowledgement to the request message. Thus the disconnected device may be informed that the request message has been received and that the request message does not need to be sent 5 again. In the example comprising the receiver and the CT transmitter, the payload of the acknowledgement to the request message may have the following format: Payload Byte Meaning 0 Payload type. 2 for a request acknowledgment. 1-2 Copy of the byte offset in the request payload packet being acknowledged. 3-4 CRC16 of the payload. 10 At step 703, the connected device may obtain the requested data. That is, the internet connection of the connected device may use to download the requested data. At step 704, the connected device may transmit the requested data. That is, the requested data may be transmitted in one or more messages to the disconnected device. In the example comprising the receiver and the CT transmitter, the requested 15 data may be transmitted using the following format: Payload Byte Meaning 0 Payload type. 3 for a data transfer response. 1-2 Byte offset of the response contained in this payload 3-x Response data CRC16 of the payload. Upon receipt of the transmission of the requested data, the disconnected device may transmit a message to the connected device as an acknowledgement. In the example comprising the receiver and the CT transmitter, the transmitted data may be acknowledged using the following format: Payload Byte Meaning 0 Payload type. 131 for a response acknowledgment. 1-2 Copy of the byte offset in the response payload packet being acknowledged. 3-4 CRC16 of the payload. As mentioned above in relation to Figure 1, the system 100 may comprise an input device 141 and a corresponding measuring device 140. Additionally or alternatively, the system 100 may comprise an output device 131 and a corresponding controlling device 130. Each of the measuring device 140 and the controlling device 130 may be paired using the method 400 and may communicate using the methods 300 and 500. A screen may be an example of an integral output device 131 and controlling device 130. In the example comprising the receiver and the CT transmitter, other devices may transmit messages to the screen using the following format: Payload Byte Meaning 0 Payload type. 132 for a display information payload. 1 Display information type. This distinguishes which set of data is contained in this packet and is defined by the application. 2-x Display data CRC16 of the payload. As an example of an integral input device 141 and measuring device 140, the system 100 may be provided with an anti-tamper device. This anti-tamper device may spend a relatively large time in a low power state in which it does transmit any messages. The anti-tamper device may transmit messages without pairing with another device. The anti-tamper device may be configured to detect movement e.g. vibration or a change in orientation. In response to detecting movement that cannot be attributed to natural phenomena such as wind or thunder, the anti-tamper device may go into alarm state. In this mode, the anti-tamper device powers up the RF and will randomly send a message in response to any first messages it receives. In the four time slot example described above, the anti-tamper device may transmit a message in any one of time slots two to four. In the example comprising the receiver and the CT transmitter, the payload of the alarm message sent by the anti-tamper device may be as follows: Payload Byte Meaning 0 Payload type. 5 for an anti-tamper device 1-12 Full 12 byte serial number of the device. 13-x Application specific alarm information. CRC16 of the payload. Once another device has received the message from the anti-tamper device and passed the alarm information onto the server, the other device may transmit an alarm reset message. In the example comprising the receiver and the CT transmitter, the payload of the alarm reset message may be as follows: Payload Byte Meaning 0 Payload type. 133 for an alarm reset message. 1-12 Full 12 byte serial number of the device. 13-14 CRC16 of the payload. In response to receiving the alarm resent message, the anti-tamper device may power down the RF module and wait until the movement that caused the alarm stops happening and does not reoccur within a time window in the order of five minutes. At this point, the anti-tamper device goes back to normal operation and if there is subsequent detection it goes back into alarm mode. This specification uses the term “configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing cause the apparatus to perform the operations or actions. Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively, or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a mark-up language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network. The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers. Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a track-ball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return. Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and compute-intensive parts of machine learning training or production, i.e., inference, workloads. Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, a Microsoft Cognitive Toolkit framework, an Apache Singa framework, or an Apache MXNet framework. Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device. While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. A method performed by a second measuring device to communicate with a first measuring device over long range (LoRa) radio, the method comprising:after being paired with the first measuring device:storing one or more measured values;receiving, from the first measuring device, a first message indicating a start of a cycle of one or more time slots;forming a second message comprising an indication of the one or more measured values;determining a category for the second message;based on the determined category and the indicated start of the cycle, determining a time slot of the one or more time slots for transmitting the second message;transmitting, to the first measuring device, the second message during the determined time slot.
2. The method of claim 1 wherein the category is determined based on:a property of the second measuring device; and I ora property of a quantity measured by the second measuring device.
3. The method of claims 1 or 2 further comprising:receiving, from the first measuring device, a third message acknowledging the second message.
4. The method of claim 3 further comprising:prior to receiving the third message, transmitting, to the first measuring device, the second message one or more additional times.
5. The method of any one of claims 1 to 4 further comprising pairing with the first measuring device by:receiving, from the first measuring device, a first pairing message indicating a pairing mode is activated at the first measuring device;transmitting, to the first measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device;receiving, from the first measuring device, a third pairing message responding to the second pairing message and indicating the private identifier of the first measuring device; andstoring, in response to determining that the third pairing message indicated the private identifier of the second measuring device, the private identifier of the first measuring device as a paired device identifier.
6. The method of claim 5 wherein pairing with the first measuring device further comprises:activating a pairing mode of the second measuring device; and wherein the second pairing message is transmitted in response to activation of the pairing mode.
7. The method of claims 5 or 6 wherein a portion of the second pairing message is encrypted using a temporary key.
8. A method performed by a first measuring device to communicate with a second measuring device over long range (LoRa) radio, the method comprising:after being paired with the second measuring device:transmitting, to the second measuring device, a first message indicating a start of a cycle of one or more time slots;receiving, from the second measuring device, a second message comprising an indication of one or more measured values stored by the second measuring device.
9. The method of claim 8 further comprising pairing with the second measuring device by:transmitting, to the second measuring device, a first pairing message indicating a pairing mode is activatedreceiving, from the second measuring device, a second pairing message responding to the first pairing message and indicating a private identifier of the second measuring device and;storing, in response to receiving the second pairing message, the private identifier of the second measuring device as a paired device identifier; andtransmitting, to the second measuring device, a third pairing message responding the second pairing message and indicating the private identifier of the first measuring device.
10. The method of claim 9 wherein pairing with the second measuring device further comprises:activating a pairing mode of the first measuring device; and whereinthe first pairing message is transmitted in response to activation of the pairing mode.
11. The method of claims 8 or 9 wherein:the first pairing message comprises a flag indicating the message is transmitted in response to a pairing mode of the first measuring device being activated.
12. The method of claims 8, 9 or 10 wherein a portion of the third pairing message is encrypted using a temporary key.
13. The method of any preceding claim wherein:one of the first measuring device or the second measuring device is a connected device with an internet connection.
14. The method of claim 13 further comprising:receiving, at the connected device, an upload message comprising data for upload to the internet; anduploading, to the internet and by the connected device, the data for upload to the internet.
15. The method of claim 14 further comprising: prior to upload the data, validating the data.
16. The method of claims 14 or 15 further comprising:receiving, at the connected device and from a server, a prompt; and whereinthe data is uploaded to the internet in response to the prompt.
17. The method of any one of claims 13 to 16 further comprising:receiving, at the connected device, a request message comprising a request for data;in response to receiving the request message:obtaining, from the internet, the requested data; and transmitting, from the connected device, the obtained data.
18. The method of any preceding claim wherein a portion of the first message and I or a portion the second message is encrypted using a share private key determined during a pairing process.
19. The method of any preceding claim wherein:transmitting each message from each measuring device comprises: transmitting a message comprising a public identifier for the respective measuring device.
20. The method of claim 19 as dependent on claims 5 or 12 wherein the temporary key is based on the public identifier of the first device.
21. The method of any preceding claim wherein: each message comprises error-detecting code.
22. A measuring device configured to perform the method of any preceding claim.
23. The measuring device of claim 22 wherein the measuring device is configured to measure energy consumption and I or production.
24. A system comprising:a first measuring device configured to receive an input indicative of an inverter;a second measuring device configured to receive an input indicative of a mains electrical connection; and whereinthe first and second measuring device communicate according to the method of any one of claims 1 to 21.
25. Computer readable storage media comprising instructions configured to cause a measuring device to perform the method of any one of claims 1 to 21.
Citation Information
Patent Citations
ViewCN117565111AonEspacenetopensinnewtab
ViewUS2021/0306993A1onEspacenetopensinnewtab