A system and method are described for an IoT integrated development tool. For example, one embodiment of an apparatus comprises: an Internet of Things (IoT) development application comprising a GUI through which a developer is to specify a configuration for a new IoT device; a development database comprising configuration data related to different IoT device configurations, the IoT development application to utilize the data in the development database based on the configuration specified by the developer for the new IoT device; an IoT device engine to generate an IoT device profile responsive to the development application specifying input/output functions to be performed by the new IoT device; a client app engine to generate a user experience (UX) profile responsive to the development application specifying features of a client app or application related to operation of the new IoT device; and an IoT service engine to generate a cloud application programming interface (API) profile responsive to the development application specifying features of an IoT service related to operation of the new IoT device.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: providing an Internet of Things (IoT) integrated development application comprising a graphical user interface (GUI); providing a development database comprising configuration data related to different IoT device configurations, IoT service configurations, and client app/application configurations; specifying, by a developer, a configuration for a new IoT device, utilizing the IoT integrated development application, wherein the developer utilizes the data in the development database for the configuration for the new IoT device; specifying, by the developer through the IoT integrated development application, input/output functions to be performed by the new IoT device; responsive to the development application specifying input/output functions to be performed by the new IoT device, generating an IoT device profile to be applied to the IoT device, wherein the IoT device profile is stored in a non-volatile storage memory of the new IoT device; applying the IoT device profile to the IoT device and thereby configure the IoT device to perform the input/output functions; based on the configuration of the new IoT device specified by the developer, generating a user experience (UX) profile specifying graphical user interface (GUI) features of a client app or application; configuring the client app or application by applying the UX profile to the client app or application to implement the GUI features; specifying, by the developer through the integrated development application, IoT service features of an IoT service corresponding to the configuration of the new IoT device; responsive to specifying IoT service features of an IoT service based on the configuration of the new IoT device, generating a cloud application programming interface (API) profile; applying the cloud API profile to the IoT service to configure the IoT service to implement the IoT service features, wherein configuring the features includes: configuring the IoT service to handle exchange of commands or data between the client app or application and the new IoT device; and configuring the IoT service to handle external invocation of the features; and enabling communication between the client app or application and the new IoT device through the IoT service.
2. The method as in claim 1 wherein the IoT device comprises a controller for executing program code to implement the IoT device profile.
3. The method as in claim 1 wherein the input/output functions comprise at least one analog-to-digital function or digital-to-analog function.
4. The method as in claim 1 wherein the input/output functions comprise at least one on/off input or output function.
5. The method as in claim 1 wherein the IoT device profile specifies whether the IoT device is to operate in a stand-alone mode in which the input/output functions are performed by a secure communication module or in a microcontroller unit (MCU) mode in which at least some input/output functions are performed by software executed on the MCU.
6. The method as in claim 5 wherein the MCU and the secure communication module are communicatively coupled over a serial communication channel.
7. The method as in claim 6 wherein the serial communication channel comprises a serial peripheral interconnect (SPI) bus.
8. The method as in claim 1 wherein specifying input/output functions to be performed by the new IoT device comprises specifying operation of input/output lines of the IoT device.
9. The method as in claim 1 wherein the UX profile specifies a plurality of graphical I/O elements to be displayed within a GUI of the IoT app or application and configurations to be used for those graphical I/O elements.
10. The method as in claim 1 wherein the cloud API profile is to specify IoT service-side requirements of the new IoT device.
11. The method as in claim 10 wherein the IoT service-side requirements comprise a manner in which the IoT service is to exchange commands and data with the new IoT devices or notifications to be sent to a client on which the app or application is to be executed.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 14, 2015
September 15, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.