All Projects → gioblu → Pjon

gioblu / Pjon

Licence: other
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Pjon

Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+26.39%)
Mutual labels:  arduino, raspberry-pi, iot, esp8266, internet-of-things, embedded
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-99.69%)
Mutual labels:  arduino, raspberry-pi, mqtt, iot, esp8266, internet-of-things
Waterius
Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
Stars: ✭ 295 (-88.72%)
Mutual labels:  arduino, iot, esp8266, internet-of-things, embedded
Blinker Doc
blinker中文文档
Stars: ✭ 139 (-94.68%)
Mutual labels:  arduino, raspberry-pi, mqtt, iot, esp8266
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (-93.5%)
Mutual labels:  arduino, raspberry-pi, iot, esp8266, internet-of-things
Sitewhere
SiteWhere is an industrial strength open-source application enablement platform for the Internet of Things (IoT). It provides a multi-tenant microservice-based infrastructure that includes device/asset management, data ingestion, big-data storage, and integration through a modern, scalable architecture. SiteWhere provides REST APIs for all system functionality. SiteWhere provides SDKs for many common device platforms including Android, iOS, Arduino, and any Java-capable platform such as Raspberry Pi rapidly accelerating the speed of innovation.
Stars: ✭ 788 (-69.87%)
Mutual labels:  arduino, raspberry-pi, mqtt, iot, internet-of-things
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (-58.13%)
Mutual labels:  arduino, mqtt, iot, esp8266, embedded
Sming
Sming - Open Source framework for high efficiency native ESP8266 development
Stars: ✭ 1,197 (-54.23%)
Mutual labels:  arduino, iot, esp8266, internet-of-things, embedded
Hazel Networking
Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
Stars: ✭ 194 (-92.58%)
Mutual labels:  communication, tcp, protocol, udp
Home Assistant Config
My Home Assistant Configuration 🏡🏡
Stars: ✭ 133 (-94.91%)
Mutual labels:  arduino, mqtt, iot, esp8266
Mycontroller V1 Legacy
The Open Source Controller
Stars: ✭ 135 (-94.84%)
Mutual labels:  arduino, iot, esp8266, internet-of-things
Core
🏡 Open source home automation that puts local control and privacy first.
Stars: ✭ 48,265 (+1745.7%)
Mutual labels:  raspberry-pi, mqtt, iot, internet-of-things
App Release
An IoT Solution,this is the android release app | download ios app in app store
Stars: ✭ 104 (-96.02%)
Mutual labels:  arduino, raspberry-pi, iot, esp8266
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (-91.74%)
Mutual labels:  network, tcp, protocol, udp
Rpieasy
Easy MultiSensor device based on Raspberry PI
Stars: ✭ 85 (-96.75%)
Mutual labels:  raspberry-pi, mqtt, iot, internet-of-things
Arduino Robust Serial
A simple and robust serial communication protocol. It was designed for Arduino but can be used for other purposes (e.g. bluetooth, sockets). Implementation in C Arduino, C++, Python and Rust.
Stars: ✭ 83 (-96.83%)
Mutual labels:  arduino, raspberry-pi, communication, protocol
Lib Python
Blynk IoT library for Python and Micropython
Stars: ✭ 140 (-94.65%)
Mutual labels:  raspberry-pi, iot, esp8266, embedded
Tinyframe
A simple library for building and parsing data frames for serial interfaces (like UART / RS232)
Stars: ✭ 151 (-94.23%)
Mutual labels:  arduino, esp8266, protocol, embedded
Ofxgpio
Library C++ for raspberrypi and orangepi, GPIO interfaces compatible with openframeworks.
Stars: ✭ 155 (-94.07%)
Mutual labels:  raspberry-pi, network, tcp, internet-of-things
Mqttnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 2,486 (-4.93%)
Mutual labels:  mqtt, communication, iot, tcp

PJON

PJON 13.0

PJON® (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol. It proposes a new Open Standard, it is designed as a framework and implements a totally software-defined network protocol stack that can be easily cross-compiled on many microcontrollers and real-time operative systems like ATtiny, ATmega, SAMD, ESP8266, ESP32, STM32, Teensy, Raspberry Pi, Zephyr, Linux, Windows x86, Apple and Android. PJON operates on a wide range of media, data links and existing protocols like PJDL, PJDLR, PJDLS, Serial, RS485, USB, ASK/FSK, LoRa, UDP, TCP, MQTT and ESPNOW. For more information visit the documentation, the specification or the wiki.

Get PJON bus id Join the chat at https://gitter.im/gioblu/PJON

Why PJON?

  • New technology: PJON is an experimental network protocol stack crafted in 10 years of research and experimentation. It was originally developed as an open-source alternative to i2c and 1-Wire but during development its scope and features have been extended to cover use cases where IP is generally applied. PJON has been engineered to have a variable footprint (4.2-8.2 kB program memory) and overhead (5-35 bytes per packet) depending on its configuration.
  • Multi-media support: PJON operates upon a wide range of protocols like TCP, UDP, MQTT, ESPNOW, USB, Serial, RS485 and LoRa. The PJON network protocol stack specifies and implements also PJDL that operates over a single wire of up to 2000m shared by up to 255 devices, PJDLR that operates with many ASK/FSK/OOK radio modules, and also PJDLS that operates wirelessly with light pulses using off-the-shelf LEDs and laser diodes.
  • Increased reliability: Many protocols massively applied worldwide expose dangerous vulnerabilities, have weak error detection algorithms and are not resilient to interference. PJON is based on years of analysis and study not to make the same mistakes present in most alternatives and provide with a simpler and more efficient solution.
  • High flexibility: PJON is totally software-defined and it is designed to be easily extensible. it builds out-of-the-box in all supported devices and operates transparently on top of any supported protocol or medium.
  • Low cost: With no additional hardware needed to operate, minimal network wiring requirements and direct pin-to-pin or LED-to-LED communication, PJON is extremely energy efficient, cheap to be implemented and maintained. This experimental reference implementation is kept updated thanks to the strong commitment of its growing community.

Features

  • Cross-compilation support with the interfaces system calls abstraction
  • Multi-media support with the strategies data link layer abstraction
  • Modular packet format that includes only the field used (overhead 5-35 bytes)
  • Hot-swap support, no need of system reset or shut down when replacing or adding devices
  • Flexible local (device id) and shared (bus id) network identification
  • Safe error detection done with modern CRC8 and CRC32 polynomials
  • Optional inclusion of MAC addresses
  • Optional acknowledgement
  • Error handling

Publications

Academic studies

Researchers are active in many universities worldwide using PJON in different environments. The following list contains all the known published academic studies about PJON:

Contribute

Feel free to send a pull request sharing something you have made that could help, if you want to support this project you can also try to solve an issue. Thanks to support, expertise, kindness and talent of the following contributors, the protocol's documentation, specification and implementation have been strongly tested, enhanced and verified:

Fred Larsen, Zbigniew Zasieczny, Matheus Garbelini, sticilface, Felix Barbalet, Oleh Halitskiy, fotosettore, fabpolli, Adrian Sławiński, Osman Selçuk Aktepe, Jorgen-VikingGod, drtrigon, Endre Karlson, Wilfried Klaas, budaics, ibantxo, gonnavis, maxidroms83, Evgeny Dontsov, zcattacz, Valerii Koval, Ivan Kravets, Esben Soeltoft, Alex Grishin, Andrew Grande, Michael Teeww, Paolo Paolucci, per1234, Santiago Castro, pacproduct, elusive-code, Emanuele Iannone, Christian Pointner, Fabian Gärtner, Mauro Mombelli, Remo Kallio, hyndruide, sigmaeo, filogranaf, Maximiliano Duarte, Viktor Szépe, Shachar Limor, Pantovich, Mauro Zancarlin, Franketto, jzobac, DanRoad, fcastrovilli, Andrei Volkau, maniekq, DetAtHome, Michael Branson, chestwood96, Mattze96, Steven Bense, Jack Anderson, callalilychen, Julio Aguirre, Cimex97, der-schne, porkyneal, der-schne and Rainer Schoenberger.

Compliant tools

  • ModuleInterface - easy config and value sync between IoT modules by Fred Larsen
  • PJON-cython - cython PJON wrapper by xlfe github user
  • PJON-piper - command line wrapper by Zbigniew Zasieczny
  • PJON-python - python interface by Zbigniew Zasieczny
  • PJON-gRPC - gRPC server-client by Oleh Halytskyi

License

All the software included in this project is experimental and it is distributed "AS IS" without any warranty, use it at your own risk. Licensed under the Apache License, Version 2.0. PJON® and its brand are registered trademarks, property of PJON Technologies srl

Safety warning

When testing PJON, extreme care must be taken to avoid any danger. Consider that the implementation is experimental and may not behave as expected, use it at your own risk. When devices are connected to AC power you are exposed to a high chance of being electrocuted if hardware is not installed carefully and properly. If you are not experienced enough ask the support of a skilled technician and consider that many countries prohibit uncertified installations. When testing a SoftwareBitBang bus interference mitigation and protective circuitry guidelines must be followed. When experimenting with AnalogSampling setup safety glasses must be worn and transceivers must be operated cautiously to avoid potential eye injuries. Before testing OverSampling, ThroughSerial or ThroughLoRa radio communication, be sure the frequency, power and hardware used complies with local laws. When connecting a local bus to the internet all devices must be considered potentially compromised, manipulated or remotely actuated against your will. It should be considered a good practice not to connect to the internet systems that may create a damage (fire, flood, data-leak) if hacked.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].