
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@lwmqn/qnode
Advanced tools
Client node of LwM2M-like Lightweight Message Queuing Network (LwMQN).
Lightweight Message Queuing Network (LwMQN) is an open source project that follows part of OMA LwM2M v1.0 specification to meet the minimum requirements of machine network management.
require('@lwmqn/qnode')
require('@lwmqn/smartobject')
Currently Node.js 8.x LTS or higher is required.
$ npm install @lwmqn/qnode
$ npm install @lwmqn/smartobject
Here is a quick example, with two humidity sensors and one custom object, which shows how to use @lwmqn/qnode and smartobject on your client machine.
var Qnode = require('@lwmqn/qnode')
var SmartObject = require('@lwmqn/smartobject')
var so = new SmartObject()
// Humidity sensor - the first instance
so.init('humidity', 0, { // oid = 'humidity', iid = 0
sensorValue: 20,
units: 'percent'
})
// Humidity sensor - the second instance
so.init('humidity', 1, { // oid = 'humidity', iid = 1
sensorValue: 16,
units: 'percent'
});
// A custom Object with two Resources: myResrc1 and myResrc2
so.init('myObject', 0, { // oid = 'myObject', iid = 0
myResrc1: 20,
myResrc2: 'hello world!'
})
// Create a qnode with a client id and your smart object. And attach your 'ready' and 'registered' event listeners
var qnode = new Qnode('my_foo_client_id', so);
qnode.on('ready', function () {
// The ready event fires when the device is ready, but not yet remotely register to a Server.
// You can start to run your local app, such as showing the sensed value on an OLED monitor.
// To interact with your Resources, simply use the handy APIs provided by SmartObject class.
})
qnode.on('registered', function () {
// The event fires when registration procedure completes successfully, which means your device
// has joined the network and managed by the Server. After a success of registration, you can
// take the LWMQN Server as a simple MQTT broker. Your device can subscribe to any topic or
// publish any topic to the network (if authorized).
})
qnode.on('login', function () {
// Your qnode is now ready to accept remote requests from the Server. Don't worry about the
// REQ/RSP things, qnode itself will handle them for you.
})
// Connect and register to a Server, that's it!
qnode.connect('mqtt://192.168.0.2');
The following example shows how to operate upon this qnode at server-side (please go to mqtt-shepherd document for details):
var qnode = qserver.find('my_foo_client_id'); // find the registered device by its client id
if (qnode) {
qnode.readReq('humidity/0/sensorValue', function (err, rsp) {
if (!err) console.log(rsp); // { status: 205, data: 20 }
})
qnode.readReq('myObject/0/myResrc2', function (err, rsp) {
if (!err) console.log(rsp); // { status: 205, data: 'hello world!' }
});
}
Basic APIs
Networking APIs
Generic MQTT Interfaces
Events
Message Encryption
Identifying Mode
Debug messages
Licensed under MIT.
FAQs
Client node of LwM2M-like Lightweight Message Queuing Network (LwMQN).
The npm package @lwmqn/qnode receives a total of 2 weekly downloads. As such, @lwmqn/qnode popularity was classified as not popular.
We found that @lwmqn/qnode demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.