By using HTML and JavaScript, developers can create interactive physical systems in the same way they create web pages.
The DOM for IoT fully preserves the original DOM API, exposing exactly the same methods as those used in web development such as
GitHub: domiot-io
Name | Platform | Description | npm | Repository |
---|---|---|---|---|
domiot-browser | Browser | Implementation of the Document Object Model for IoT for Browser Environments: Extends the native DOM to support IoT elements and hardware bindings. You can interact with physical IoT devices using the same DOM API methods used in web development such as getElementById, setAttribute and addEventListener. | GitHub | |
iot-elements-browser | Browser | HTML/DOM IoT Elements: Collections of HTML/DOM IoT elements (<iot-room>, <iot-button>, etc.) organized by domain (home, retail, hospitality, etc.) for browser environments. | GitHub | |
iot-bindings-browser | Browser | HTML/DOM IoT Binding Elements: Collections of HTML/DOM binding elements for linking DOM elements with physical components in browser environments. | GitHub |
Name | Platform | Description | npm | Repository |
---|---|---|---|---|
jsdomiot | Node.js | Document Object Model for IoT: Extends jsdom library to support physical-world elements and hardware bindings. It creates a DOM where you can interact with physical-world devices using the same DOM API methods used in web development such as getElementById, setAttribute and addEventListener. | npm | GitHub |
jsdomiot kickstart | Linux, Node.js | Simply run a script, and the entire setup will be installed for you. A complete setup script for DOMIoT (Document Object Model for IoT) on Linux systems. | GitHub | |
iot-elements-node | Node.js | HTML/DOM IoT Elements: Collections of HTML/DOM element factories for physical-world systems by domain (home, retail, hospitality, etc.). | npm | GitHub |
iot-bindings-node | Node.js | HTML/DOM IoT Binding Elements: Collections of HTML/DOM binding elements for linking DOM elements with physical components. | npm | GitHub |
examples | Node.js | Examples of the DOMIoT implementation in Node.js. | GitHub |
Name | Platform | Description | Repository |
---|---|---|---|
0-buttons-shelving-units | Browser | Buttons Shelving Units - Basic IoT Interaction: This example demonstrates fundamental DOMIoT Browser concepts through a retail store aisle interface where physical button presses trigger video overlays and light color changes on shelving units. | GitHub |
1-retail-store-podium-with-touch-screen | Browser | Retail Store Podium with Touch Screen - Interactive Display: This example showcases the integration of physical touch buttons with a web application, allowing physical button presses and releases to modify web page elements. | GitHub |
2-phidget-vint-button-modifies-div | Browser | Six Physical Buttons Connected to a Phidget VINT Modify Div: Showcases the integration of physical touch buttons with a web application, allowing physical button presses and releases to modify web page elements. For this example we connect six touch buttons to a Phidget VINT ( What is VINT? ). | GitHub |
Name | Platform | Description | Repository |
---|---|---|---|
0-retail-buttons-shelving-units | Node.js | Retail Buttons & Shelving Units Example This simple yet illustrative example demonstrates how to create an interactive supermarket using jsDOMIoT where customers can press buttons to highlight corresponding shelving units with colored lights. | GitHub |
1-hotel-room-door | Node.js | Hotel Room Door Example This example demonstrates how to create an interactive hotel room door system using jsDOMIoT with electronic lock control and LCD message display. | GitHub |
2-retail-store-podium | Node.js | Retail Store Podium Example This example demonstrates how to create an interactive perfume display unit using jsDOMIoT with perfume bottles pickup/putdown detection, lighting animations and synchronized video commercials. | GitHub |
Name | Platform | Description | Repository |
---|---|---|---|
ihubx24-sim | linux | ihubx24-sim: Input Hub x24 digital input channels module for simulation/testing. Linux module that simulates 24 digital inputs with high (1) and low (0) states. The states of the inputs change randomly every 10 seconds. | GitHub |
ohubx24-sim | linux | ohubx24-sim: Output Hub x24 digital output channels module for simulation/testing. The driver exposes 24 output lines (channels), each controllable via a bit. | GitHub |
iohubx24-sim | linux | iohubx24-sim: Input/Output Hub x24 digital input/output channels module for simulation/testing. The driver exposes 24 input/output lines (channels), each controllable via a bit. | GitHub |
lcd-sim | linux | lcd-sim: LCD module for simulation/testing. The driver exposes a virtual LCD display used to display text. | GitHub |
video-sim | linux | video-sim: Video module for simulation/testing. The driver provides a virtual video display interface for testing video output functionality. | GitHub |
Name | Platform | Description | Repository |
---|---|---|---|
phidgetvintx6 | linux | phidgetvintx6: Linux module for interfacing with a Phidget VINT Hub x6 IO device using a serie of 6 bits (010010). What is VINT? | GitHub |