US20180205569A1 - Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation - Google Patents

Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation Download PDF

Info

Publication number
US20180205569A1
US20180205569A1 US15/870,563 US201815870563A US2018205569A1 US 20180205569 A1 US20180205569 A1 US 20180205569A1 US 201815870563 A US201815870563 A US 201815870563A US 2018205569 A1 US2018205569 A1 US 2018205569A1
Authority
US
United States
Prior art keywords
hardware device
url
data
hardware
action
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.)
Abandoned
Application number
US15/870,563
Inventor
Roger Wagner
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US15/870,563 priority Critical patent/US20180205569A1/en
Publication of US20180205569A1 publication Critical patent/US20180205569A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Definitions

  • URLs which are here taken as synonymous to Uniform Resource Identifiers (URIs)
  • URIs Uniform Resource Identifiers
  • Examples may be Internet-of-Things (IoT) systems, such as:
  • one type of prior art may have dedicated software that responds to the sensor condition with a new dedicated (non-browser) screen or display.
  • the software displays data or messages within a screen on a webpage on the mobile device, such as weather station data being graphically displayed on a website.
  • the prior art In the device-to-webpage direction, the prior art only displays data on the webpage, it does not change the webpage based on the device-gathered data. In the webpage-to-device direction, prior art may be able to turn on something on the device through controls on the webpage, but the action does not occur as a direct result of simply being on the webpage.
  • the prior art discloses the display of data from a remote sensor on a given web-page, or the control of a remote sensor or actuator from the webpage, but that the URL of the webpage itself is not controlled by the sensors data, nor are actuators controlled by the act of changing the current URL of the display device. This deficiency in the prior art is corrected by the present invention.
  • buttons presented on a webpage or in an app and the lights come on, through methods very well-known to those skilled in the art. All these methods, however, involve the complication of programming the buttons and the response to the buttons.
  • bidirectional control is found in other prior art, e.g., use a webpage user interface to change the settings (direction, zoom, etc.) on a webcam, and with that in a fixed state, the webcam data flow is passed back as a display to the webpage.
  • the webpage does not change in response to the camera, and the camera does not change in response to changing the webpage being viewed.
  • the special-purpose communication can be designed to provide great speed if necessary, but it has the disadvantage of adding great complexity to the synergy of the hardware/web interface combination. That disadvantage is such as to restrict the development of a device with such a combination to very determined programmers. Thus the programming of a whole, responsive device involving both embedded hardware and an easily usable web interface becomes a specialty task.
  • TBL. 1 is a description of an exemplary playlist
  • FIG. 1 shows some timelines of a typical operation of a typical embodiment of the invention called the “HyperDuino”;
  • FIG. 2 is a picture of the communicating pieces of one embodiment of the invention, HyperDuino For Chrome running an embedded device with a serial connection and connected via the Internet to servers from which URLs can draw videos or stills.
  • a preferred embodiment of the present invention is a method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation. As illustrated in the various drawings herein, preferred embodiments of the invention are depicted.
  • the invention is a system including a responsive electronic hardware device (the “hardware”), a browser with a user interface (the “browser”), a server or servers with content displayable by the browser (the “server”), and a software program (the “handler”) capable of:
  • the handler is event-coded to comply with a table, herein called the “playlist,” which is a data table correlating hardware state input and browser URL location transmitted to the handler to actions performed by the handler. See TBL. 1.
  • the term “actuator” means the handler drives the hardware, either causing internal hardware state change or further effects within or beyond the hardware, or both, while the term “sensor” means the hardware that drives the handler, either as a result of the internal hardware state or conditions detected within or beyond the hardware, or both.
  • the word “microcontroller” includes any electronics within the hardware.
  • TBL. 1 this is a description of an exemplary playlist.
  • the Fields 1a-zzz hold extra parameters, such as start and end times for a video which may have not been implicitly written in the URL, but which are still detectable by the Software while that URL is actively displayed in the browser. (these latter parameters may have been used in the prior art, but not within the context of the URL-associated I/O disclosed in this invention).
  • the Field 2: ResponseFlag (indicator) has three possible states.
  • the second state is RespondLeaveURL.
  • the Fields Fields 2a-zzz are I/O channels, as appropriate to the microcontroller being used by the Software, and conditions to be tested for in case RespondSense or output to be actuated in cases RespondNewURL or RespondLeaveURL.
  • the handler is simultaneously quickly responsive to web interface state, including URLs, anchors, selections, and timing such as time elapsed during a video, and to microcontroller (sensor) output to the handler.
  • web interface state including URLs, anchors, selections, and timing
  • microcontroller (sensor) output to the handler.
  • This can be accomplished by any sufficient programming construct, such as select( ) frequent enough polling, or event coding implied by the structure of a higher-level programming language like Javascript.
  • the invention permits an arbitrarily complex event response to be coded as a flat table of URL responses.
  • This table which in one embodiment is called a′ “playlist,” responds simply to each specified URL, using its queries to guide the activation of actuators (defined earlier in the patent text), and also permits the display of any URL in the playlist in response to the output of sensors.
  • the first embodiment is the HyperDuino, an educational device. It builds on the simplicity inherent in the invention by introducing a synergistic simplicity to hardware construction, through the attachment of a shield called the “HyperDuino shield” to any of them, such as the Funduino.
  • the educational value of this is well described on the inventors web page [Wagner, Roger: “Hardware & Instructional Design—HyperDuino”; www.rogerwagner.com], for example:
  • the HyperDuino handler is instantiated as a Chrome OS app, written in Javascript.
  • the creation of Chrome apps in Javascript is well known to web programmers skilled in the art.
  • the HyperDuino handler is responsive to Web interface state, and it is also written so as to be responsive to asynchronous input from serial or other channels that are driven by the hardware.
  • the response of the HyperDuino handler is completely determined by its playlist, as described in TBL. 1.
  • the HyperDuino handler continues operating until a HaltEvent is received, which can come either from internal programming, such as the operating session is done, or from an external signal, such as a user stop signal or arrival at an URL in the playlist, or the detection of a hardware state.
  • the transmission of URLs caused by the handler in the Field 2 RespondSense case can also include any web interface programming of which the browser is capable, and can fetch content from any accessible Internet server reached by the URL.
  • the actuator response in the Field 2 RespondNewURL or RespondLeaveURL case can be driven by any knowledge of Web interface state that the browser is capable of sharing with the handler. Indirect immediate or delayed feedback responses, both as a result of hardware behavior and as a result of Web interface behavior, are possible and expected implications of the playlist.
  • the second embodiment presented here is an instructional and diagnostic tool for actual breadboard circuits, where analog and digital readings from the digital and analog inputs would directly lead to the display of informational and diagnostic webpages purely by virtual of how the existing playlist responded to the values.
  • the HyperDuino software playlist will see “0” for a short circuit (for example wires crossed leading to the photocell), “1023” for an open circuit (for example, the photocell has not yet been inserted), and then an expected range when the photocell is inserted.
  • a lesson on a system like Google Slides may on slide N say “insert a photocell into this part of the circuit”. Until the photocell is inserted, the slide will not advance. When it is inserted, the slide will congratulate the user. Should a different item be inserted that is very different in expected resistance from a photocell, a different slide will be presented asking the operator to confirm and re-do the insertion of a photocell.
  • a third embodiment would be the application of the invention in program code on the server of a webpage itself, and not requiring a local application to be running.
  • the webpage could display other webpages within a sub-window of the main webpage, as is commonly done with embedded videos and other html content.
  • Code running on the server would then use the method taught in this invention to correlate the URL displayed in the sub-window with hardware inputs and outputs connected to the local computer by serial or other type of communication.
  • FIG. 1 shows some timelines of a typical operation of a typical embodiment of the invention, hereafter called the “HyperDuino.”
  • FIG. 2 is a picture of the communicating pieces of one embodiment of the invention, HyperDuino For Chrome running an embedded device with a serial connection and connected via the Internet to two Servers from which URLs can draw videos or stills. This is during phase 104 of the timeline of FIG. 1 .
  • Bidirectional serial communication in which either side can take the initiative, is 210 (embedded device to HyperDuino Web Driver) and 211 (HyperDuino Web Driver to embedded device).
  • 212 represents HyperDuino For Chrome reading the playlist at will.
  • 213 is data from HyperDuino For Chrome to HyperDuino Web Driver
  • 214 is data from HyperDuino Web Driver to HyperDuino For Chrome, to effect the division of labor required by the OS and/or browser.
  • 215 is an URL and/or timing sent from HyperDuino Web Driver to be acted upon by the browser
  • 216 is the browser transmitting information about an URL to HyperDuino Web Driver.
  • 217 , 219 a , and 219 b represent the URL request going from browser through the Internet to a server
  • 220 a , 220 b , and 218 represent the return of data by a server to the browser.
  • the embedded device and serial connection of 201 , 210 , and 211 are completely standard, as are the browser 206 , its display 207 , and the connection 217 and 218 and the Internet and servers beyond it.
  • the breakdown of the HyperDuino Handler into HyperDuino For Chrome and HyperDuino Web Driver is due to requirements of the Chrome OS/browser. Other embodiments will use a different structure, but perform the same essential function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A method and apparatus, using a responsive electronic hardware device and Uniform Resource Locators (URLs) with an Internet browser display simultaneously, both to control web navigation through hardware device action and to control hardware device action through web navigation. The method exploits the basic functionality of a hardware micro controller and the universal and bidirectional effectiveness of URLs through a data table connecting URLs with actions and actions with URLs and including timing conditions. Embodiments employ the invention's understandability and ease of construction in educational, diagnostic, and entertainment applications.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority to U.S. Provisional Application No. 62/445,410, entitled “METHOD AND APPARATUS FOR BIDIRECTIONAL CONTROL CONNECTING HARDWARE DEVICE ACTION WITH URL-BASED WEB NAVIGATION,” filed on Jan. 12, 2017, the disclosure of which is incorporated herein in its entirety for all purposes.
  • BACKGROUND OF THE INVENTION Background Art
  • Uniform Resource Locators (URLs), which are here taken as synonymous to Uniform Resource Identifiers (URIs), have resulted in everyday browser-related experiences, of which a few examples are web search, shopping, and filling out of forms. Their applicability to special-purpose electronic hardware (hereafter called “hardware” or “device”) has been more restricted, but is nevertheless common. Among obvious cases are webcams, security notification, and environmental monitoring which reports sensor data via the Internet.
  • Examples may be Internet-of-Things (IoT) systems, such as:
      • (a) device to Internet to browser display, or an http-based web app, telling you that motion has been detected in your home, and,
      • (b) browser display, or an http-based web app to Internet to device to turn on the lights in the home.
  • In (a), one type of prior art may have dedicated software that responds to the sensor condition with a new dedicated (non-browser) screen or display. In another type of prior art, the software displays data or messages within a screen on a webpage on the mobile device, such as weather station data being graphically displayed on a website.
  • In prior art of type (b) a person may use an app or an http-based web app to touch a screen display button to turn on lights, or it might even be automatically done by specific software, but there are not any existing methods where simply navigating to a new screen with a different URL on the device would turn on a light in the user's home.
  • In the device-to-webpage direction, the prior art only displays data on the webpage, it does not change the webpage based on the device-gathered data. In the webpage-to-device direction, prior art may be able to turn on something on the device through controls on the webpage, but the action does not occur as a direct result of simply being on the webpage.
  • It can be seen that the prior art discloses the display of data from a remote sensor on a given web-page, or the control of a remote sensor or actuator from the webpage, but that the URL of the webpage itself is not controlled by the sensors data, nor are actuators controlled by the act of changing the current URL of the display device. This deficiency in the prior art is corrected by the present invention.
  • A further example of the prior art involves a scenario of testing the security lights around a home. In all embodiments to date, the user clicks on different buttons presented on a webpage or in an app, and the lights come on, through methods very well-known to those skilled in the art. All these methods, however, involve the complication of programming the buttons and the response to the buttons.
  • In addition to the unidirectional URL-level control, bidirectional control is found in other prior art, e.g., use a webpage user interface to change the settings (direction, zoom, etc.) on a webcam, and with that in a fixed state, the webcam data flow is passed back as a display to the webpage. However, absent the method taught in this invention, the webpage does not change in response to the camera, and the camera does not change in response to changing the webpage being viewed.
  • The prior art approaches require programming of at least four pieces:
      • the mobile or web app,
      • the special-purpose communication on the app side that allows communication to the hardware,
      • the hardware programming, and
      • the special-purpose communication module that makes it possible for the hardware to communicate to the app.
        All of this must be done with dedication to a particular hardware and software combination, and it does not provide a general multi-application system that can be easily repurposed for different hardware sensor inputs and webpage displays.
  • The special-purpose communication can be designed to provide great speed if necessary, but it has the disadvantage of adding great complexity to the synergy of the hardware/web interface combination. That disadvantage is such as to restrict the development of a device with such a combination to very determined programmers. Thus the programming of a whole, responsive device involving both embedded hardware and an easily usable web interface becomes a specialty task.
  • SUMMARY
  • Accordingly, it is an object of the present invention to provide method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation.
  • These and other objects and advantages of the present invention will become clear to those skilled in the art in view of the description of the best presently known mode of carrying out the invention and the industrial applicability of the preferred embodiment as described herein and as illustrated in the figures of the drawings.
  • BRIEF DESCRIPTION OF THE DRAWING(S)
  • The purposes and advantages of the present invention will be apparent from the following detailed description in conjunction with the appended tables and figures of drawings in which:
  • TBL. 1 is a description of an exemplary playlist;
  • FIG. 1 shows some timelines of a typical operation of a typical embodiment of the invention called the “HyperDuino”; and
  • FIG. 2 is a picture of the communicating pieces of one embodiment of the invention, HyperDuino For Chrome running an embedded device with a serial connection and connected via the Internet to servers from which URLs can draw videos or stills.
  • In the various figures of the drawings, like references are used to denote like or similar elements or steps.
  • DETAILED DESCRIPTION
  • A preferred embodiment of the present invention is a method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation. As illustrated in the various drawings herein, preferred embodiments of the invention are depicted.
  • The invention is a system including a responsive electronic hardware device (the “hardware”), a browser with a user interface (the “browser”), a server or servers with content displayable by the browser (the “server”), and a software program (the “handler”) capable of:
      • (a) communicating in either direction with the hardware,
      • (b) of emitting URLs to the browser and server,
      • (c) of receiving information from the browser about the current state of its web interface, including URLs displayed, anchors, selections, and optionally,
      • (d) timing of changing media content such as videos.
        The browser and server are standard, and the hardware is specialized only in the sense that it is capable of monitoring sensors and inputs, and activating outputs, usually, but not limited to, actuators such as LEDs, motors, servos, buzzers, etc. and that the hardware communicates with the handler. The inventive content is focused on the combination of the browser, server, hardware and handler, as described below.
  • The handler is event-coded to comply with a table, herein called the “playlist,” which is a data table correlating hardware state input and browser URL location transmitted to the handler to actions performed by the handler. See TBL. 1. In what follows, the term “actuator” means the handler drives the hardware, either causing internal hardware state change or further effects within or beyond the hardware, or both, while the term “sensor” means the hardware that drives the handler, either as a result of the internal hardware state or conditions detected within or beyond the hardware, or both. The word “microcontroller” includes any electronics within the hardware.
  • Turning now to TBL. 1, this is a description of an exemplary playlist. The Fields 1a-zzz hold extra parameters, such as start and end times for a video which may have not been implicitly written in the URL, but which are still detectable by the Software while that URL is actively displayed in the browser. (these latter parameters may have been used in the prior art, but not within the context of the URL-associated I/O disclosed in this invention).
  • The Field 2: ResponseFlag (indicator) has three possible states. The first state is RespondNewURL. This initiates microcontroller output (actuator(s)) based on Fields 2a-zzz in response to the URL appearing in the browser display during the cycled review of the list, when the cycle before, that URL was not the active URL. That is, URL=(URL in list) AND (CurrentURL< >Past URL) AND (ActionTaken=False).
  • The second state is RespondLeaveURL. This initiates microcontroller output (actuator) based on Fields 2a-zzz in response to the URL NO LONGER appearing in the browser display during the cycled review of the list, when the cycle before, that URL WAS an active URL=found-in-list. That is, (CurrentURL< >Past URL) AND ActionTaken=False.
  • And the third state is RespondSense. This passes the URL to the browser in response to microcontroller output (sensor) meeting conditions.
  • The Fields Fields 2a-zzz are I/O channels, as appropriate to the microcontroller being used by the Software, and conditions to be tested for in case RespondSense or output to be actuated in cases RespondNewURL or RespondLeaveURL.
  • Causality goes from hardware state to URL in the Field 2 RespondSense case, and from web interface state to hardware state in the Field 2 RespondNewURL or RespondLeaveURL state.
  • The handler is simultaneously quickly responsive to web interface state, including URLs, anchors, selections, and timing such as time elapsed during a video, and to microcontroller (sensor) output to the handler. This can be accomplished by any sufficient programming construct, such as select( ) frequent enough polling, or event coding implied by the structure of a higher-level programming language like Javascript.
  • Since URLs can have multiple queries attached, including variable=value pairs, this kind of single-URL event coding can imply a rich branching structure and thus result in as arbitrarily complex event responses as are normally associated with deeply nested event-based coding with callbacks.
  • With local caching of data, internet latency, and even total disconnects, operation of the invention can still continue to operate satisfactorily by just passing the URL to the browser that itself uses cached data, and this is an example of how the URL-centric system provides an advantage that would be much more complex with custom-made computer code and applications.
  • Thus, the invention permits an arbitrarily complex event response to be coded as a flat table of URL responses. This table, which in one embodiment is called a′ “playlist,” responds simply to each specified URL, using its queries to guide the activation of actuators (defined earlier in the patent text), and also permits the display of any URL in the playlist in response to the output of sensors.
  • Example Embodiments
  • The first embodiment is the HyperDuino, an educational device. It builds on the simplicity inherent in the invention by introducing a synergistic simplicity to hardware construction, through the attachment of a shield called the “HyperDuino shield” to any Arduino or Arduino-equivalent device, such as the Funduino. The educational value of this is well described on the inventors web page [Wagner, Roger: “Hardware & Instructional Design—HyperDuino”; www.rogerwagner.com], for example:
      • Physical classroom projects can now be made into interactive maker projects, but creating a two-way link between digital student-made content and physical student-created models.
      • The HyperDuino solves key obstacles for those just entering the maker movement, by eliminating the need for breadboards and resistors, and combining with the HyperDuino for Chrome app to eliminate the need for scripted (written) coding, while still teaching the logic of programming.
  • The HyperDuino handler is instantiated as a Chrome OS app, written in Javascript. The creation of Chrome apps in Javascript is well known to web programmers skilled in the art. The HyperDuino handler is responsive to Web interface state, and it is also written so as to be responsive to asynchronous input from serial or other channels that are driven by the hardware.
  • After standard setup is complete and all communication channels both to the hardware and to the browser are functioning, the response of the HyperDuino handler is completely determined by its playlist, as described in TBL. 1. The HyperDuino handler continues operating until a HaltEvent is received, which can come either from internal programming, such as the operating session is done, or from an external signal, such as a user stop signal or arrival at an URL in the playlist, or the detection of a hardware state.
  • The transmission of URLs caused by the handler in the Field 2 RespondSense case can also include any web interface programming of which the browser is capable, and can fetch content from any accessible Internet server reached by the URL. The actuator response in the Field 2 RespondNewURL or RespondLeaveURL case can be driven by any knowledge of Web interface state that the browser is capable of sharing with the handler. Indirect immediate or delayed feedback responses, both as a result of hardware behavior and as a result of Web interface behavior, are possible and expected implications of the playlist.
  • The second embodiment presented here is an instructional and diagnostic tool for actual breadboard circuits, where analog and digital readings from the digital and analog inputs would directly lead to the display of informational and diagnostic webpages purely by virtual of how the existing playlist responded to the values.
  • For example, if the Arduino and a breadboard are being used to construct a circuit demonstrating a photocell, the HyperDuino software playlist will see “0” for a short circuit (for example wires crossed leading to the photocell), “1023” for an open circuit (for example, the photocell has not yet been inserted), and then an expected range when the photocell is inserted.
  • A lesson on a system like Google Slides may on slide N say “insert a photocell into this part of the circuit”. Until the photocell is inserted, the slide will not advance. When it is inserted, the slide will congratulate the user. Should a different item be inserted that is very different in expected resistance from a photocell, a different slide will be presented asking the operator to confirm and re-do the insertion of a photocell.
  • A third embodiment would be the application of the invention in program code on the server of a webpage itself, and not requiring a local application to be running. In that case, the webpage could display other webpages within a sub-window of the main webpage, as is commonly done with embedded videos and other html content. Code running on the server would then use the method taught in this invention to correlate the URL displayed in the sub-window with hardware inputs and outputs connected to the local computer by serial or other type of communication.
  • FIGURES AND EXPLANATION
  • FIG. 1 shows some timelines of a typical operation of a typical embodiment of the invention, hereafter called the “HyperDuino.”
      • 101 is a timeline from left to right. 102 is the time spent in the HyperDuino Build stage, building the playlist. 103 is an idle time of indefinite length, during which the playlist is stored. 104 is the time spent in the HyperDuino Run stage, reading the playlist and acting upon it. 105 is a drawing representing the HyperDuino Builder, with its UI windows controlled by the builder, active during 102. 106 is a drawing representing the HyperDuino Handler, the standard browser and its screen and connection to the Internet, and its connected embedded device, all active during 104.
      • 107 is a timeline within 104 during which a video running on the browser is synchronized by the HyperDuino Handler with action on the embedded device. 108 is the start of the video, 109 is an appropriate first time period, 110 is a command causing action such as lights or movement on the embedded device, 111 is an appropriate second time period, 112 is another command to the embedded device, 113 is an appropriate third time period, 114 is a third command to the embedded device.
      • 115 is a timeline within 104 during which a video awaits selection by an embedded action. 116 is the start of the video, 117 is an appropriate first time period, 118 is a pause of the video, 119 is an indefinite time awaiting input from the embedded device (which could be a running state or a user button push, for instance), 120 is the awaited input, and 121 is the video resuming or another display taking its place if so programmed to be dependent on the input.
      • 122 is a timeline within 104 during which the HyperDuino responds to a test result. 123 is a video, a still URL, or other display appropriate to the test result being unknown, 124 is a test result or state of the embedded device that may arrive unexpectedly and cause a branching action by the handler (time for branching not shown because it is very quick), and 125 is the chosen video or still URL appropriate to the test result detected.
  • FIG. 2 is a picture of the communicating pieces of one embodiment of the invention, HyperDuino For Chrome running an embedded device with a serial connection and connected via the Internet to two Servers from which URLs can draw videos or stills. This is during phase 104 of the timeline of FIG. 1.
      • 201 is the embedded device. 202 is the HyperDuino Handler, and 206 is the standard Chrome browser, both running on the same system. 203, 204, and 205 are parts of the Handler: 203 is the playlist, which at this stage is read-only; 204 is HyperDuino For Chrome; and 205 is the HyperDuino Web Driver. 206 is the standard Chrome browser, 207 its screen. 208 is the Internet, and 209 a and 209 b are servers accessed by the browser through the Internet.
  • Bidirectional serial communication, in which either side can take the initiative, is 210 (embedded device to HyperDuino Web Driver) and 211 (HyperDuino Web Driver to embedded device). 212 represents HyperDuino For Chrome reading the playlist at will. 213 is data from HyperDuino For Chrome to HyperDuino Web Driver, and 214 is data from HyperDuino Web Driver to HyperDuino For Chrome, to effect the division of labor required by the OS and/or browser. 215 is an URL and/or timing sent from HyperDuino Web Driver to be acted upon by the browser, and 216 is the browser transmitting information about an URL to HyperDuino Web Driver. 217, 219 a, and 219 b represent the URL request going from browser through the Internet to a server, and 220 a, 220 b, and 218 represent the return of data by a server to the browser.
  • The embedded device and serial connection of 201, 210, and 211 are completely standard, as are the browser 206, its display 207, and the connection 217 and 218 and the Internet and servers beyond it. The breakdown of the HyperDuino Handler into HyperDuino For Chrome and HyperDuino Web Driver is due to requirements of the Chrome OS/browser. Other embodiments will use a different structure, but perform the same essential function.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and that the breadth and scope of the invention should not be limited by any of the above described exemplary embodiments, but should instead be defined only in accordance with the following claims and their equivalents.
  • TBE. 1. DESCRIPTION OF PLAYLIST
    Field 1: URL (text)
    Fields 1a-zzz: Sub-field(s) to Field 1
    Field 2: ResponseFlag (indicator) as to whether this entry is,
    Field 2 = RespondNewURL
    or,
    Field 2 = RespondLeaveURL
    or,
    Field 2 = RespondSense
    Fields 2a-zzz: Sub-fields to Field 2

