... | ... | @@ -4,18 +4,18 @@ PainlessMesh creates a self organizing and repairing network where all nodes are |
|
|
|
|
|
# List of features
|
|
|
|
|
|
- JSON based messages. They can be directly used on javascript code.
|
|
|
- **JSON** based messages. They can be directly used on javascript code.
|
|
|
- Fairly easy setup.
|
|
|
- Usable on Arduino environment.
|
|
|
- Usable on **Arduino** environment.
|
|
|
- Implemented as a layer-3 protocol. Connectionless and without confirmation.
|
|
|
- Totally asyncrhronous. No need to poll for new messages.
|
|
|
- Accurate time synchronization. All nodes share same clock with a precision better than 10 ms.
|
|
|
- Totally **asyncrhronous**. No need to poll for new messages.
|
|
|
- **Accurate time synchronization**. All nodes share same clock with a precision better than 10 ms.
|
|
|
- All nodes know the complete topology instantly. Updated every 3 seconds.
|
|
|
- Mesh autoconfigure itself. Any node can be disconnected in any moment. Any new node is integrated automatically.
|
|
|
- Mesh **autoconfigure** itself. Any node can be disconnected in any moment. Any new node is integrated automatically.
|
|
|
- All nodes continuously monitor its directly connected peers to check if they are active.
|
|
|
- Single addressed and broadcast messages are possible.
|
|
|
- Network loops are actively avoided.
|
|
|
- Prepared to run nodes on battery with limited functionality.
|
|
|
- Prepared to run nodes on **battery** with limited functionality by using `sleep()` function.
|
|
|
|
|
|
## Network layout
|
|
|
|
... | ... | @@ -52,5 +52,10 @@ Messages are not acknowledged. This should be implemented at application level. |
|
|
|
|
|
For broadcast messages, all connections are iterated and the message is sent to each connection. Upon receiving the broadcast message, the message is relayed to all connections of the receiving node, except for the connection by which the message is received.
|
|
|
|
|
|
# Mesh Protocol
|
|
|
|
|
|
[Protocol description](https://gitlab.com/BlackEdder/painlessMesh/wikis/mesh-protocol)
|
|
|
|
|
|
|
|
|
|
|
|
|