Skip to content

balena-io-experimental/finternet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

finternet

An indestructible box of internet.

Materials

  1. balenaFin 1.1 (running balenaOS >= 2.44.0+rev1)

OPTIONAL (for mobile power):

  1. USB cable
  2. Jumper cables
  3. USB power bank

OPTIONAL (for GSM inputs):

  1. Quectel EG25-G
  2. 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

battery-powered-fin

Configuration

The following inputs can be used:

  1. Ethernet
  2. Wifi (requires configuration)
  3. GSM (requires configuration)

The following outputs can be used to share internet:

  1. Wifi (configurable SSID/password)
  2. (TODO) Ethernet (requires second ethernet port to use ethernet input)
  3. (TODO) Bluetooth
  4. (TODO) USB

TODO:

  1. Ethernet output
  2. Bluetooth output
  3. USB output
  4. 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)

  1. output config

    wifi:

     SSID
    
     PSK
    
  2. 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