PJON (Padded Jittering Operative Network) 是一个简单的连线、多 master 通讯总线系统。是 i2c 、1-Wire、串口以及其他 Arduino 兼容协议的替代方案。
特性
单个物理层连接,可支持高达 50 个节点
实现了设备编码来支持高达 254 个设备通讯
循环冗余校验 (CRC).
确保数据包发送的正确
多 master 支持中的避免冲突
提供广播功能
包管理机制来跟踪和重新发送失败的数据包发送
错误处理
性能
兼容性
示例代码:
#include <JON.h> // Transmitter board code
PJON network(12, 45); // Bus connection to pin 12, device id 45
void setup() {
network.send(44, "B", 1, 1000000);
// Send to device 44, "B" content of 1 byte length every 1000000 microseconds (1 second)
}
void loop() {
network.update();
}
/* ---------------------------------------------------------------------------- */
#include <JON.h> // Receiver board code
PJON network(12, 44); // Bus connection to pin 12, device id 45
void setup() {
network.set_receiver(receiver_function); // Set the function used to receive messages
};
static void receiver_function(uint8_t length, uint8_t *payload) {
if(payload[0] == 'B') { // If the first letter of the received message is B
digitalWrite(13, HIGH);
delay(30);
digitalWrite(13, LOW);
}
}
void loop() {
network.receive(1000);
}