OpenNNGP

From OpenCITT

Revision as of 16:18, 9 October 2008 by Topro (Talk | contribs)
Jump to: navigation, search

Here you will find information about the TCP/UDP based "open NetNode Grid Protocol".

openNNGP refers to the "open NetNode-Grid-Protocol", an TCP and/or UDP based open network protocol specification defined by the opencitt team it will be used to enable standardized communication between openCITT and some decentralized NetNodes building a IP-net based data grid

This is still in specification phase, please check back later.

Some thoughts

- use connection based TCP vs. packet based UDP
- a netnode registrates with another to get some of its data, i.e. openCITT registrates with a NNGP-enabled mcu unit with an speed sensor attached to get some dead-reckoning capabilities for map-navigation within tunnels
  with TCP this might be done by establishing a connection and sending message to request the speed signal at a desired update rate

Protocol version 1 definition:

- version 1 only supports UDP on the openNNGP port _t.b.d_
- data server has to send openNNGP packets freerunning to data client's ip/mac without the need of initialization at the moment
- data is x86 format (little/big endian?!?, tell me)
- one udp packet consists of an openNNGP header and a limited number of payload packages to not exceed the version 1 udp packet maximum length of 255 bytes
- the version 1 header consists of [version(one byte),length(one byte)] where version is always 0x01 and length is the number of bytes of header+payload thus limiting one openNNGP packet to a maximum size of 255 bytes.
- one payload package consists of a payload command byte (0x01=data_float), option byte for additional command options, two byte data-id (identifying data channel), 4 byte float containing data value
- see openNNGP commands for defined payload commands

openNNGP v1 Frame

  • header * payload * payload * ...... *

where header is

  • 0...........7*8......15*
  • 10000000*Length*

and payload is

  • 0...........7*8......15*16....23*24....31*32...........63*
  • 10000000*option *ID_L *ID_H *Data *
Personal tools