Limits...
ECCE Toolkit: Prototyping Sensor-Based Interaction

View Article: PubMed Central - PubMed

ABSTRACT

Building and exploring physical user interfaces requires high technical skills and hours of specialized work. The behavior of multiple devices with heterogeneous input/output channels and connectivity has to be programmed in a context where not only the software interface matters, but also the hardware components are critical (e.g., sensors and actuators). Prototyping physical interaction is hindered by the challenges of: (1) programming interactions among physical sensors/actuators and digital interfaces; (2) implementing functionality for different platforms in different programming languages; and (3) building custom electronic-incorporated objects. We present ECCE (Entities, Components, Couplings and Ecosystems), a toolkit for non-programmers that copes with these issues by abstracting from low-level implementations, thus lowering the complexity of prototyping small-scale, sensor-based physical interfaces to support the design process. A user evaluation provides insights and use cases of the kind of applications that can be developed with the toolkit.

No MeSH data available.


An example of the code to extend the toolkit’s functionality and include a RFID reader input device. On the right, the XML descriptor of an entity with a RFID reader. In the middle, the JavaScript code that is generated by parsing the XML descriptor. On the right, the custom Arduino code for the RFID reader.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC5375724&req=5

sensors-17-00438-f010: An example of the code to extend the toolkit’s functionality and include a RFID reader input device. On the right, the XML descriptor of an entity with a RFID reader. In the middle, the JavaScript code that is generated by parsing the XML descriptor. On the right, the custom Arduino code for the RFID reader.

Mentions: Figure 10 shows an example of this scenario for the RFID RC522 module. The toolkit provides a template for a generic sensor that the user has extended to create an ECCE.Sensor.RFID sensor that sends messages over nrf24l01. To this end, the user first has had to create the XML template for the sensor (Figure 10, on the left) and then the JavaScript code that is generated once the XML is parsed. The transmitting and receiving address of the nrf24l01 communication interface are automatically generated by the toolkit when the user adds the new device (Figure 1). The tag_discovered input event is registered by the ECCE.Board event listener that, in this case, will listen for tag_discovered events over nrf24l01 (Figure 10, in the middle) and will fill in the code to handle the callback according to the interaction rules previously defined. Figure 10, on the right, shows the Arduino code the user has to write to implement the functionality to send tag_discovered events. Since this task requires specific programming knowledge, the toolkit provides a library of predefined sample sketches that users could use and tailor according to their needs. In this case, sketches are provided that setup basic nRF24L01 communication and the user only has to insert the correct address as provided by the toolkit and write the loop functionality to send the message for the tag_discovered event type.


ECCE Toolkit: Prototyping Sensor-Based Interaction
An example of the code to extend the toolkit’s functionality and include a RFID reader input device. On the right, the XML descriptor of an entity with a RFID reader. In the middle, the JavaScript code that is generated by parsing the XML descriptor. On the right, the custom Arduino code for the RFID reader.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC5375724&req=5

sensors-17-00438-f010: An example of the code to extend the toolkit’s functionality and include a RFID reader input device. On the right, the XML descriptor of an entity with a RFID reader. In the middle, the JavaScript code that is generated by parsing the XML descriptor. On the right, the custom Arduino code for the RFID reader.
Mentions: Figure 10 shows an example of this scenario for the RFID RC522 module. The toolkit provides a template for a generic sensor that the user has extended to create an ECCE.Sensor.RFID sensor that sends messages over nrf24l01. To this end, the user first has had to create the XML template for the sensor (Figure 10, on the left) and then the JavaScript code that is generated once the XML is parsed. The transmitting and receiving address of the nrf24l01 communication interface are automatically generated by the toolkit when the user adds the new device (Figure 1). The tag_discovered input event is registered by the ECCE.Board event listener that, in this case, will listen for tag_discovered events over nrf24l01 (Figure 10, in the middle) and will fill in the code to handle the callback according to the interaction rules previously defined. Figure 10, on the right, shows the Arduino code the user has to write to implement the functionality to send tag_discovered events. Since this task requires specific programming knowledge, the toolkit provides a library of predefined sample sketches that users could use and tailor according to their needs. In this case, sketches are provided that setup basic nRF24L01 communication and the user only has to insert the correct address as provided by the toolkit and write the loop functionality to send the message for the tag_discovered event type.

View Article: PubMed Central - PubMed

ABSTRACT

Building and exploring physical user interfaces requires high technical skills and hours of specialized work. The behavior of multiple devices with heterogeneous input/output channels and connectivity has to be programmed in a context where not only the software interface matters, but also the hardware components are critical (e.g., sensors and actuators). Prototyping physical interaction is hindered by the challenges of: (1) programming interactions among physical sensors/actuators and digital interfaces; (2) implementing functionality for different platforms in different programming languages; and (3) building custom electronic-incorporated objects. We present ECCE (Entities, Components, Couplings and Ecosystems), a toolkit for non-programmers that copes with these issues by abstracting from low-level implementations, thus lowering the complexity of prototyping small-scale, sensor-based physical interfaces to support the design process. A user evaluation provides insights and use cases of the kind of applications that can be developed with the toolkit.

No MeSH data available.