AU2019100541A4 - A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device - Google Patents

A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device Download PDF

Info

Publication number
AU2019100541A4
AU2019100541A4 AU2019100541A AU2019100541A AU2019100541A4 AU 2019100541 A4 AU2019100541 A4 AU 2019100541A4 AU 2019100541 A AU2019100541 A AU 2019100541A AU 2019100541 A AU2019100541 A AU 2019100541A AU 2019100541 A4 AU2019100541 A4 AU 2019100541A4
Authority
AU
Australia
Prior art keywords
iot
data
sensor
iot application
custom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
AU2019100541A
Inventor
David Powers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Senquip Pty Ltd
Original Assignee
Senquip Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Senquip Pty Ltd filed Critical Senquip Pty Ltd
Priority to AU2019100541A priority Critical patent/AU2019100541A4/en
Application granted granted Critical
Publication of AU2019100541A4 publication Critical patent/AU2019100541A4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

Abstract System and methods are disclosed for gathering data from a plurality of sensors integrated into or attached with wires or wirelessly to an IOT (Internet of Things) device and providing functionality for a third-party to install and then execute custom scripts within an IOT application to change default functionalities of the IOT application. IOT Device 105A 100 - example computing environment Sensor Analysis Module IOT Management System Program Executing 170 User 112 Module Wireless Interface Network Module IOT Application 172 Data 120 lOT 132 Custom 1 Storage Integration Script(s) Module Module 150 Sesr 140 _l135A Integration Management IOT Module Module User Sensor 160A User 130 105N Analysis Management IOT Device 135N Module Module User User Interface

Description

