Single-Sensor Temperature / Humidity Visualization
This is the first prototype for a X3Dom enabled embedded web object. It represents a single sensor being sent
live temperature/humidity data or playback of previously recorded data. When the page is initially loaded the
sensor primative, in this case a cube, will indicate that no sensor data is being displayed by the purple and black
checkerboard texture. Using the HTML User Interface to the right of the embedded object, The user can load the sensor data
where the HTML User Input will call a Javascript function that interfaces with the X3D Embed using the X3Dom API.
The Javascript function accepts data from the sensor socket as integers. The funciton interperates the integers by
converting them to floating point values between 0 and 1. These values are then mapped onto a range of colors to represent heat or humidity.
After the color values are determined, they are loaded into an array as floating point color values for R, G, B to be processed
as an X3D animation that shows the color change over time.
In the user interface are three buttons that utilize the function. The first button is .
This button plays a demonstration of the heatmap color values from hot to cool. The second and third button both play recorded data back on the sensor.
Single-Sencor Conrtols:
Playback:
Multi-Sensor Temperature / Humidity Visualization
The second prototype uses sphere primatives replacing the cube primative to represent the sensors in 3D space. In this prototype, the cube represents a room with multiple
areas or zones being monitored for sensor data. However it also must accept any number of sensors less than the total count of sensor primatives in the x3d scene. In this
case there are eleven sensors; one in the center origin of the room, four in each wall, two in the floor and ceiling, and eight in each corner of the room. (1 for origin,
six for faces, 8 for verticies) where the total 11 >= numSensors and the primatives not represented by real sensors are projected from actual data.
NP = Number of Sensor Primatives
NS = Number of Sensors with data
P = Predicted data projected from given sensor data
NP >= NS where P(NP-NS)
This prototype also implements a live data and playback method of displaying the sensor data. A web socket is used to capture data from the COM port assigned to the sensor
on the web server and pass the serial data to the socket and to the x3d as live data displayed on the cube using X3DOM or saved in the paragraph field for playback.
Multi-Sensor Controls:
Playback:
Single-Sensor Interpolation over Multiple Primitives
This prototype demonstrates how a single sensor can populate other values in an array of primitives based on relative location and temperature/humidity decay.