Claims (19)

1. A method for controlling a hardware device based on Uniform Resource Locator (URL)-based web navigation, the method comprising:
identifying a URL associated with a web browser;
determining, using an electronic lookup table, an action from a set of actions for a hardware device to perform based at least in part on the identified URL; and
causing the hardware device to perform the determined action.
2. The method of claim 1, the determined action comprises turning the hardware device on or off.
3. The method of claim 1, wherein the hardware device is a light source, and wherein the determined action comprises turning the light source on or off.
4. The method of claim 1, wherein the hardware device is a camera, and wherein the determined action comprises changing one or more settings of the camera.
5. The method of claim 4, wherein one or more settings of the camera comprises a combination of one or more of a direction or a zoom of the camera.
6. The method of claim 1, wherein the hardware device comprises one or more of an LED, a motor, or a servomechanism.
7. The method of claim 1, wherein the electronic lookup table correlates the URL and the determined action.
8. A method for navigating to a Uniform Resource Locator (URL) based on data corresponding to a hardware device, the method comprising:
receiving data indicative of a hardware state of a hardware device;
identifying, using an electronic lookup table, a URL location from a set of URLs based at least in part on the received data; and
causing a web browser to navigate to the identified URL.
9. The method of claim 8, wherein the hardware device comprises a sensor, and wherein the data corresponds to data sensed by the sensor.
10. The method of claim 9, wherein the sensor is a photocell.
11. The method of claim 8, wherein the hardware device comprises one or more of an LED, a motor, a servomechanism, or a buzzer.
12. The method of claim 8, wherein the hardware device is a camera, and wherein data of the hardware device corresponds to one or more settings of the camera.
13. The method of claim 12, the data of the hardware device corresponds to a change in direction or zoom of the camera.
14. The method of claim 8, wherein the electronic lookup table stored in a computer-readable medium.
15. The method of claim 8, wherein the electronic lookup table correlates the hardware state of the hardware device and the URL location.
16. A system for bidirectional control between hardware device action and URL-based web navigation, the system comprising:
a microcontroller in communication with at least one hardware device; and
one or more processors in communication with the microcontroller, and a non-transitory computer-readable storage medium storing computer-executable instructions that when executed by the one or more processors cause the one or more processors to:
receive data from the hardware device, wherein the data corresponds to the one or more actions,
monitor a web browser;
responsive to receiving first data, cause the web browser to navigate to a first URL, and
responsive to determining that the web page navigated to a second URL, causing the hardware device to perform a first action.
17. The system of claim 16, the first data corresponds to hardware state data of the hardware device.
18. The system of claim 16, wherein the hardware device is a light source, and wherein the first action turning the light source OFF.
19. The system of claim 16, wherein the hardware device is a light source, and wherein the first action turning the light source ON.
US15/870,563 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation Abandoned US20180205569A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/870,563 US20180205569A1 (en) 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762445410P 2017-01-12 2017-01-12
US15/870,563 US20180205569A1 (en) 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation

Publications (1)

Publication Number Publication Date
US20180205569A1 true US20180205569A1 (en) 2018-07-19

Family

ID=62841468

Family Applications (4)

Application Number Title Priority Date Filing Date
US15/870,551 Active 2039-09-06 US11023252B2 (en) 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation
US15/870,563 Abandoned US20180205569A1 (en) 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation
US17/243,962 Active US11586449B2 (en) 2017-01-12 2021-04-29 Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation
US18/170,465 Pending US20240028347A1 (en) 2017-01-12 2023-02-16 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/870,551 Active 2039-09-06 US11023252B2 (en) 2017-01-12 2018-01-12 Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation

Family Applications After (2)

Application Number Title Priority Date Filing Date
US17/243,962 Active US11586449B2 (en) 2017-01-12 2021-04-29 Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation
US18/170,465 Pending US20240028347A1 (en) 2017-01-12 2023-02-16 Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation

Country Status (1)

Country Link
US (4) US11023252B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023252B2 (en) 2017-01-12 2021-06-01 Roger Wagner Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation
WO2022093936A1 (en) * 2020-10-28 2022-05-05 Second Genome, Inc. Batch processing
US20230076376A1 (en) * 2021-09-09 2023-03-09 Texas Instruments Incorporated Resource access in a microcontroller

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062475B1 (en) * 2000-05-30 2006-06-13 Alberti Anemometer Llc Personalized multi-service computer environment
US20070219654A1 (en) * 2006-03-14 2007-09-20 Viditotus Llc Internet-based advertising via web camera search contests
US20080243793A1 (en) * 2007-03-21 2008-10-02 Paul Hallett Contact Information Capture and Link Redirection
US20120136485A1 (en) * 2010-11-19 2012-05-31 Weber Theodore E Control System and Method for Managing Wireless and Wired Components
US20140265920A1 (en) * 2013-03-13 2014-09-18 Federal Law Enforcement Development Services, Inc. LED Light Control and Management System
US9348820B1 (en) * 2000-09-14 2016-05-24 Network-1 Technologies, Inc. System and method for taking action with respect to an electronic media work and logging event information related thereto
US20160149716A1 (en) * 2014-11-24 2016-05-26 Rajiv Nelson Raj Remote Management And Control Of Utility Appliances

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987491B2 (en) 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US7716715B2 (en) * 2003-01-10 2010-05-11 Shaobo Kuang Interactive media system
US7400316B2 (en) * 2004-05-28 2008-07-15 International Business Machines Corporation Method and apparatus for dynamically modifying web page display for mobile devices
WO2007098468A1 (en) * 2006-02-21 2007-08-30 University Of Florida Research Foundation Inc. Modular platform enabling heterogeneous devices, sensors and actuators to integrate automatically into heterogeneous networks
WO2007109162A2 (en) * 2006-03-17 2007-09-27 Viddler, Inc. Methods and systems for displaying videos with overlays and tags
US20100145479A1 (en) * 2008-10-09 2010-06-10 G2 Software Systems, Inc. Wireless Portable Sensor Monitoring System
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US8473571B2 (en) * 2009-01-08 2013-06-25 Microsoft Corporation Synchronizing presentation states between multiple applications
US20100268573A1 (en) * 2009-04-17 2010-10-21 Anand Jain System and method for utilizing supplemental audio beaconing in audience measurement
US10713018B2 (en) * 2009-12-07 2020-07-14 International Business Machines Corporation Interactive video player component for mashup interfaces
US8797358B1 (en) * 2010-11-02 2014-08-05 Google Inc. Optimizing display orientation
US9119236B1 (en) * 2011-03-04 2015-08-25 Alarm.Com Incorporated Monitoring system control technology
EP2696579B1 (en) * 2011-04-05 2019-04-24 YAMAHA Corporation Information providing system, identification information solution server and mobile terminal device
CN102801325B (en) * 2011-05-23 2015-02-04 广州昂宝电子有限公司 System and method for regulating switching frequency and peak current of power converter
US20120304062A1 (en) * 2011-05-23 2012-11-29 Speakertext, Inc. Referencing content via text captions
US8845429B2 (en) * 2011-05-27 2014-09-30 Microsoft Corporation Interaction hint for interactive video presentations
US8521848B2 (en) * 2011-06-28 2013-08-27 Microsoft Corporation Device sensor and actuation for web pages
US9019718B2 (en) * 2011-08-26 2015-04-28 Littlebits Electronics Inc. Modular electronic building systems with magnetic interconnections and methods of using the same
US20130232402A1 (en) * 2012-03-01 2013-09-05 Huawei Technologies Co., Ltd. Method for Processing Sensor Data and Computing Node
US9258462B2 (en) 2012-04-18 2016-02-09 Qualcomm Incorporated Camera guided web browsing based on passive object detection
US9690465B2 (en) * 2012-06-01 2017-06-27 Microsoft Technology Licensing, Llc Control of remote applications using companion device
KR20140026999A (en) * 2012-08-23 2014-03-06 (주)휴맥스 Method, apparatus and system for remote browsing
US9858777B2 (en) * 2013-03-08 2018-01-02 Sensormedia Inc. System, method and computer readable medium for managing mobile devices
US20140297804A1 (en) * 2013-03-28 2014-10-02 Sonic IP. Inc. Control of multimedia content streaming through client-server interactions
EP2981940A1 (en) * 2013-04-01 2016-02-10 Netmeno Method and system for dynamically creating and transferring data corresponding to a benefit from a web page to a mobile application by using a web-based marker
WO2015006628A1 (en) * 2013-07-10 2015-01-15 Ramin Rostami Monitoring system, apparatus and method
TWI543600B (en) * 2013-10-09 2016-07-21 晨星半導體股份有限公司 Playback device for playing multimedia files and method of playing multimedia files
US20150172151A1 (en) * 2013-12-18 2015-06-18 Aktiebolaget Skf Portable wireless self-hosted condition monitoring web server and method of use
CA2947020A1 (en) 2014-05-23 2015-11-26 Search Optics, LLC Systems and methods for programming behavior of a website to respond to capabilities of different devices
WO2016135127A1 (en) 2015-02-25 2016-09-01 British Telecommunications Public Limited Company Secure matrix barcode
US10764610B2 (en) * 2015-07-03 2020-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Media user client, a media user agent and respective methods performed thereby for providing media from a media server to the media user client
US20160310049A1 (en) * 2016-06-30 2016-10-27 Fitbit, Inc. Wearable devices incorporating ion selective field effect transistors
US11023252B2 (en) 2017-01-12 2021-06-01 Roger Wagner Method and apparatus for bidirectional control connecting hardware device action with URL-based web navigation
US10558776B2 (en) * 2017-10-09 2020-02-11 Autodesk, Inc. Trigger-action-circuits: leveraging generative design to enable novices to design and build circuitry

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062475B1 (en) * 2000-05-30 2006-06-13 Alberti Anemometer Llc Personalized multi-service computer environment
US9348820B1 (en) * 2000-09-14 2016-05-24 Network-1 Technologies, Inc. System and method for taking action with respect to an electronic media work and logging event information related thereto
US20070219654A1 (en) * 2006-03-14 2007-09-20 Viditotus Llc Internet-based advertising via web camera search contests
US20080243793A1 (en) * 2007-03-21 2008-10-02 Paul Hallett Contact Information Capture and Link Redirection
US20120136485A1 (en) * 2010-11-19 2012-05-31 Weber Theodore E Control System and Method for Managing Wireless and Wired Components
US20140265920A1 (en) * 2013-03-13 2014-09-18 Federal Law Enforcement Development Services, Inc. LED Light Control and Management System
US20160149716A1 (en) * 2014-11-24 2016-05-26 Rajiv Nelson Raj Remote Management And Control Of Utility Appliances