Title of Invention
A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device
Technical Field [0001] The present invention relates to an IOT device that is used to monitor sensors and a method to change the default behaviour of the IOT device.
Background of the Invention [0002] A device such as an IOT device that connects to a plurality of sensors integrated into or attached with wires or wirelessly and may have outputs and that is connected to a wireless network and can communicate with an IOT management system and IOT users and that may be used in applications not limited to aquaculture, agriculture, mining, industry, smart cities and water management.
Summary of Invention [0003] In some embodiments, a system is disclosed for gathering data from a plurality of sensors integrated into or attached with wires or wirelessly to an IOT device that whilst executing a default program is able to take measurements from those sensors and process the measured data and make decisions as to events associated with the sensor data which may then be transmitted along with the measured data to a wireless network and subsequently to an IOT management system for further processing and storage and providing functionality for a third-party to install and then execute custom scripts within an IOT application to change default functionalities of the IOT application when processing the sensor data.
[0004] The system can include: an electronic device including digital logic circuitry and configured to be installed in a multitude of remote measurement applications, the electronic device including a number of interfaces coupled to a plurality of sensors internal to the electronic device or coupled to the electronic device with wires or wirelessly; and a memory device in communication with the electronic device, the memory device storing a IOT application that when executed by the electronic device causes the electronic device to take measurements from the plurality of sensors and process the measured data and make decisions as to events associated with the measurements which may then be
2019100541 20 May 2019 transmitted along with the measured data to a wireless network and subsequently to an
IOT management system for further processing and storage.
[0005] The sensor data can include data represented by voltages, currents, frequencies, duty-cycles, or serial data whether received though wires or wirelessly that is measured from the plurality of sensors and that may be associated with the environment in which the electronic device is installed. The sensor events can include sensor data that is above or below a threshold value, data that changes at a rate that is faster or slower than a threshold value or the presence or absence of data.
[0006] The electronic device can be configured to: while operating, execute the IOT application causing the electronic device to gather the sensor data, determine the sensor events, and transmit at least some of the sensor data and at least some of the sensor events to a wireless network and subsequently to an IOT Application for further processing and storage; during operation, receive and store in a memory device, a custom script, executable in the IOT application; the IOT application being configured to retrieve the custom script from the memory device; interpret the custom script; and while executing the IOT application, execute the custom script in the IOT application to change a default functionality of a component of the IOT application so that the IOT application causes the electronic device to gather the sensor data differently, determine the sensor events differently, or modify the way in which the electronic device transmits at least some of the sensor data and at least some of the sensor events to a wireless network and subsequently to an IOT management system for further processing and storage than if the IOT application is executed without executing the custom script in the IOT application.
[0007] The system of the preceding paragraph can include one or more of the following features: The custom script can include instructions for the IOT application to perform a plurality of custom operations. The electronic device can be configured to receive the custom script from an individual other than a manufacturer of the sensors or a manufacturer of the electronic device.
[0008] The instructions can include event determination instructions which when executed in the IOT application cause the electronic device to: determine an occurrence of an event from the sensor data according to the event determination instructions and output an indication of the event or to transmit at least some of the sensor data and at least some of the sensor events to a wireless network and subsequently to an IOT management system.
2019100541 20 May 2019
The instructions can include data analysis instructions which when executed in the IOT application cause the electronic device to: analyse the sensor data according to the data analysis instructions to generate analysis data; and transmit at least some of the analysis data to a wireless network and subsequently to an IOT management system for further processing and storage.
[0009] Subsequent to executing the custom script in the IOT application, the electronic device can be configured to execute the IOT application without executing the custom script in the IOT application so that the default functionality of the IOT application is not changed. The electronic device can be configured to: in response to receiving a first user input indicating to enable execution of the custom script in the IOT application, execute the custom script in the IOT application; and in response to receiving a second user input indicating to disable execution of the custom script in the IOT application, execute the IOT application without executing the custom script.
[0010] When the electronic device executes the custom script in the IOT application, the custom script can receive the sensor data from the IOT application or from an IOT management system to which the electronic device has access via a wireless network or from data stored on a memory coupled to the electronic device rather than directly receiving the data from the plurality of sensors.
[0011] The component can include a sensor of the plurality of sensors, and the electronic device can be configured to execute the custom script in the IOT application to change the default functionality of the IOT application so that the IOT application causes the electronic device to control operation of the sensor to adjust a configuration of the sensor. The component can include a radio, and the electronic device can be configured to execute the custom script in the IOT application to change the default functionality of the IOT application so that the IOT application causes the electronic device to control operation of the radio to complete a transmission of at least some of the sensor data and at least some of the sensor events to a wireless network differently to the default operation.
[0012] When the electronic device executes the custom script in the IOT application, the custom script can be enabled to adjust a functionality of the IOT application when the IOT application processes a first set of sensor data and may not be enabled to adjust the functionality of the IOT application when the IOT application processes a second set of sensor data. When the electronic device executes the custom script in the IOT
2019100541 20 May 2019 application, the custom script can be enabled to adjust a functionality of the IOT application when the IOT application performs a first operation on the sensor data and may not be enabled to adjust the functionality of the IOT application when the IOT application performs a second operation on the sensor data.
[0013] When the electronic device executes the custom script in the IOT application, the IOT application can perform a first operation not initiated by the custom script with a higher priority than a second operation initiated by the custom script.
[0014] The custom script can include JavaScriptTM code.
[0015] In response to determining that the custom script is provided by an unauthenticated user or that the custom script is provided with unexpected authentication information, the electronic device can be configured to not store the custom script in the memory device or execute the custom script in the IOT application.
[0016] The electronic device can be configured to receive the custom script from a device via a wireless communication network.
[0017] In some embodiments, a method is disclosed for gathering sensor data from a plurality of sensors integrated into the electronic device or attached with wires or wirelessly and providing functionality for a third-party to install and then execute custom scripts within an IOT application to change default functionalities of the IOT application when processing the sensor data. The method can include: under control of an electronic device including digital logic circuitry, the electronic device including a number of interfaces coupled with a plurality of sensors integrated into the electronic device or attached with wires or wirelessly: while operational, executing an IOT application causing the electronic device to gather sensor data received from the plurality of sensors integrated into the electronic device or attached with wires or wirelessly, determine sensor events using the sensor data, and transmit at least some of the sensor data and at least some of the sensor events to a wireless network and subsequently to an IOT management system for further processing and storage, executing the custom scripts in the telematics application to change a default functionality of the IOT application so that the IOT application causes the electronic device to control operation of a component associated with a sensor differently than if the IOT application is executed without executing the custom scripts in the IOT application.
2019100541 20 May 2019 [0018] The method of the preceding paragraph can include one or more of the following features: The method can further include: under control of the electronic device: subsequent to executing the custom scripts in the IOT application, executing the IOT application without executing the custom scripts in the IOT application so that the default functionality of the IOT application is not changed. When executing the custom script in the IOT application, the custom script can receive the sensor data from the IOT application rather than directly receiving the sensor data from the plurality of sensors integrated into the electronic device or attached with wires or wirelessly. The method can further include: under control of the electronic device: executing the custom script in the IOT application so that the IOT application performs a first operation not initiated by the custom script with a higher priority than a second operation initiated by the custom script.
Brief Description of Drawings [0019] The features of various embodiments disclosed herein are described below with reference to the drawings. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate embodiments described herein and not to limit the scope thereof.
[0020] Figure 1 illustrates an example computing environment including an IOT device management system and in-field IOT devices.
[0021] Figure 2 illustrates an example in-field IOT device.
[0022] Figure 3 illustrates an example IOT application and custom script deployment process.
[0023] Figure 4 illustrates an example in-field IOT device usage process.
Detailed Description
INTRODUCTION [0024] IOT devices can be used for a variety of purposes. Water management, for instance, can be associated with water storage in dams and reservoirs, water treatments could mean the provision of fresh drinking water or could mean the processing of sewerage. Given the many different purposes for IOT devices, the types of data gathered,
2019100541 20 May 2019 and controls associated with operating an IOT device can vary significantly from one type of industry application to another. Moreover, even if IOT devices are used for similar purposes, each industry may operate using different business or technical practices that can influence the types of data gathered and the controls associated with how the different
IOT devices are operated.
[0025] Advantageously, in certain embodiments, this disclosure describes features of executing custom scripts associated with IOT devices for use in a particular industrial application. The custom scripts can be installed by third-parties and executed by an IOT application installed on the IOT device to improve operations or provide additional capabilities to the IOT application of the IOT devices. The features can be used, for example, to increase the functionality of the IOT devices so that the IOT device is better able to perform custom operations for particular industrial applications, gather relevant custom IOT data for particular industrial applications, and provide custom alerts for particular industrial applications.
[0026] Any of the systems and processes described herein can be performed in real time or near real-time. As used herein, the term “real-time' and the like, in addition to having its ordinary meaning, can mean rapidly or within a certain expected or predefined time interval, and not necessarily immediately. For instance, real-time feedback may be provided within a few seconds, few minutes, or 5 minutes, or 10 minutes, or some other short period of time after receiving information that triggers the determination of an output.
IOT DEVICE MANAGEMENT SYSTEM [0027] Figure 1 illustrates a computing environment 100 for implementing an example of an IOT device management system 110 which is further described below. The example IOT device management system 110 shown includes a sensor analysis module 160 that can perform analysis for sensors and users of the sensor data. The sensor analysis module 160 can be implemented by one or more physical computing devices, examples of which are provided below. The sensor analysis 160 module can be configured to perform onboard and/or offboard analysis and may be implemented in the system 110 (as offboard module 160A) and/or in the IOT device (as onboard module 160B). The onboard sensor analysis module 160B optionally included in the IOT device can include one or more computers coupled to the plurality of sensors integrated into the electronic device or attached with wires or wirelessly. For example, in one embodiment, the onboard sensor
2019100541 20 May 2019 analysis module 160B is a computing device coupled to a sensorthough a wired RS232 or
RS485 serial bus.
[0028] The computing device can also be in communication with a radio device that transmits data from the computing device to the IOT device management system 110 or to other devices. The sensor analysis module 160A or 160B can collect and gather data and information from the plurality of sensors integrated into the electronic device or attached with wires or wirelessly. The onboard sensor analysis module 160B can communicate the collected sensor data and information to the sensor management system 110. In another embodiment, the onboard sensor analysis module 160B filters or processes the data prior to sending the data to the sensor management system 110. The onboard sensor analysis module 160B can communicate some or all of the filtered data and information to the offboard sensor analysis module 160A of the sensor management system 110. If the onboard sensor analysis module 160B is unable to connect to a network or communicate with the sensor management system 110, the onboard sensor analysis module 160B can save and send the sensor data when the onboard sensor analysis module 160B is able to communicate with the server again.
[0029] In some embodiments, the sensor analysis module 160 can operatively couple with a mobile communication device located close to the sensor analysis module, such as a cell phone, tablet or other network capable electronic device.
[0030] Sensor diagnostic processes can be performed by the onboard sensor analysis module 160B. The sensor diagnostic processes can also be performed by the offboard sensor analysis module 160A. In some embodiments, an initial analysis is performed by the onboard sensor analysis module 160B and further analysis is per formed by the offboard sensor analysis module 160A. The sensor data collected by the onboard sensor analysis module 160B can include sensor condition information and sensor information, such as the operational state of the sensor, any fault conditions identified by the sensor, the model number of the sensor including software version.
[0031] The sensor data can also include measured values such as but not limited to voltage, current, temperature, humidity, water level, and other information that may be related to the environment in which the sensor is installed. The onboard sensor analysis module 160B and the sensor management system 110 can provide or analyse additional data that can be used for diagnostic analysis. For example, such data can include data
2019100541 20 May 2019 provided by the sensor manufacturer regarding diagnostic conditions, data obtained by crowd sourcing or otherwise analysing data provided by a community of sensors (including, for example, predictive diagnoses based on community analysis of diagnostic trends), or the like.
[0032] The offboard sensor analysis module 160A can output the analysis and diagnostic information obtained from the onboard sensor analysis module 160B to one of IOT user devices 135 configured to receive notifications and updates from the offboard sensor analysis module 160A. The output can include, for example, diagnostic codes or other diagnoses of sensor problems, sensor warnings, a list of proposed corrective actions, alarms, and/or other information provided by the onboard sensor analysis module 160B to the system 110. Similarly, the onboard sensor analysis module 160B can provide such outputs directly to the user via an output device such as a buzzer or light or other audible or visual device that may include a display that may be a computer display, tablet or phone that is able to present diagnostic and warning and alarm information as well as proposed corrective actions. The outputs to the IOT user 135 can include any of the outputs described above, as well as optionally instructions for the user to disconnect or otherwise interact with the sensor to amongst other actions to perform a repair, change a configuration or update software. The output could include a list of options of available diagnostics and repair options to perform, from which the user can select and then be instructed to perform. Depending on the severity of the predicted failure, the outputs to the user may, for more severe problems, provide instruction to the user to power down or disconnect a sensor to make the system safe. For less severe problems, the outputs to the IOT user 135 can indicate that maintenance should be performed soon or the like. The output can also provide information and alerts to sensor management system 110 or other management personnel.
[0033] The onboard sensor analysis module 160B can analyse diagnostic data against one or more thresholds that are to be met prior to outputting the analysis and diagnostic information. The thresholds can be machine-based and/or human-based thresholds. Machine based thresholds could be determined by algorithms based on factors such as cost, time, energy usage, disruptive effect, efficiency and others. Human-based thresholds could be determined by algorithms based on factors such as efficiency, comfort, safety, and others. In some embodiments, the onboard sensor analysis module 160B can filter
2019100541 20 May 2019 data received from the sensor and send a subset of the sensor data to the offboard sensor analysis module 160A.
[0034] In some embodiments, the onboard sensor analysis module 160B monitors the data received by the plurality of sensors integrated into the electronic device or attached with wires or wirelessly for changes. In one embodiment, when a change is detected, the updated data can be sent to the offboard sensor analysis module 160A. For example, if the onboard sensor analysis module 160B receives data from the plurality of sensors integrated into the electronic device or attached with wires or wirelessly continuously or substantially continuously, the onboard sensor analysis module 160B may solely send data that was different from a previous set of data to the offboard sensor analysis module 160A to conserve bandwidth.
[0035] In another embodiment, the onboard sensor analysis module 160B sends data periodically, such as once every hour or once every few hours, or even once a day or at longer intervals for measured parameters that change slowly. Ambient temperature data is an example of data that generally changes slowly. Instead of reporting ambient temperature data to the sensor management system 110 continuously or at frequent intervals (such as every 5 to 10 seconds), the onboard sensor analysis module 160B can instead send updated ambient temperature data to the sensor management system 110 once per minute or couple of minutes, once per hour, or less frequently.
[0036] In another embodiment, the onboard sensor analysis module 160B sends updated sensor data to the sensor management system 110 solely when the sensor data changes more than a threshold amount. In another embodiment, the onboard sensor analysis module 160B increases a frequency of transmission of sensor data when the data changes more than a threshold amount. More generally, the onboard sensor analysis module 160B can reduce, compress, or otherwise filter the diagnostic and other data sent to the sensor management system 110.
[0037] Some of each of the IOT devices 105 can include a program executing module 170. The program executing module 170 can provide functionality for a third-party to install custom script(s) 174 for execution by the program executing module 170 within an IOT application 172. The custom script(s) 174 can be separate from default programs, like the IOT application 172, installed for execution by the program executing module 170. The program executing module 170 can, for example, execute (1) default, pre-installed
2019100541 20 May 2019 programs that may have been developed by the manufacturer, seller, or installer of the
IOT devices 105, (2) custom scripts that may not have been developed by the manufacturer, seller, or installer of the IOT devices 105 but instead by a third-party like the end users of the IOT devices 105, or (3) other programs or scripts.
[0038] Data can be received by the program executing module 170 from the onboard sensor analysis module 160B via an application programming interface (API) in order to use the data as inputs when executing the programs and scripts. In turn, the program executing module 170 can be used to control (such as via the API or other outputs) or monitor operations of sensors by performing operations in accordance with the instructions of the IOT application 172 and based at least on the data received from the onboard sensor analysis module 160B.
[0039] The programs and scripts executed by the program executing module 170 can be stored in a memory (not shown) electronically coupled to the program executing module 170. In some embodiments, part or all of the program executing module 170 and part or all of the onboard sensor analysis module 160B can be part of the same module. In other embodiments, the program executing module 170 and the onboard sensor analysis module 160B can be separate modules.
[0040] As used herein, the terms “application” or “program,” in addition to having their ordinary meanings, can refer to an executable code that when executed by a hardware processor causes the hardware processor to perform operations in accordance with the executable code. In some instances, an application or a program, moreover, may refer to executable code that is compiled. As used herein, the term “script,” in addition to having its ordinary meaning, can refer to an executable script that when executed causes a hardware processor to perform operations in accordance with the executable script. In some instances, a script, moreover, may refer to executable script that is interpreted rather than compiled.
[0041] Figure 2 provides a more detailed illustration of an IOT device 205. The IOT device 205 is a more detailed embodiment of one of the IOT devices 105 described herein and includes some or all the features thereof. The IOT device 205 can be a sensor data acquisition and transmission sub-system. In the depicted embodiment, the IOT device 205 has a processor 210, memory 215, a wireless adapter 220, one or more integrated sensors 225. In some embodiments, the sensors 225 are omitted. The sensors 225 can be
2019100541 20 May 2019 integrated into the IOT device or attached with wires 231 or wirelessly 230 and can measure data, such as voltage, current, temperature, humidity, water level, and other information that may be related to the environment in which the sensor is installed. A network radio 240 communicates with the wireless network 250. The IOT device 205 may include a GPS module 245 that detects the IOT device position. The radio 240 can transmit data to the sensor management system 110. The radio 240 can also communicate IOT device positioning data received from the GPS module 245 to the sensor management system 110. In one embodiment, the radio 240 communicates with the sensor management system by placing a digital cell phone call to a server of the sensor management system 110. In other embodiments, the radio 240 communicates with the sensor management system using a Wi-Fi, satellite or other radio service to communicate to a server of the sensor management system 110. The radio 240 can also communicate with the IOT management system 110 using TCP/IP, UDP, MQTT or other protocols. By sending data frequently or periodically, the radio 240 can keep the connection to the server open, which can guarantee or help to guarantee data reliability.
[0042] Any number of sensors, whether integrated 225 into the electronic device or attached with 231 wires or wirelessly 230 can communicate with the IOT device 205. The wired sensors 231 and wireless sensors 230 can be located in close proximity to the IOT device, including, for example, sensors that communicate with a voltage such as pressure sensors, proximity sensors level sensors. The sensors can also be located remotely with the distance to the IOT device only limited by the medium with which they are connected to the IOT device. Some examples of sensors that may be locate remotely to the IOT device include wired RS485 sensors and wireless sensors such as Zigbee, Lorawan, Sigfox or other wireless sensors.
[0043] As a device, in certain embodiments, the IOT device 205 can enable data from multiple sensors to be acquired without adding wires or wireless connections to those sensors. The IOT device 205 can be in communication with some or all of the sensors 231. For example, the IOT device 205 can be coupled to a CAN bus network to thereby receive in-vehicle sensor information from an engine computer. In some embodiments, one or more in-vehicle sensors can be directly coupled to the IOT device 205, or the IOT device 205 can be configured to communicate wirelessly with the in-vehicle sensors. For example, the IOT module could receive cargo temperature data from a temperature sensor
2019100541 20 May 2019 wirelessly transmitting the data. The wireless sensors can use point-to-point transmission using wireless transmission standards such as Bluetooth, Lorawan, Sigfox or Zigbee.
[0044] The processor 210 and memory 215 of the IOT device 205 can implement various features. Among others, the processor 210 of the IOT device 205 can perform the operations associated with the onboard sensor analysis module 160B and the program executing module 170 described herein. The IOT device 205 can act as an intermediary processing platform for the IOT management system 110. The IOT device 205 can process the data received from the internal sensors 225 wired sensors 231 and wireless sensors 230 and send a subset of the total data collected to the IOT management system 110. The IOT device 205 can collect hundreds or thousands or more data points from any number of sensors, whether integrated into the IOT device 225 or attached with wires 232 or wirelessly 230. The IOT device 205 can, among other things, analyse, categorize, compress, or otherwise process the data before transmitting it to the IOT management system 110. By pre-processing the data prior to sending the information to the sensor management system 110, the IOT device 205 can determine what data to send to the IOT management system 110, which can reduce redundant processing and bandwidth used to continually transmit sensor data. The IOT device 205 can monitor several sensor characteristics.
[0045] The sensors 225, 230, 231 can provide information to the IOT device 205 at a specific frequency for each sensor characteristic; however, the sensors 225, 230, 231 may generally be recording data at a faster rate than the measured data is changing. As such, sending all of the data to the IOT management system 110 everytime a sensor provides data can waste bandwidth and provide redundant data points for the IOT management system 110 to process. Advantageously, in certain embodiments, instead of sending all of this data to the IOT management system 110, the IOT device 205 processes the data and selectively updates the IOT management system 110. The IOT device 205 can also compress the data that is received. The IOT device 205 can selectively compress portions of the data using wavelet transforms or other compression techniques, including any lossy or lossless compression techniques. For example, the data relating to sensor characteristics that are slowly changing can be compressed. The IOT device 205 can process sensor characteristics according to the rate at which the characteristics change. For example, water flow characteristics can change relatively fast when compared with a characteristic, such as water level. The IOT device 205 can provide updates to the IOT
2019100541 20 May 2019 management system 110 using different update approaches for each sensor characteristic, including periodic updates, threshold-based updates, event-based updates, user-specified updates, and/or a combination of methods. Periodic updates can provide updates to the IOT management system 110 at a specified frequency. For example, the IOT device 205 may update the water level data every 5 minutes. Threshold based updates can provide updates when the value of the sensor characteristic meets or exceeds a specified threshold. The thresholds can be static, determined dynamically by the system, user specified, or determined using any other method. The thresholds can be absolute such as a specific value, or relative, such as a percentage based change a specific number of units. For example, water level data could be updated when the water level changes by 10%, or when it changes by 2cm, or if the level drops below 1.5m. Event-based updates can prompt updates after a specific event occurs. For example, an update of all the sensor characteristics may be provided when the sensor is first powered or when a sensor error is detected. The IOT device 205 can use a combination of methods or algorithms to determine the frequency of the updates to the IOT management system 110. For example, the water flow rate data could have a periodic update and a threshold based update. The water level data could be updated every 30 minutes. However if there was a large rain event, it can be beneficial to have a more rapid or immediate update to the water level. As such, the IOT device 205 could evaluate the water level against a threshold that updates water level when a change is detected.
[0046] The IOT device 205 can provide update routines that are dependent on the operational phase of the sensor, such as start-up operation versus normal operation. As sensed data stabilises after start-up, the IOT device 205 can increase the intervals at which updates are provided to the sensor management system 110.
[0047] In some embodiments the IOT device 205 can send the updated data to the IOT management system 205 and the raw data. The raw sensor data can include some or all of the data that the IOT device 205 receives from the sensors. The raw data can be transmitted with or without the pre-processed updated sensor data. More generally, in certain embodiments, the IOT device 205 can be a system that performs wired and/or wireless data acquisition with a sensor.
[0048] The IOT device 205 can pool data from various sensors, apply time stamps to the data, reformat the data, encode the data, and/or encrypt the data. Software running on
2019100541 20 May 2019 the IOT device 205 can manage data acquisition and data formatting. The IOT device 205 can therefore, for instance, acquire sensor diagnostic or status data and buffer the data and forward the data directly to the IOT management system or another device (such as a cell phone, tablet, or laptop) via WiFi, Ethernet, RS232/422, USB or other suitable physical interfaces.
CUSTOMISATION OF IOT DEVICE [0049] In some IOT systems, IOT device operation can be fixed by the programs or scripts that can be run by the IOT devices. The default programs or scripts installed on the IOT devices can, for instance, be determined before the end users of the IOT devices begin using the IOT devices, and the end users may be limited to using only the default programs or scripts installed on the IOT devices. In yet other systems, the IOT devices can permit some amount of configuration by end users of the programs executed by the IOT devices, such as by enabling the end users to adjust thresholds used to trigger different events when IOT devices execute the default programs. However, such approaches fail to enable end users to have as much flexibility in controlling or monitoring using the IOT devices as can be desirable.
[0050] The program executing module 170 of the IOT devices 105 can be used to install and execute the custom script(s) 174 that provides the IOT application 172 of the IOT devices 105 with the ability to perform functions specific to a particular application. The program executing module 170 can execute the custom script(s) 174 in a controlled container (sometimes referred to as a sandbox environment) of the IOT application 172 So as to enable a limited amount of custom code to be executed in an isolated environment. In some embodiments, the custom script(s) 174 can be installed by a third-party onto tens, hundreds, or thousands or more of the IOT devices 105. Moreover, multiple custom script(s) 174 can be installed onto individual IOT devices 105, and the multiple custom script(s) may be executed simultaneously in the IOT application 172. In one example, the program executing module 170 can access and execute a custom script of the custom script(s) 174 that monitors fuel provided to user at a fuel depot. A user must present a card to a card reader and if the user is on an approved list, then the fuel is released from the fuel tank and the amount of fuel used is allocated to that user. In this application, the IOT device is monitoring the fuel level, fuel flow rate and the card reader. A list of approved users as well as a custom script allows the IOT device to receive a card number;
2019100541 20 May 2019 compare it with an approved list and if the card is on the approved list, to allow fuel to be delivered. Furthermore, the IOT device can calculate fuel provided per user and fuel remaining and transmit this information back to the IOT management system. This particular combination of monitoring, processing and actuation may not be important in most IOT applications, and thus may not have been installed by the manufacturer or seller of the IOT device 105. However, for select group of user applications, the ability to take a decision based on a card number may be significant and it may be desirable to be reported by the IOT devices 105 to the IOT management system 110. In another example, the program executing module 170 can communicate with a fire system that has an output that represents the state of the fire system and this state should be reported to the IOT management system for analysis by the sensor analysis module 160A so that decisions can be made as to actions to be taken, for instance in the event of a fire or when the fire system is undergoing maintenance. In some situations, such as where connectivity with the wireless network 190 is lost, it would be advantageous if the program executing module were executing a custom script to enable that the state of the fire system could be monitored by the program executing module 170 and passed to the sensor analysis module 160B to enable the IOT device to make decisions as to actions to be taken, for instance in the event of a fire or when the fire system is undergoing maintenance. Such a functionality may not be important in most IOT applications, and thus may not have been installed by the manufacturer or seller of the IOT devices 105. However, in a select group of users, the ability to process sensor data locally can be beneficial and desirably performed by the IOT device 105. As an additional example, the program executing module 170 can access and execute a custom script of the custom script(s) 174 that determines maintenance and prognostic data for a sensor. The maintenance and prognostic data may be relatively unique and of interest to managers of a small number of types of that sensor. On a periodic or other basis, the program executing module 170 can transmit the maintenance and prognostic data to the IOT management system 110 or one or more of the user devices 135 So that, for instance, anticipatory maintenance decisions can be made about the sensor. Such unique maintenance and prognostic data may not be important to operating most types of sensors, and thus may not have been installed by the manufacturer or seller of the IOT devices 105. However, for select group of sensors, the ability to gather and process this data can be beneficial and desirably performed by the IOT devices 105.
2019100541 20 May 2019 [0051] The ability of the program executing module 170 to execute custom programs or scripts, such as the custom script(s) 174 executable in the IOT application 172, can be limited, for instance, to prevent overwhelming the functioning of the IOT devices 105 with executing custom programs or scripts. The program executing module 170 can enable certain functionality or access to certain inputs or controls by executed custom programs or scripts, but not enable certain other functionality or access to certain other inputs or controls by executed custom programs or scripts. Moreover, the program excluding module 170 can control the priority of executing programs such that custom programs or scripts are executed with a lower priority than other programs or scripts executed by the program executing module 170. For example, the program executing module 170 can execute a sensor monitor program or script with a higher priority than custom programs or scripts so that operations performed by the custom programs or scripts are slowed before operations performed by the sensor monitor program or script in the event of limited processing resources. As another example, the program executing module 170 can execute the default functionality of the IOT application 172 with a higher priority than the custom script(s) 174 being executed by the IOT application 172.
[0052] The ability to install a custom program or script for execution by the program executing module 170. such as in the IOT application 172, can be limited in some instances. A user, for example, may be required to provide authentication to the IOT management system 110 or the IOT devices 105 before the program executing module 170 can install the custom program or script. As another example, to diminish a bandwidth usage or amount of data transmitted, the IOT management system 110 or the IOT devices 105 can limit a data transfer speed or amount of custom program or script data that is transferable over a period of time. For example, such limits can prevent excess data transfer charges that may be incurred (for example, that may be owed to a cellular data service provider) when communicating the custom program or script to one or more of the IOT devices 105 for installation.
[0053] The custom program or script, such as the custom script(s) 174 executable in the IOT application 172, can provide programming capabilities to a third-party that enable flexible and sophisticated controls or data monitoring to be implemented by the program executing module 170. As a result, in certain embodiments, the custom program or script can advantageously permit the program executing module 170 to perform a variety of functions that can be suited directly to the needs of particular sensors. In one example, a
2019100541 20 May 2019 custom program or script, such as one of the custom script(s) 174 executable in the IOT application 172, executed by the program executing module 170 can be used to initiate a data service call for a faulty sensor. As another example, in addition to processing locally determined data from the onboard sensor analysis module 160B, a custom program or script, such as one of the custom script(s) 174 executable in the IOT application 172, can process sensor specific data in a monitoring application that was received from the IOT management system 110 or one of the user devices 135 to make better control and monitoring decisions in the application.
[0054] In one embodiment, the custom script executable by the program executing module 170, such as the custom script(s) 174, can be custom JavaScriptTM code. In other embodiments, other programming or scripting languages can be used such as C++, JavaTM, or PythonTM, for instance. The IOT devices 105 or the program executing module 170 can operate at least using a MongooseTM operating system in certain embodiments. In other embodiments, the IOT devices 105 or the program executing module 170 can operate at least using a different operating system, such as MicrosoftTM, WindowsTM, AppleTM, iOSTM or LINUXTM, for instance.
[0055] In some embodiments, some of each of the IOT devices 105 can be retrofitted with the program executing module 170. As a result, the IOT devices 105 not originally having the ability to execute a custom program or script can be retrofitted so as to be able execute the custom program or script, such as the custom script(s) 174 in the IOT application 172. The IOT management system 110 or the management devices 135 can run a web-based or local application development environment for simulating the execution of a custom program or script, such as the custom script(s) 174 executable in the IOT application 172, by the program executing module 170. In the development environment, the user can execute a custom program or script and review the operation of the custom program or script in the virtual environment to experiment and evaluate the functioning of the custom program or script.
CUSTOM SCRIPTS FOR IOT DEVICES [0056] Figure 3 depicts an IOT application and custom script deployment process 300. The process 300 illustrates an example mode of operation of the computing environment 100 and may be implemented by the various components shown in the computing environment 100. For convenience, the process 300 is described in the context of the computing
2019100541 20 May 2019 environment 100 but may instead be implemented by other systems described herein or other computing systems not shown.
[0057] The process 300 provides one example approach by which one of the IOT devices 105, such as the in IOT device 105A, can used with and without a custom script before and after the custom script is installed on the one of the IOT devices 150. At block 302, the IOT device 105A can be installed. The in-vehicle device 105A can have the IOT application 172 installed in a memory of the IOT device 105A, such as the memory 215, that enables the IOT device 105A to perform IOT functionality in its intended application such as collecting sensor data, determining events from the sensor data, and reporting at least some of the sensor data and the events to the IOT management system 110. The installation of the IOT device 105A can be considered the deployment of the IOT device 105A such that the IOT device 105A may be now ready for use by an end-user. At block 304, the IOT device can take sensor measurements and at block 305 perform analytics on those measurements according to the execution of the IOT application 172.
[0058] The IOT device 105A notably, at this time, may execute the IOT application 172 without executing a custom script, for instance, because a custom script may not yet have been installed on the IOT device 105A. Execution of the IOT application 172 by the IOT device 105A can cause the IOT device 105A to perform the IOT functionality, such as to collect sensor data and perform analytics such as monitoring the voltage output of a sensor and comparing the measured value with thresholds to determine various events.
[0059] At block 306, the IOT device 105A can transmit first sensor data and events to the IOT management system 110 according to instructions from the IOT application 172. At block 308, a custom script, such as one of the custom script(s) 174 can be installed on the in IOT device for execution by the IOT application 172. The custom script can include instructions for the IOT application 172 to perform multiple custom operations and can, for instance, include JavaScriptTM code. The custom script can be interpreted by the IOT application 172 and may not be compiled. The custom script can be installed by an individual other than a manufacturer of the vehicle or the IOT device 105A and maybe installed remotely, such as via a wireless communication network.
[0060] In some implementations, the custom script may be installed if the custom script is provided by an authenticated user or the custom script is provided with expected authentication information, but may not be installed if the custom script is provided by an
2019100541 20 May 2019 unauthenticated user or the custom script is provided with unexpected authentication information.
[0061] At block 309, the IOT device can take a second set of sensor measurements and at block 310 perform analytics on those measurements according to the execution of the IOT application 172 as well as according to the execution of one of the custom script(s) 174. The execution of the custom script in the IOT application 172 can change a default functionality of the IOT application 172 so that the IOT application 172 causes the IOT device 105A to function differently than if the IOT application 172 were executed without executing the custom script in the IOT application 172.
[0062] In some implementations, the custom script may be executed if the custom script is provided by an authenticated user or the custom script is provided with expected authentication information, but may not be executed if the custom script is provided by an unauthenticated user or the custom script is provided with unexpected authentication information.
[0063] Moreover, in certain embodiments, the custom script may receive data from the IOT application 172 rather than directly receiving the data from internal sensors 225, wired sensors 231 and wireless sensors 230.
[0064] At block 312, the IOT device 105A can transmit second sensor data and events to the IOT management system 110 according to instructions from the custom script executed by the IOT application 172. As a result, the second sensor data and events can be different from the first sensor data and events due to the instructions provided by the custom script.
[0065] Figure 4 depicts an IOT device usage process 400. The process 400 illustrates an example mode of operation of the computing environment 100 and may be implemented by the various components shown in the computing environment 100. For convenience, the process 400 is described in the context of the computing environment 100 but may instead be implemented by other systems described herein or other computing systems not shown. The process 400 provides one example approach by which one of the IOT devices 105, such as the IOT device 105A, can used with and without a custom script.
2019100541 20 May 2019 [0066] At block 402, the IOT device 105A can operate while the default telematics application 172 is executed. One or more operations at block 402 can be the same as or similar to one or more of the operations at blocks 304 or 306 of the process 300. The IOT functionality provided by the IOT application 172 can include one or more of the IOT features described herein or the like.
[0067] At block 404, the IOT device 105A can receive a custom script and store the custom script to the memory 215. One or more operations at block 404 can be the same as or similar to one or more of the operations at blocks 308 of the process 300. At block 406, the IOT device 105A can retrieve the custom script from the memory 215. The IOT device 105A can, for instance, retrieved the custom script in response to a user input or a call for the custom script by the IOT application 172. At block 408, the IOT device 105A can execute the custom script in the IOT application 172. One or more operations at block 408 can be the same as or similar to one or more of the operations at blocks 310 and 312 of the process 300. Moreover, the IOT application 172 can cause the IOT device 105A to function differently so that the IOT application 172 causes the IOT device 105Ato control operation of a component associated with a sensor, such as (i) one of the sensors 225 and 230 (for example, by changing a sensor configuration for the one sensor) or (ii) a transmitter (for example, by causing the transmitted to complete a data service call. Additionally or alternatively, the IOT application 172 can cause the IOT device 105A to function differently so that the IOT application 172 causes the IOT device 105A to (i) determine an occurrence of an event from the sensor data according to event determination instructions of the custom script and output an indication of the event for presentation to an IOT user or to the IOT management system 110 or (ii) analyse sensor data according to data analysis instructions of the custom script and output the data analysis for presentation to an IOT user or to the IOT management system 110.
[0068] In some embodiments, when the custom script is executed in the IOT application 172, the custom script can be enabled to adjust a functionality of the IOT application 172 when the IOT application 172 processes a first set of sensor data (for example, of a certain type, quality, or having another distinguishing characteristic) and may not be enabled to adjust the functionality of the IOT application 172 when the IOT application 172 processes a second set of sensor data different from the first set (for example, of a different type, quality, or having another distinguishing characteristic from the first set).
2019100541 20 May 2019 [0069] In some embodiments, when the custom script is executed in the IOT application 172, the custom script can be enabled to adjust a functionality of the IOT application 172 when the IOT application 172 performs a first operation (for example, of a certain type, quality, or having another distinguishing characteristic) on vehicle data and may not be enabled to adjust the functionality of the IOT application 172 when the IOT application 172 performs a second operation different from the first operation (for example, of a different type, quality, or having another distinguishing characteristic from the first operation) on the sensor data.
[0070] In some embodiments, when the custom script is executed in the IOT application 172, an operation performed by the IOT application 172 that is initiated by the custom script can be assigned a lower priority by the IOT application 172 than an operation performed by the IOT application 172 that is initiated by the IOT application 172 and not the custom script.
[0080] The execution of the custom script(s) 174 in the IOT application 172 can be controllable such that the one or more of the custom script(s) 174 can be enabled or disabled, as well as added or deleted. For example, each of the custom script(s) 174 can be associated with an enable or disable flag that indicates whether the IOT application 172 should execute a corresponding one of the custom script(s) 174. The enable or disable flags can be user controllable, in some instances, such as via a command message from the IOT management system 110. As a result, the IOT application 172 may readily be able to adopt revised or new functionalities or return to default functionalities.
[0081] Although the custom or default programs or scripts described herein can be, in some instances, programs or scripts that initiate and then run to completion within a relatively short time period, the custom or default programs or scripts described herein can be additionally or alternatively long-lived programs or scripts. The program executing module 170 can, for example, execute a custom or default program or script so that the custom or default program or script functions as a service for minutes, hours, days, years, or the like and thereby provides functionality to other devices, other custom programs or scripts, default programs or scripts, the IOT management system 110, or one or more of the IOT users 135.
CUSTOM SCRIPT APPLICATION PROGRAM INTERFACE
2019100541 20 May 2019 [0082] The custom script(s) 174 can be exposed to a specific API by the IOT application 172. For instance, the specific API can include one or more of the following classes in certain implementations: General, for example, can be used to change timing and power settings for the IOT device; Network, can be used to change settings associated with the network radio 240; Internal can be used to change settings associated with sensors internal 225 to the IOT device and to access the latest data associated with each sensor; External can be used to change settings related to wired sensors 231 and wireless sensors 230 and to access the latest data associated with each sensor; Endpoint can be used to change the destination for transmitted data and the IOT management system 110; Update can be used to trigger an update to the IOT application 172; Admin can be used to change settings associated with IOT users 135.
EXAMPLE IOT MANAGEMENT SYSTEM [0083] As described above, Figure 1 illustrates an embodiment of a computing environment 100 for implementing an IOT management system 110 that can implement any of the features described herein. In the computing environment 100, one or more IOT devices 105A..105N and IOT Users 135A..135N that communicate with the IOT management system 110 over a network 145. The IOT devices 105 can include computing devices installed in user applications. These devices 105 can include navigation functionality, sensor monitoring functionality, and the like. The IOT devices 105 can receive sensor settings and other information from the IOT management system 110. In addition, the IOT devices 105 can report information to the IOT management system 110, such as IOT device location, sensor data, sensor status (e.g., voltages, currents, serial data, or the like), and so forth.
[0084] The IOT User devices 135 can be computing devices used by IOT Users, IOT managers, IOT administrators, or other users to manage different aspects of the IOT management system 110. For example, a user of one of the IOT User devices 135 can access the IOT management system 110 to note the location of an IOT device, check sensor data and check for alerts associated with a sensor or perform other individual sensor or IOT management functions. In some embodiments, the IOT User devices 135 are in fixed locations, such as at an industrial plant control room. The IOT User devices 135 can also be used by administrators in the field, and may include mobile devices, laptops, tablets, Smartphones, personal digital assistants (PDAs), desktops, or the like.
2019100541 20 May 2019 [0085] The IOT management system 110 can be implemented by one or more physical computing devices such as servers. These servers can be physically co-located or can be geographically separate, for example, in different data centres. In one embodiment, the IOT management system 110 is implemented as a cloud computing application. For instance, the IOT management system 110 can be a cloud-implemented platform hosted in one or more virtual servers and/or physical servers accessible to users over the Internet or other network 145.
[0086] In the depicted embodiment, the IOT management system 110 includes a sensor management module 112, a data storage module 120, a user management module 130, a sensor analysis module 160A, and an integration module 150. These components can, but need not, be integrated together on a common software or hardware platform.
[0087] The user interface module 112 can include functionality for generating, rendering, or otherwise displaying a user interface 114. The user interface 114 can include a map or list of IOT devices that depicts symbols or other data representative of sensors. As used herein, the terms “output a user interface for presentation to a user,” “presenting a user interface to a user,” and the like, in addition to having their ordinary meaning, can also mean (among other things) transmitting user interface information over a network, such that an IOT User 135 device can actually display the user interface. The user interface module 112 can communicate with the sensor management module 140 to obtain sensor data, which the user interface module 112 can include in user interface 114. The sensor data can be compressed, transmitted, re-rendered, and displayed on the user interface 114. Other data can also be overlaid to enhance the readability for the user. The user interface module 112 can also access the data storage module 120 to obtain historical sensor data and status for inclusion in sensor history timelines. The data storage module 120 can provide this sensor data and sensor status based on sensor data obtained from the IOT devices 105N. The sensor data can include such data as voltages, currents, serial data, or any other data that can be obtained from a sensor, or the like (including other sensors that may be complete systems and may have an interface to which the IOT device 105 may be connected and so forth).
[0088] The IOT integration module 132 can facilitate integration of the IOT management system 110 with other systems, such as fuel card systems, payroll systems, supply chain system, SCADA systems, and the like.
2019100541 20 May 2019 [0089] The user management module 130 can provide functionality for users of the management devices 135 to assign users and IOT devices rights within the IOT management system 110.
[0090] The illustrated network 145 may be a WAN, the Internet, combinations of the same, or the like.
[0091] For ease of illustration, the IOT management system 110 has been depicted as a centralized system, however, in other implementations, at least some of the functionality of the IOT management system 110 is implemented in other devices. Other possible implementations of the IOT management system 110 can include many more or fewer components than those shown in Figure 1.
TERMINOLOGY [0092] Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithm). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially.
[0093] The various illustrative logical blocks, modules, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and Software, various illustrative components, blocks, modules, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
[0094] The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure. The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be
2019100541 20 May 2019 implemented or performed by a machine such as a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0095] The steps of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of computer-readable storage medium known in the art. An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.
[0095] Conditional language used herein, such as, among others, “can,” “might,” “may.” “e.g., and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment.
[0096] The terms “comprising,” “including”, “having”, and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements,
2019100541 20 May 2019 features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term Or' means one, some, or all of the elements in the list.
[0097] Conjunctive language such as the phrase “at least one of X, Y and Z.' unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be either X, Y or Z. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y and at least one of Z to each be present.
[0098] While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As will be recognised, certain embodiments of the inventions described herein can be embodied within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others.

