
Show HN: PJON – Padded Jittering Operative Network - gioscarab
http://www.pjon.org/
======
CJefferson
So, what the heck is PJON? I read the whole page, and don't know.. something
to do with communication. Hardware? Software? Library? Somehow JSON related?

~~~
emeraldd
Looks like the Why page doesn't really answer that question but the main site
might be better:

[http://www.pjon.org/](http://www.pjon.org/)

~~~
dang
Ok, we changed the URL to that from
[http://www.pjon.org/why.php](http://www.pjon.org/why.php).

------
lotsoflumens
This PJON thing needs some rework...

He requires a yearly renewal of a "bus id", otherwise he'll give yours to
somebody else.

I guess he's never heard of UUIDs, or public encryption keys, or MAC addresses
or ...

... it doesn't matter, it's already DOA.

------
smlacy
GitHub page has a much better introduction than this beautiful yet
uninformative website.

[https://github.com/gioblu/PJON](https://github.com/gioblu/PJON)

PJON™ (Padded Jittering Operative Network) is an Arduino compatible, multi-
master, multi-media communications bus system. It proposes a Standard, it is
designed as a framework and implements a totally software-emulated network
protocol stack. It is a valid alternative to i2c, 1-Wire, Serial and other
Arduino compatible protocols. Visit the Wiki, Documentation and
Troubleshooting wiki pages to know more about the PJON Standard.

Get PJON bus id Video introduction Join the chat at
[https://gitter.im/gioblu/PJON](https://gitter.im/gioblu/PJON) Donate

Features

* Configurable 2 level addressing (device and bus id) for scalable applications

* Multi-media support with the data link layer abstraction or Strategy framework

* Configurable strategies inclusion (for memory optimization)

* Configurable 1 or 2 bytes packet length (max 255 or 65535 bytes)

* Master-slave or multi-master dynamic addressing

* Configurable synchronous and/or asynchronous Acknowledgement of correct packet sending

* Collision avoidance to enable multi-master capability

* Selectable CRC8 or CRC32 table-less cyclic redundancy check

* Packet manager to handle, track and if necessary retransmit a packet sending in background

* Optional ordered packet sending

* Error handling

~~~
pjc50
The actual wire format:
[https://github.com/gioblu/PJON/blob/master/strategies/Softwa...](https://github.com/gioblu/PJON/blob/master/strategies/SoftwareBitBang/specification/padded-
jittering-protocol-specification-v0.1.md)

Somewhat similar to Dallas 1-wire.

------
gioscarab
Ciao guys, I am sorry I was out for dinner, and I do not own a smartphone, so
I lost your comments. Yes, you are all right, the website is beautiful but not
informative, I will work on that. I still didnt have the time to dedicate a
streak to that and add some info.

PJON is the layer 2 of the network protocol stack and so its speed is directly
related to the obtainable speed of the data link layer used.

PJDL and PJDLR are the data link we propose, and their maximum speed is:

Added by Esben Soeltoft - 09/03/2016 Transfer speer: 48.000kBd or 6.00kB/s
Absolute communication speed: 6.00kB/s Data throughput: 5.00kB/s

Obtained on Arduino Zero, the maximum cross-architecture speed: _SWBB_FAST
mode: Transfer speed: 25.157kBd or 3.15kB/s Absolute communication speed:
2.55kB/s Data throughput: 2.13kB/s

LIN has a max speed of 20kbit max operates at 12v, need a UART, max 8 bytes
data frames PJON has a max speed of 5kByte/s operates with no additional
hardware totally software emulated on the voltage level you prefer, max 65535
bytes packet.

------
equalunique
Coincidentally, this is not the first embedded device communications protocol
I've read about today. The LIN protocol was mentioned in the video
corresponding to a Hack A Day article which came up in my feed.

[http://hackaday.com/2017/02/10/ikea-standing-desk-goes-
dumb-...](http://hackaday.com/2017/02/10/ikea-standing-desk-goes-dumb-to-
smart-with-lin-bus/)

------
guard-of-terra
How fast is that? What's the latency for initiating communication and the
roundtrip after the communication is initiated? Because it always irks me with
bluetooth and wi-fi, why does it takes ages to connect? Why not 100 msec?

Is it Point-To-Point or Broadcast or both? Can you subscribe to a class of
messages even if they aren't sent to you explicitly?

What's with auth and encryption? Something cryptographically sound?

Sorry for not diving into the docs because that's what I would like to see on
that page. And please, no video.

