ArduinoPPJson is a library to use PPJson custom protocol, in combination with other Arduinos or with the pyPPJson library on a computer or raspberry Pi.
ArduPPPJS is a library to use PPPJS over Arduino streams : a custom 2in1 protocol that offers a versatile mean of exchange for fast, reliable, self-checked data communication with "Point to Point Protocol" (PPP) like frames, as well as the famous Json key value pairs exchange to make humanly readble configuration messages and queries to your most ambitious Arduino projects.
It is a versatile protocol that can fit almost any advanced usage of Arduino serial communication, or any other C++ compiler compatible microcontroller. It supports simultaneous use of config heavy and nicely maintainable protocol, with Json flavored key values pairs easily readable by a human, and binary transfer, for fast and efficient high data throughput communication, while making both very reliable with strong and user transparent sanity checks, to keep ease of use and abstraction layer out of the user's mind, allowing them to focus on the content without worrying about data loss or maintainability.
It is designed for microcontroller to microcontroller or microcontroller to computer communication. It will support data routing in near future for multiple microcontroller networks.
The UART is located at the Data Link Layer on the OSI model layer 2.
Versatile communication protocol based :
- For fast transfer on :
HDLC : High-Level Data Link Control Protocol
PPP : Point-to-Point Protocol
- For highly versatile and humanly readable values on :
(relaxed) Json : JavaScript Object Notation based on the wonderfull ArduinoJson library by Benoit Blanchon.
- Arduino Library Manager inclusion : (https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ)
Hjson : converting user "dirty" json into json valid syntax.
-
Start of a packet should be {
-
Json keys should NOT start with numbers