Claims (5)

  1. Claims
    1. A system for gathering data from a plurality of sensors integrated into or attached with wires or wirelessly to an IOT device that whilst executing a default program is able to take measurements from those sensors and process the measured data and make decisions as to events associated with the sensor data which may then be transmitted along with the measured data to a wireless network and subsequently to an IOT management system for further processing and storage and providing functionality for a third-party to install and then execute custom scripts within an IOT application to change default functionalities of the IOT application when taking measurements from those sensors and processing the measured data and making decisions as to events associated with the sensor data and the way in which the sensor data and events may then be transmitted, the system can include: an electronic device including digital logic circuitry and configured to be installed in a multitude of remote measurement applications, the electronic device including a number of interfaces coupled to a plurality of sensors internal to the electronic device or coupled to the electronic device with wires or wirelessly; and a memory device in communication with the electronic device, the memory device storing a IOT application that when executed by the electronic device causes the electronic device to take measurements from the plurality of sensors and process the measured data and make decisions as to events associated with the measurements which may then be transmitted along with the measured data to a wireless network and subsequently to a server for further processing and storage. The sensor data can include data represented by voltages, currents, frequencies, duty-cycles, or serial data whether received though wires or wirelessly that is measured from the plurality of sensors and that may be associated with the environment in which the electronic device is installed. The sensor events can include sensor data that is above or below a threshold value, data that changes at a rate that is faster or slower than a threshold value or the presence or absence of data. The electronic device can be configured to: while operating, execute the IOT application causing the electronic device to gather the sensor data, determine the sensor events, and transmit at least some of the sensor data and at least some of the sensor events to a wireless network and subsequently to a server for further processing and storage; during operation, receive and store in a memory device, a custom script, executable in the IOT application; the IOT application being configured to retrieve the custom script from the memory device; interpret the custom script; and while executing the IOT application, execute the custom script in the IOT application to change a default
    2019100541 20 May 2019 functionality of a component of the IOT application so that the IOT application causes the electronic device to gather the sensor data differently than if the IOT application is executed without executing the custom script in the IOT application.
  2. 2. The system of claim 1, wherein the custom script comprises instructions for the IOT application to perform a plurality of custom operations.
  3. 3. The system of claim 2, wherein the electronic device is configured to receive the custom script from an individual other than a manufacturer of the vehicle or a manufacturer of the electronic device.
  4. 4. The system of claim 1, wherein subsequent to executing the custom script in the IOT application, the electronic device is configured to execute the IOT application without executing the custom script in the IOT application so that the default functionality of the IOT application is not changed.
  5. 5. The system of claim 1, wherein the electronic device is configured to: in response to receiving a first user input indicating to enable execution of the custom script in the IOT application, execute the custom script in the IOT application; and in response to receiving a second user input indicating to disable execution of the custom script in the IOT application, execute the IOT application without executing the custom script.
AU2019100541A 2019-05-20 2019-05-20 A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device Active AU2019100541A4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2019100541A AU2019100541A4 (en) 2019-05-20 2019-05-20 A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2019100541A AU2019100541A4 (en) 2019-05-20 2019-05-20 A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device

Publications (1)

Publication Number Publication Date
AU2019100541A4 true AU2019100541A4 (en) 2019-06-27

Family

ID=66998018

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2019100541A Active AU2019100541A4 (en) 2019-05-20 2019-05-20 A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device

Country Status (1)

Country Link
AU (1) AU2019100541A4 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3823247A1 (en) * 2019-11-15 2021-05-19 ABB Schweiz AG Method and system for processing sensor data for transmission
CN113805867A (en) * 2021-08-24 2021-12-17 中通服咨询设计研究院有限公司 Internet of things platform based on visual static script engine
CN114143734A (en) * 2021-10-22 2022-03-04 广东省电信规划设计院有限公司 Data processing method and device for 5G Internet of things network card flow acquisition
CN117708219A (en) * 2024-02-06 2024-03-15 中科云谷科技有限公司 Processing method, processing device and storage medium for data of Internet of things

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3823247A1 (en) * 2019-11-15 2021-05-19 ABB Schweiz AG Method and system for processing sensor data for transmission
WO2021094466A1 (en) 2019-11-15 2021-05-20 Abb Schweiz Ag Method and system for processing sensor data for transmission
CN114938707A (en) * 2019-11-15 2022-08-23 Abb瑞士股份有限公司 Method and system for processing sensor data for transmission
CN114938707B (en) * 2019-11-15 2024-06-11 Abb瑞士股份有限公司 Method and system for processing sensor data for transmission
CN113805867A (en) * 2021-08-24 2021-12-17 中通服咨询设计研究院有限公司 Internet of things platform based on visual static script engine
CN113805867B (en) * 2021-08-24 2024-03-19 中通服咨询设计研究院有限公司 Internet of things platform based on visual static script engine
CN114143734A (en) * 2021-10-22 2022-03-04 广东省电信规划设计院有限公司 Data processing method and device for 5G Internet of things network card flow acquisition
CN117708219A (en) * 2024-02-06 2024-03-15 中科云谷科技有限公司 Processing method, processing device and storage medium for data of Internet of things
CN117708219B (en) * 2024-02-06 2024-05-07 中科云谷科技有限公司 Processing method, processing device and storage medium for data of Internet of things

