Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@lwmqn/shepherd

Package Overview
Dependencies
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lwmqn/shepherd

Server & manager for the LwM2M-like Lightweight Message Queuing Network (LwMQN)

  • 0.8.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

LwMQN Network

@lwmqn/shepherd is a network server and manager for the Lightweight Message Queuing Network (LwMQN)

Greenkeeper badge NPM version NPM downloads Travis branch Coverage Status Gitter js-standard-style pr-welcoming-image


What is 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.

Server-side and Client-side Libraries:

  • LwMQN project provides you with this machine-side @lwmqn/qnode library and a server-side @lwmqn/shepherd library to build your machine network with JavaScript and Node.js easily.

Features

  • Communication based on MQTT protocol and Mosca broker.
  • Embedded persistence (NeDB) and auto-reloads Client Devices at boot-up.
  • Build your IoT network with or without cloud services.
  • LwM2M-like interfaces for Client/Server interaction.
  • Hierarchical Smart Object data model (IPSO), which leads to a comprehensive and consistent way in describing real-world gadgets.
  • Easy to query resources on a Client Device with the URI-style path, and everything has been well-organized to ease the pain for you to create RPC interfaces for your webapps, such as RESTful and websocket-based APIs.
  • LwMQN Server is your local machine gateway and application runner. But if you like to let your machines go up cloud, why not? It's Node.js!
Acronyms and Abbreviations
  • Server: LwMQN server
  • Client or Client Device: LwMQN client (machine)
  • Shepherd: Class exposed by require('@lwmqn/shepherd')
  • Qnode: Class to create a software endpoint(proxy) of a remote Client Device on the server
  • qserver: Instance of Shepherd Class
  • qnode: Instance of Qnode Class

Installation

Currently Node.js 8.x LTS or higher is required.

$ npm install @lwmqn/shepherd

Basic Usage

const Shepherd = require('@lwmqn/shepherd')
const qserver = new Shepherd() // create a LWMQN server

qserver.on('ready', function () {
  console.log('Server is ready.')
  // when server is ready, allow devices to join the network within 180 secs
  qserver.permitJoin(180)
})

qserver.start(function (err) { // start the sever
  if (err) console.log(err)
})

// That's all to start a LwMQN server.
// Now qserver is going to automatically tackle most of the network managing things.

Documentation


License

Licensed under MIT.

FAQs

Package last updated on 23 Dec 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc