Architecture
flowchart TD
subgraph s1["KevinbotLib Server"]
n5["KevinbotLib<br>Direct Serial"]
n9["XBee Interface"]
end
n3["MQTT API Mode"] <--> n4["MQTT Broker"]
n4 <--> s1
n5 --> n6["Kevinbot<br>Hardware"]
n2["Direct Serial"] --> n6
n9 <--> n5
n9 --> n4
n10["OR"] --> n11["Direct Serial Mode<br>"] & n12["MQTT Mode"]
n1["KevinbotLib"] --> n10
n11 --> n2
n12 --> n3
n3@{ shape: rect}
n4@{ shape: rect}
n6@{ shape: rect}
n2@{ shape: rect}
n10@{ shape: diam}
n11@{ shape: text}
n1@{ shape: rect}
n12@{ shape: text}
XBee
KevinbotLib does not support XBee communication at this moment
Serial vs. MQTT
Direct Serial
Pros
- Very low-latency
- More reliable
- Simpler
Cons
- Single client access
- Requires wired connection
MQTT
Pros
- Multiple client access
- Networked
- Potentially easier to debug data
Cons
- Higher latency
- More complex/more to go wrong
- Requires MQTT Broker