Similar Documents

Publication Publication Date Title
AU2019100541A4 (en) A Custom Script to Change the Default Operation of an IOT (Internet of Things) Device
US9830749B2 (en) Systems and methods for executing custom fleet vehicle management scripts
US10754721B2 (en) Computer system and method for defining and using a predictive model configured to predict asset failures
US20180033087A1 (en) Connected devices for detecting and responding to events in an environment
CN110617209B (en) Online monitoring and diagnosing method and system for pump station unit
US10424132B2 (en) Vehicle component failure prevention
CN105209995A (en) Monitoring system and diagnostic device and monitoring terminal thereof
CN113055417A (en) Intelligent industrial Internet of things system
US20170163515A1 (en) Local Analytics Device
US20210065086A1 (en) System and method for failure curve analytics
CN114715139A (en) Automatic parking abnormal data acquisition method and device, storage medium and product
AU2015247437A1 (en) Prognostics and health management system
CN115437338A (en) Remote diagnosis method and device, electronic equipment and storage medium
US20190155271A1 (en) Determining a change in asset performance using a digital twin
CN112631887A (en) Abnormality detection method, abnormality detection device, electronic apparatus, and computer-readable storage medium
CN115469629A (en) Remote diagnosis method, device, system, electronic equipment and storage medium
CN115437339A (en) Remote diagnosis method and device, electronic equipment and storage medium
CN112445583A (en) Task management method, task management system, electronic device, and storage medium
KR20180011333A (en) Local analytics at an asset
CN112032031B (en) Cloud data analysis method, device and system for air compressor
US11113610B2 (en) System for building and deploying inference model
WO2016014610A1 (en) Sonde
CN109947576A (en) A kind of method of virtual machine internal broker program management
CN106817233A (en) A kind of cloud computing management platform alarm method and measurement monitoring platform
US20220214191A1 (en) System and method for improved accuracy of detecting meter removal or physical tampering

Legal Events

Date Code Title Description
FGI Letters patent sealed or granted (innovation patent)
MK22 Patent ceased section 143a(d), or expired - non payment of renewal fee or expiry
NA Applications received for extensions of time, section 223

Free format text: AN APPLICATION TO EXTEND THE TIME FROM 20 MAY 2021 TO 20 JAN 2022 IN WHICH TO PAY A RENEWAL FEE HAS BEEN FILED

NB Applications allowed - extensions of time section 223(2)

Free format text: THE TIME IN WHICH TO PAY A RENEWAL FEE HAS BEEN EXTENDED TO 20 JAN 2022