Try out BLAST at https://wintechis.github.io/blast/
This is a monorepo with five packages:
@blast/core
is a library enabling usage of Web of Things (WoT) Thing Descriptions (TDs) for Bluetooth devices in Node.js.@blast/node
bundle for Node.js, using node-ble-host and node-hid.@blast/browser
BLAST browser bundle utilizing Web Bluetooth and WebHID.@blast/browser-demo
a programming and execution environment for applications interacting with WoT devices from within the web-browser@blast/tds
Collection of WoT Thing Descriptions tested with BLAST
For more detailed descriptions navigate to one of the packages (@blast/core
or @blast/web
)
In order to use the BLAST web demo open a Terminal and enter the following commands:
- Clone this repository with
git clone https://github.com/wintechis/blast
- Install dependencies:
yarn install
- Build BLAST:
yarn build
- Start BLAST web:
yarn start
- Open your Browser and navigate to
https://localhost:3000
Note
You might have to set yarn version using yarn set version berry
before installing
Yarn 2+ supports installing packages from a private git monorepo. To set packages of BLAST as dependecies in your project follow the steps below:
- Set yarn version using
yarn set version berry
(or any verion newer than 2.0.0) - Disable pnp:
yarn config set nodeLinker node-modules
(because of this bug) - Add the following lines to your
package.json
and replace@blast/node
and@blast/tds
with the desired package.
"dependencies": {
"@blast/node": "git+https://github.com/wintechis/blast.git#workspace=@blast/node",
"@blast/tds": "git+https://github.com/wintechis/blast.git#workspace=@blast/tds"
},
"resolutions": {
"@blast/core": "git+https://github.com/wintechis/blast.git#workspace=@blast/core"
},
"type": "module"
Now, you can import the packages in your project code, i.e.:
import {createThing} from '@blast/node';
import {BleRgbController} from '@blast/tds';
Don't forget to execute sudo setcap cap_net_admin=ep $(eval readlink -f `which node`)
to allow Node.js to access Bluetooth devices.
- Wehr, T., Freund, M., & Harth, A. (2024). Taking Control of Your Health Data: A Solid-Based Mobile App for Wearable Data Collection and RDF Visualization. In European Semantic Web Conference (pp. 336-339). (DBLP)
- Freund, M., Fries, J., Wehr, T., & Harth, A. (2023). Generating Visual Programming Blocks based on Semantics in W3C Thing Descriptions. In SWoCoT@ESWC (pp. 1-15). (DBLP)
- Freund, M., Wehr, T., & Harth, A. (2022). BLAST: Block Applications for Things. In European Semantic Web Conference (pp. 68-72). (DBLP)