A configuration interface for wlan devices based on Ubuntu Snappy Core.
The configuration programm is https://github.com/abbgrade/snappy-wlan-config .
The Ubuntu Core device requires a wifi connection for some reason. Snappy WLAN enables the user to configure the connection without shell usage on the Ubuntu Core device.
The Ubuntu Core device has a working network connection and should provide it to other wifi devices. Snappy WLAN enables the user to configure the connection without shell usage on the Ubuntu Core device.
The Ubuntu Core device acts as wifi hotspot for other (smart / untrustworthy) devices. Snappy WLAN enables the user to observe and intervene into the network usage of the wifi clients.
- UC1 : Wifi Client
- UC2 : Wifi Hotspot
- UC3 : IoT-DMZ
The command snapcraft builds the snapp that can be deployed on your device using snappy or snappy-remote.
For more help see https://developer.ubuntu.com/en/snappy/ .
Since Ubuntu Core / Snapcraft has issues the first step is to have it working with Ubuntu Server.
Setup Ubuntu on the raspberry pi2 as explained in the Ubuntu Wiki. You don't need to install any desktop environment but may need to configure your keyboard layout with:
sudo dpkg-reconfigure keyboard-configuration
sudo locale-gen de_CH.UTF-8
sudo dpkg-reconfigure locales
Replace the default user ubuntu with:
sudo adduser newuser
sudo visudo
add to root ALL=(ALL:ALL) ALL the line newuser ALL=(ALL:ALL) ALL
relog with the newuser and delete the user ubuntu with:
sudo deluser --remove-home ubuntu
Update the system with:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git golang build-essential
git clone https://github.com/abbgrade/snappy-wlan.git
cd snappy-wlan
make test
sudo apt-get install wpasupplicant
Create a wlan config test_config.yaml
config:
wlan:
networks:
+ interface: wlan0
ssid: WLAN-NAME
psk: password
sudo SNAP_APP_DATA_PATH=$(pwd) ./bin/snappy-wlan-config -i="test_config.yaml"
Now you chan check the generated files:
cat /etc/network/interfaces.d/wlan0
cat wifi_client_wlan0.conf