Also Published As

Publication number Publication date
US20180203711A1 (en) 2018-07-19
US20210318892A1 (en) 2021-10-14
US11023252B2 (en) 2021-06-01
US20240028347A1 (en) 2024-01-25
US11586449B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
US20180205569A1 (en) Method and apparatus for bidirectional control connecting hardware device action with url-based web navigation
US20190019166A1 (en) Apparatus, methods and systems for knowledge based maintenance
US8249726B2 (en) Method and device for accessing a functional module of automation system
KR102450899B1 (en) Web-enabled interface for embedded server
US11586852B2 (en) System and method to modify training content presented by a training system based on feedback data
US20140337727A1 (en) System and method for dynamic help content presentation
KR101058077B1 (en) Method and device for performing service of robot
US20110157008A1 (en) Device-control system, terminal apparatus, and device
US20070073424A1 (en) Apparatus and method for transmitting sound information in web-based control system
CN106528121A (en) Data collection system applied to software development platform
La Tona et al. Modular multimodal user interface for distributed ambient intelligence architectures
KR20160129143A (en) Robot control service system based on smart device and robot control service method therefor
Tian et al. An implementation of cloud robotic platform for real time face recognition
Muhamed et al. Implementation of node. js technology in a concept based on IOT
KR102434400B1 (en) Block coding apparatus and block coding method using same
Naghdy et al. Embedded internet laboratory
JP2019159753A (en) Control device, control method, and control program
KR20180133640A (en) IoT sns method
KR20150074486A (en) Display apparatus and control method of thereof
CN107091940A (en) device identification method and device
Tao et al. A Remote Monitoring System of Three-Client/Server Architecture
JP2004236296A5 (en)
Andrade et al. Improving the laboratory environment by switching to embedded online labs
TWI291133B (en) Industrial controller capable of being defined through network and the input and output method thereof
CN111954015A (en) Method and device for realizing online live broadcast classroom

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION