finternet
An indestructible box of internet.
Materials
- balenaFin 1.1 (running balenaOS >= 2.44.0+rev1)
OPTIONAL (for mobile power):
- USB cable
- Jumper cables
- USB power bank
OPTIONAL (for GSM inputs):
- Quectel EG25-G
- Antenna (https://www.amazon.co.uk/Alda-PQ-Antenna-printed-circuit/dp/B06XWTPY7C/ref=sr_1_2?keywords=lte+ufl+antenna&qid=1575455827&refinements=p_76%3A419158031&rnid=419157031&rps=1&sr=8-2)
Mobile power setup
Configuration
The following inputs can be used:
- Ethernet
- Wifi (requires configuration)
- GSM (requires configuration)
The following outputs can be used to share internet:
- Wifi (configurable SSID/password)
- (TODO) Ethernet (requires second ethernet port to use ethernet input)
- (TODO) Bluetooth
- (TODO) USB
TODO:
- Ethernet output
- Bluetooth output
- USB output
- Serving NTP on the LAN
NOTES:
hotspot always on (on the slower interface of all available wireless interfaces)
connect to network and captive portal (only if no wifi connection at all?)
finternet.local (perhaps reusing balena-mdns-publisher)
simple express server for config (with link states)
-
output config
wifi:
SSID PSK
-
input config
wifi:
SSID PSK
gsm:
APN
ethernet:
static IP
add data, press reconfigure, handles connection
multiple inputs handled with routing metrics for fallback
Data flow
configurator (web UI) -> actor
- new configuration to store and apply
actor -> configurator
- currently applied config
- stored config
- available interfaces
- available networks