PJON implements a totally software-defined network protocol stack in around 1500 lines of code, thanks to the strategies abstraction it can operate transparently on different media, physical layers and other protocols. Thanks to the interfaces abstraction PJON can be easily ported on any MCU or architecture. The graph below shows the implementation's architecture.
___________________________________________________ | Layer 3 Network | | PJON | | send, send_packet, send_repeatedly ... | |___________________________________________________| | Layer 2 data link or strategy | | AnalogSampling, OverSampling, SoftwareBitBang ... | | can_start, send_string, receive_byte ... | |___________________________________________________| | Interfaces to system calls | | PJON_MICROS, PJON_RANDOM, PJON_IO_MODE ... | |___________________________________________________| | Layer 1 physical-layer | | System calls: | | micros, random, delayMicroseconds ... | |___________________________________________________|
This document is automatically generated from the github repository. If you have noticed an error or an inconsistency, please report it opening an issue here
The PJON protocol handbook
This is the first publication about PJON, which contains the documentation, the specification, many application examples and troubleshooting techniques. The book is Made in Italy and within its 204 pages the whole PJON network protocol stack and its strategies are accurately described with graphs, color pictures and comments on its implementation. Choosing this handy format, you will always have PJON with you, also when not being connected to Internet.
Mac OS X
PJON uses strategies to physically transmit data, abstracting the data link from its procedure. A Strategy is a class containing the minimum required set of features to support transmision and reception of frames; many strategies are available to communicate data through various media and protocols. Take a look at the strategies video introduction for a brief showcase of their features.STRATEGIES