Documentation

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

The PJON 12.0 big box is a limited edition (only 500 units). It contains the PJON protocol handbook, the PJON protocol source code in CD and the stickers. This product contains everything you need to master the PJON protocol and its implementation, although it is also designed to nicely fit in your big box collection. Choosing this handy kit, you will always have PJON with you in different formats, also when not being connected to Internet. Buying PJON products you support its further development and enhancement.


BUY NOW!

Compatible devices

ATtiny85

PJON - ATtiny85 compatible

ATtiny84/84A

PJON - ATtiny84/84A compatible

Arduino Uno

PJON - Arduino uno compatible

Arduino Leonardo

PJON - Arduino Leonardo compatible

Arduino Mega

PJON - Arduino Mega compatible

Arduino Nano

PJON - Arduino Nano compatible

Arduino Micro

PJON - Arduino Micro compatible

Teensy

PJON - Teensy compatible

Arduino Due

PJON - Arduino Due compatible

Bluepill STM32

PJON - Bluepill STM32F103 compatible

SAMD21

PJON - SAMD21 compatible

ESP8266

PJON - ESP8266 NodeMCU compatible

ESP32

PJON - ESP32 compatible

Raspberry Pi

PJON - Raspberry Pi compatible

Android

PJON - Android compatible

LINUX

PJON - LINUX compatible

WINX86

PJON - WINX86 compatible

Mac OS X

PJON - Apple MACOSX compatible

Strategies abstraction

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