P2P Hotspot is a low-energy device that creates an access-point serving p2p applications, bridges and content. Software and content are automatically updated while online.
A team can easily monitor and give direct support to all devices (with granted consent) while online.
We'll need Internet connection for downloading latest software and content. But after initial setup, device can exist and be updated offline.
Needed hardware:
- Computer: Raspberry Pi 3 or 4
- Storage: class 10 micro sd with min 16Gb or SSD connected thru usb
- (if using SSD && acess-point) Wifi Dongle: a Wifi dongle compatible with the device
- Internet connection through ethernet cable
Setup
- Click "Deploy with Balena" button
- Create free Balena account
- Set community environmental variables (wifi acess point name, wifi password, device name on network, community name, anguage, content repository address, map-tiles links)
- Download project image
- Burn image to micro sd or usb SSD
- Plug storage into device
- Plug device to power supply
- Connect to the Internet thru an Ethernet cable
- Check Balena dashboard if device is online
- Wait for device to update it's software on Balena dashboard
- Set environment variables (or use defaults)
Env var | Description | Default |
---|---|---|
AP_SSID | Access point network name. | WiFi Repeater |
AP_PASSWORD | Access point network password. | none |
WIFI_SSID | WiFi network name | |
WIFI_PASSWORD | WiFi network password | |
PUB_NAME | The SSB's pub name | P2P Hotspot |
ROOM | Room address where the pub will connnect | room.coolab.org:8008~shs:foHx1HuvaN++iCrQS+Zi916V6iNYEOtj9ZOAo+a0E+Q= |
PUB | Pub address where the pub will connect | pub.freesocial.co:8008~shs:ofYKOy2p9wsaxV73GqgOyh6C6nRGFM5FyciQyxwBd6A= |
- On a phone or computer search for WiFi access point and connect
- Captive-portal with portal should pop-up, if not go to 10.42.0.1:8081
- Follow guides and install tools on user devices
Uses wifi-repeater
Device will automatically scan your network and check each device's capabilities. It will then attempt to configure the devices to work in Access Point
mode and if that is not possible it will switch to Repeater
mode. You do not need to pre configure the device to work in either mode.
For Access Point
mode it needs:
- Internet connectivity via Ethernet
- Wireless device with AP capabilities (such as the onboard WiFi chip in Raspberry Pi devices)
For Repeater
mode it needs:
- Wireless device with AP capabilities (such as the onboard WiFi chip in Raspberry Pi devices)
- Secondary wireless device and valid credentials for a wireless network.
In case you have no access to an ethernet cable connecting to the routing device, WiFi connection can be set directly inside the SD card by following this guide.
In case something goes wrong WiFi repeater will produce a series of blinking patterns with the ACT LED (next to PWR LED) to help troubleshoot the issue. Valid patterns are the following:
LED pattern | Problem | Description | Solution (AP mode) | Solution (Repeater mode) |
---|---|---|---|---|
2 blinks | Could not find a wireless device with Access Point capabilities | Wireless devices detected don't support Access Point mode. | Use a WiFi chipset that supports AP mode or a WiFi dongle. | Use a WiFi chipset that supports AP mode or a WiFi dongle. |
3 blinks | Could not find a secondary wireless device | Ethernet is disconnected or has no internet access. Switched to repeater mode but could not find a secondary wireless device. | Provide internet access via Ethernet cable. | Provide a secondary wireless device by using a WiFi dongle. |
4 blinks | WiFi credentials for secondary wireless device not provided. | Ethernet is disconnected or has no internet access. Switched to repeater mode but could not find WiFi credentials. | Provide internet access via Ethernet cable. | Provide valid WiFi credentials |
5 blinks | No internet access | Ethernet is disconnected or has no internet access. Switched to repeater mode, connected to WiFi but still have no internet access. | Provide internet access via Ethernet cable. | Ensure the target WiFi has internet access. |
Meant to run on Balena, which enables easily composing service blocks on a performant container-based operating system. Advantages:
- Balena Hub has a growing number of out-of-the-box apps
- Balena Cloud is free as long as project is published and used from Balena Hub
- simple migration from existing docker/docker-compose stack
- lightweight container-based operating system
- support for various types of single-board-computers and architectures
- over-the-air-updates
- small self-updating images
- per-device release pinning
- bulk monitoring of all devices and their services
- remote access to all devices and services via web terminal
- ssh tunnel and remote support
- Wifi: creates a WiFi Access-Point with a Captive-portal redirecting user to portal application
- Portal: application which onboards new users and links to content and services
- SSB-Pub: Secure Scuttlebut's distributed database that connects automatically to a room and pub outside the local network (on the Internet)
- Distributed File System: automatically updates content if online through p2p sync using IPFS
- Support more simultaneous users and extend wifi range with a router
- Extend router's wifi range by setting up a mesh network with your neighbors
- Make it work offline
- Portal work on port 80
- Check for portal and installer updates before attempting to download them
- Have Internet block work
- Optionally password protect Internet access
- Add p2p installer and browser applications (Dat Installer and Agregore Browser for example)
- Run an F-Droid repository
- Add service that scrapes latest apks and installers and serves them as F-droid and Dat-Installer repositories
- Have the pub publish an about photo
- Integrate Peach Cloud
- Create an ARM32 version (NodeJS ssb pub)
- Add dnsmasq to WiFi and configure proxy for custom domains