Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
mk
 
 
src
 
 
 
 
 
 
 
 

NDN Arduino library for ESP8266 and more

GitHub Workflow status GitHub code size

esp8266ndn library enables Named Data Networking application development in Arduino environment. It supports ESP8266, ESP32, and Adafruit nRF52 microcontrollers.

esp8266ndn logo

Features

Packet encoding and decoding

  • Interest and Data
    • v0.3 format only
    • TLV evolvability: yes
    • forwarding hint: no
  • NDNLPv2
    • fragmentation and reassembly: yes, requires in-order delivery
    • Nack: partial
    • PIT token: 8-octet only
    • congestion mark: no
    • link layer reliability: no
  • Signed Interest: v0.3 format
  • Naming Convention: 2019 format

Transports

  • Ethernet: unicast and multicast on ESP8266 and ESP32
  • UDP: unicast and multicast on ESP8266 and ESP32
  • Bluetooth Low Energy: server/peripheral only on ESP32 and nRF52
    • Compatible with NDNts @ndn/web-bluetooth-transport package

KeyChain

  • Crypto
    • SHA256: yes (using BearSSL on ESP8266, Mbed TLS on ESP32, CryptoSuite on nRF52)
    • ECDSA: P-256 curve only (using Mbed TLS on ESP32, micro-ecc on ESP8266 and nRF52)
    • HMAC-SHA256: no
    • RSA: no
    • Null: yes
  • NDN certificates: basic support
  • Persistent key and certificate storage: binary files
    • ESP8266: using LittleFS
    • ESP32: using FFat (in Arduino Tools menu select "Partition Scheme: with FAT")
    • nRF52: using InternalFileSystem
  • Trust schema: no

Application layer services

  • ndnping server and client
  • segmented object producer and consumer
  • Realtime Data Retrieval (RDR) metadata producer and consumer
  • NDNCERT server and client
    • ESP32 only
    • supported challenges: "nop" and "possession"
  • NDN-FCH client for connecting to the global NDN testbed and other connected networks
    • ESP8266 and ESP32 only
  • UnixTime client for time synchronization

Installation

  1. Clone NDNph and this repository under $HOME/Arduino/libraries directory.
  2. Add #include <esp8266ndn.h> to your sketch.
  3. Check out the examples for how to use.

About

NDN Arduino library for ESP8266 and more

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages