
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
@node-wot/binding-coap
Advanced tools
W3C WoT Binding Template specification for CoAP can be found here.
Current Maintainer(s): @JKRhb
The protocol prefix handled by this binding is coap://
or coaps://
.
In the following examples, how to use the CoAP binding of node-wot is shown.
npm install @node-wot/core
npm install @node-wot/binding-coap
The client example tries to connect to a TestThing via CoAP and read the string
property.
The Thing Description is located under the following CoAP URI coap://plugfest.thingweb.io:5683/testthing
.
node example-client.js
// example-client.js
const { Servient } = require("@node-wot/core");
const { CoapClientFactory } = require("@node-wot/binding-coap");
// create Servient and add CoAP binding
const servient = new Servient();
servient.addClientFactory(new CoapClientFactory());
servient
.start()
.then(async (WoT) => {
try {
const td = await WoT.requestThingDescription("coap://plugfest.thingweb.io:5683/testthing");
const thing = await WoT.consume(td);
// read property
const read1 = await thing.readProperty("string");
console.log("string value is: ", await read1.value());
} catch (err) {
console.error("Script error:", err);
}
})
.catch((err) => {
console.error("Start error:", err);
});
The server example produces a thing that allows for setting a property count
. The thing is reachable through CoAP.
node example-server.js
// example-server.js
const { Servient } = require("@node-wot/core");
const { CoapServer } = require("@node-wot/binding-coap");
// create Servient add HTTP binding
const servient = new Servient();
servient.addServer(new CoapServer());
servient.start().then((WoT) => {
WoT.produce({
title: "MyCounter",
properties: {
count: {
type: "integer",
},
},
}).then((thing) => {
console.log("Produced " + thing.getThingDescription().title);
let count = 0;
// set property handlers (using async-await)
thing.setPropertyReadHandler("count", async () => count);
thing.setPropertyWriteHandler("count", async (intOutput) => {
count = await intOutput.value();
});
thing.expose().then(() => {
console.info(thing.getThingDescription().title + " ready");
console.info("TD : " + JSON.stringify(thing.getThingDescription()));
});
});
});
FAQs
CoAP client & server protocol binding for node-wot
The npm package @node-wot/binding-coap receives a total of 96 weekly downloads. As such, @node-wot/binding-coap popularity was classified as not popular.
We found that @node-wot/binding-coap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.