|
|
|
# Welcome to µDTN
|
|
|
|
|
|
|
|
µDTN is an open-source Bundle Protocol Implementation for Contiki OS running on low-power wireless sensor nodes such as [INGA](http://www.ibr.cs.tu-bs.de/projects/inga).
|
|
|
|
|
|
|
|
|
|
|
|
# Features
|
|
|
|
* Wireless communication via IEEE 802.15.4
|
|
|
|
* Tailored for Contiki OS, making use of protothreads and events
|
|
|
|
* Handles bundles in Compressed Bundle Header Encoding ([RFC 6260](http://tools.ietf.org/html/rfc6260))
|
|
|
|
* Bundles can be stored in
|
|
|
|
* Flash using the COFFEE file system (persistent)
|
|
|
|
* RAM using Contiki's MMEM mechanism (fast)
|
|
|
|
* Node Discovery is done using the IP Neighbour discovery format ([IPND](http://tools.ietf.org/html/draft-irtf-dtnrg-ipnd-02))
|
|
|
|
* Routing is done via a modified version of flooding
|
|
|
|
* Multiple protothreads can register endpoints
|
|
|
|
* EID groups are supported
|
|
|
|
* Interoperability with [IBR-DTN](https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/) on Linux
|
|
|
|
* Runs on many Contiki platforms, tested are INGA and T-Mote Sky
|
|
|
|
* Bundle Status Reports
|
|
|
|
* Ongoing tests via Continuous Integration: https://jenkins.ibr.cs.tu-bs.de/jenkins/view/uDTN/
|
|
|
|
* More Details can be found in the [2012 FSGN Paper](http://www.ibr.cs.tu-bs.de/papers/buesching-fgsn2012.pdf)
|
|
|
|
|
|
|
|
# Work in Progress
|
|
|
|
The following features are currently either not implemented or work in progress:
|
|
|
|
* Standard bundles (non-CBHE)
|
|
|
|
* Custody
|
|
|
|
* Bundle Age Block
|
|
|
|
* Fast and persistent storage (Flash and RAM)
|
|
|
|
|
|
|
|
# Getting Started
|
|
|
|
The simple version:
|
|
|
|
1. git clone https://gitlab.ibr.cs.tu-bs.de/udtn/udtn.git
|
|
|
|
2. cd examples/uDTN/pingpong
|
|
|
|
3. make uDTN-pingpong.upload login
|
|
|
|
|
|
|
|
# Download
|
|
|
|
* Bleeding edge code is kept in the [git](https://gitlab.ibr.cs.tu-bs.de/udtn/udtn)
|
|
|
|
* git checkout https://gitlab.ibr.cs.tu-bs.de/udtn/udtn.git
|
|
|
|
* [wiki:release-notes-v2 Release Notes for v2]
|
|
|
|
|
|
|
|
# Some pointers
|
|
|
|
* Example code is hidden in [examples/uDTN](https://gitlab.ibr.cs.tu-bs.de/udtn/udtn/tree/master/examples/uDTN)
|
|
|
|
* [simple-transceiver](https://gitlab.ibr.cs.tu-bs.de/udtn/udtn/tree/master/examples/uDTN/simple-transceiver/simple-transceiver.c) shows basic use of the API
|
|
|
|
* The other example are more sophisticated
|
|
|
|
* µDTN Implementation lives in [core/net/uDTN](https://gitlab.ibr.cs.tu-bs.de/udtn/udtn/tree/master/core/net/uDTN)
|
|
|
|
* [Doxygen](http://www.ibr.cs.tu-bs.de/projects/mudtn/doxygen) for Contiki (including [µDTN](http://www.ibr.cs.tu-bs.de/projects/mudtn/doxygen/a01787.html))
|
|
|
|
* Subscribe to the [Mailinglist](https://www.ibr.cs.tu-bs.de/mailman/listinfo/mudtn)
|
|
|
|
|
|
|
|
# Publications
|
|
|
|
Our publications regarding uDTN and related topics are listed on the [project homepage](https://www.ibr.cs.tu-bs.de/projects/mudtn/).
|
|
|
|
|
|
|
|
# Citing uDTN
|
|
|
|
If you use uDTN in your research, please cite us. A bibtex entry for the most recent paper regarding uDTN can be found here: [vonzengen:FGSN12.bib](http://www.ibr.cs.tu-bs.de/bib/tex/vonzengen:FGSN12.bib). |
|
|
|
\ No newline at end of file |