169 lines
4.1 KiB
Text
169 lines
4.1 KiB
Text
# RCBox Network Topologies
|
||
|
||
RCBox is a Raspberry Pi–powered micro server and Wi-Fi hotspot that serves
|
||
static content offline and hosts secure messaging and public chat.
|
||
|
||
## 1. Standalone Offline — Direct Wi-Fi Clients
|
||
|
||
A single RCBox acts as an access point; clients associate directly to its
|
||
Wi-Fi radio. No internet, no upstream — fully self-contained.
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph RCBox["RCBox (Raspberry Pi)"]
|
||
AP["Wi-Fi Access Point"]
|
||
WEB["Static Content Server"]
|
||
MSG["Secure Messaging"]
|
||
CHAT["Public Chat Room"]
|
||
AP --- WEB
|
||
AP --- MSG
|
||
AP --- CHAT
|
||
end
|
||
|
||
LAPTOP["Laptop"]
|
||
PHONE1["Phone"]
|
||
PHONE2["Phone"]
|
||
TABLET["Tablet"]
|
||
|
||
LAPTOP -. "Wi-Fi" .-> AP
|
||
PHONE1 -. "Wi-Fi" .-> AP
|
||
PHONE2 -. "Wi-Fi" .-> AP
|
||
TABLET -. "Wi-Fi" .-> AP
|
||
```
|
||
|
||
## 2. Multiple RCBoxes on a Wired LAN
|
||
|
||
Several RCBoxes are joined by Ethernet and share data peer-to-peer across
|
||
the wired backbone. Each RCBox continues to serve its own Wi-Fi clients.
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
SWITCH["Ethernet Switch / Wired LAN"]
|
||
|
||
subgraph BOX1["RCBox #1"]
|
||
AP1["Wi-Fi AP"]
|
||
SVC1["Content / Msg / Chat"]
|
||
ETH1["Ethernet"]
|
||
AP1 --- SVC1
|
||
SVC1 --- ETH1
|
||
end
|
||
|
||
subgraph BOX2["RCBox #2"]
|
||
AP2["Wi-Fi AP"]
|
||
SVC2["Content / Msg / Chat"]
|
||
ETH2["Ethernet"]
|
||
AP2 --- SVC2
|
||
SVC2 --- ETH2
|
||
end
|
||
|
||
subgraph BOX3["RCBox #3"]
|
||
AP3["Wi-Fi AP"]
|
||
SVC3["Content / Msg / Chat"]
|
||
ETH3["Ethernet"]
|
||
AP3 --- SVC3
|
||
SVC3 --- ETH3
|
||
end
|
||
|
||
ETH1 --- SWITCH
|
||
ETH2 --- SWITCH
|
||
ETH3 --- SWITCH
|
||
|
||
C1["Laptop"] -. "Wi-Fi" .-> AP1
|
||
C2["Phone"] -. "Wi-Fi" .-> AP1
|
||
C3["Phone"] -. "Wi-Fi" .-> AP2
|
||
C4["Tablet"] -. "Wi-Fi" .-> AP2
|
||
C5["Laptop"] -. "Wi-Fi" .-> AP3
|
||
|
||
SVC1 <== "peer sync" ==> SVC2
|
||
SVC2 <== "peer sync" ==> SVC3
|
||
SVC1 <== "peer sync" ==> SVC3
|
||
```
|
||
|
||
## 3. RCBox with Wi-Fi HaLow Extended Range
|
||
|
||
An RCBox uplinks to a Wi-Fi HaLow hub router. Remote endpoints reach the
|
||
hub via HaLow bridges — one bridging a client device, another bridging a
|
||
second RCBox at distance.
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph BOX1["RCBox #1 (primary)"]
|
||
AP1["Wi-Fi AP (2.4/5 GHz)"]
|
||
SVC1["Content / Msg / Chat"]
|
||
AP1 --- SVC1
|
||
end
|
||
|
||
HUB["Wi-Fi HaLow Hub Router"]
|
||
|
||
BR1["HaLow Bridge A"]
|
||
BR2["HaLow Bridge B"]
|
||
|
||
CLIENT["Remote Client (Laptop)"]
|
||
|
||
subgraph BOX2["RCBox #2 (remote)"]
|
||
AP2["Wi-Fi AP"]
|
||
SVC2["Content / Msg / Chat"]
|
||
AP2 --- SVC2
|
||
end
|
||
|
||
LOCAL1["Phone"] -. "Wi-Fi" .-> AP1
|
||
LOCAL2["Laptop"] -. "Wi-Fi" .-> AP1
|
||
|
||
BOX1 <== "Ethernet / Wi-Fi" ==> HUB
|
||
HUB <-. "HaLow (long range)" .-> BR1
|
||
HUB <-. "HaLow (long range)" .-> BR2
|
||
|
||
BR1 --- CLIENT
|
||
BR2 === BOX2
|
||
|
||
LOCAL3["Phone"] -. "Wi-Fi" .-> AP2
|
||
|
||
SVC1 <== "peer sync over HaLow" ==> SVC2
|
||
```
|
||
|
||
## 4. Opportunistic Mobile Mesh
|
||
|
||
A stationary RCBox anchors a location. Mobile RCBoxes — one mounted in a
|
||
bus, another on a motorcycle — carry data as they move, syncing
|
||
opportunistically whenever they come within Wi-Fi range of the base or
|
||
each other (a store-and-forward "sneakernet over Wi-Fi").
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph BASE["Stationary RCBox (fixed location)"]
|
||
APB["Wi-Fi AP"]
|
||
SVCB["Content / Msg / Chat"]
|
||
STOREB[("Local Data Store")]
|
||
APB --- SVCB
|
||
SVCB --- STOREB
|
||
end
|
||
|
||
LC1["Local Phone"] -. "Wi-Fi" .-> APB
|
||
LC2["Local Laptop"] -. "Wi-Fi" .-> APB
|
||
|
||
subgraph BUS["Mobile RCBox — Bus"]
|
||
APBUS["Wi-Fi AP"]
|
||
SVCBUS["Content / Msg / Chat"]
|
||
STOREBUS[("Local Data Store")]
|
||
APBUS --- SVCBUS
|
||
SVCBUS --- STOREBUS
|
||
end
|
||
|
||
PBUS1["Passenger Phone"] -. "Wi-Fi" .-> APBUS
|
||
PBUS2["Passenger Phone"] -. "Wi-Fi" .-> APBUS
|
||
|
||
subgraph MOTO["Mobile RCBox — Motorcycle"]
|
||
APM["Wi-Fi AP"]
|
||
SVCM["Content / Msg / Chat"]
|
||
STOREM[("Local Data Store")]
|
||
APM --- SVCM
|
||
SVCM --- STOREM
|
||
end
|
||
|
||
RIDER["Rider Phone"] -. "Wi-Fi" .-> APM
|
||
|
||
SVCB <-. "sync when in range" .-> SVCBUS
|
||
SVCB <-. "sync when in range" .-> SVCM
|
||
SVCBUS <-. "sync when in range" .-> SVCM
|
||
```
|
||
|