-
Notifications
You must be signed in to change notification settings - Fork 239
Home
Giovanni Blu Mitolo edited this page Aug 11, 2019
·
306 revisions
PJON is a tool created to simplify communication between devices and network engineering. Choose the medium you prefer, build your own network of devices and make it work with few lines of code. There are 13 strategies available to communicate data with PJON on various media:
Strategy | Physical layer | Protocol |
---|---|---|
AS AnalogSampling | Light pulses over air or optic fiber | PJDLS |
OS OverSampling | Electrical/radio impulses over wire/air | PJDLR |
SB SoftwareBitBang | Electrical impulses over conductive element | PJDL |
TS ThroughSerial | Electrical/radio impulses over wire/air | TSDL |
TS ThroughSerialAsync | Electrical/radio impulses over wire/air | TSDL |
ET EthernetTCP | Electrical/radio impulses over wire/air | TCP |
LU LocalUDP | Electrical/radio impulses over wire/air | UDP |
GU GlobalUDP | Electrical/radio impulses over wire/air | UDP |
DU DualUDP | Electrical/radio impulses over wire/air | UDP |
TL ThroughLoRa | Radio impulses over air | LoRa |
EN ESPNOW | Radio impulses over air | ESPNOW |
LF LocalFile | Shared file system in memory | None |
Any | Virtual inheritance, any of the above | Any of the above |
Device | AS | OS | SB | TS | ET | LU | GU | DU | TL |
---|---|---|---|---|---|---|---|---|---|
Arduino Duemilanove | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Nano | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Uno | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Leonardo | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Micro | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Mega | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Arduino Zero | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Arduino Due | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
ATMega1284P | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
ATtiny84/84A | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
ATtiny85 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
ESP8266 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ |
ESP32 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
STM32F103 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ |
Nucleo L053R8 | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Nucleo F401RE | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Teensy 3.1 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Raspberry Pi | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Windows X86 | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Linux | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Mac | ❌ | ❌ | ❌ | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
✔️ compatible - ❌ not compatible
For a simple entry level test use a couple of Arduino boards, connect together their ground and pin 12.
Arduino UNO Arduino UNO
_________ wire _________
| || |_||___ | |
|| || | || ||
|| || | || ||
|| || |____|| ||
|_________| |_|_|__||_|
Flash on both arduinos the programs present in the BlinkTest example directory. You should see the receiver device blinking every second.
- Update PJON 12.x to 13.0
- Addressing
- Configuration
- Data reception
- Data transmission
- Error handling
- IO pins setup
- Routing
- ATtiny interfacing
- ESP8266 interfacing
- Nucleo interfacing
- Raspberry Pi interfacing
- WINX86 interfacing
- Troubleshooting