libnyoci logo

libnyoci

Free

A flexible CoAP stack for embedded devices and computers. RFC7252 compatible.

FreeFree tier
Type
Open Source

About libnyoci

LibNyoci is a highly-configurable, full-featured CoAP (Constrained Application Protocol) stack designed for a wide range of embedded devices — from bare-metal sensor nodes with kilobytes of RAM to Linux-based systems with megabytes of RAM. It fully supports RFC7252, provides fully asynchronous I/O, and works with both BSD sockets and µIP network stacks. The stack enables sending and receiving asynchronous CoAP responses, observing resources and offering observable resources, and retransmission of confirmable transactions. It also includes experimental DTLS support and comes with nyocictl, a powerful command-line tool for browsing and configuring CoAP nodes. Originally spun off from the SMCP project in March 2017, LibNyoci was actively developed until it was archived in June 2022; the repository is now read-only.

Key Features

Supports CoAP protocol per RFC7252
Fully asynchronous I/O
Works with both BSD sockets and µIP network stacks
Sending and receiving asynchronous CoAP responses
Observing resources and offering observable resources
Retransmission of confirmable transactions
Experimental DTLS support
Includes nyocictl command-line tool for browsing and configuring CoAP nodes
Highly configurable for resource-constrained to full-featured devices
Provides example code and plugtest server/client for testing

Pros & Cons

Pros
  • Open-source and free (MIT license)
  • Highly configurable across a range of embedded platforms
  • Supports both BSD sockets and µIP for flexibility
  • Asynchronous I/O model for efficient resource usage
  • Includes a dedicated command-line tool (nyocictl)
  • Experimental DTLS support for secure communications
  • Well-documented with examples for quick start
Cons
  • Repository archived and no longer maintained (read-only as of June 2022)
  • API not stable (was working toward v1.0 but never released)
  • DTLS support is experimental and may not be production-ready
  • Limited to CoAP protocol; no built-in support for other IoT protocols
  • Community support is reduced due to archival

Best For

IoT device communication over constrained networksEmbedded sensor node networkingCoAP server and client implementations in firmwarePrototyping and testing CoAP applicationsResource observation in smart home or industrial monitoringResearch and development of CoAP-based protocols

FAQ

What is LibNyoci?
LibNyoci is an open-source, embedded CoAP (Constrained Application Protocol) stack that supports RFC7252. It is designed for devices from low-power sensors to Linux-based systems.
Does LibNyoci support DTLS?
Yes, LibNyoci includes experimental support for DTLS (Datagram Transport Layer Security) for secure CoAP communications.
Is LibNyoci still actively maintained?
No, the repository was archived by the owner on June 10, 2022, and is now read-only. No further updates or contributions are expected.
What platforms can LibNyoci run on?
LibNyoci is highly configurable and can run on bare-metal sensor nodes with limited RAM as well as on Linux-based devices with more resources.
Does LibNyoci include example code?
Yes, the repository includes several example programs (example-1 through example-4) and a plugtest server/client to help users get started.