Use a Raspberry Pi with multiple WiFi networks

Mike Street
2 min readJan 30, 2017

--

I have recently been carrying my Raspberry Pi back and forth between my home and my local hack space — BuildBrighton.

Both places have WiFi and with a Raspberry Pi A+ missing an ethernet port, you need to ensure you can access the Pio to do any sort of development (and I can’t always guarantee a HDMI compatible display will be available).

It’s fairly easy and isn’t restricted to just two — you can add as many WiFi networks as you wish. All you need to know is the SSID and password.

With access to the Pi, edit the following file with sudo access:

$ sudo nano /etc/network/interfaces

It should look something like this:

auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface location1 inet dhcp
iface location2 inet dhcp

If your internet is working, there is no need to tweak too much. The most important lines are

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface location1 inet dhcp
iface location2 inet dhcp

If your WiFi credentials are in the this file, save them somewhere and delete them, replacing with the above.

For every location, add the iface line with a unique identifier in the example above i've used location1 and location2. This can be anything (keep it lowercase and one word for consistency).

Now edit the wpa_supplicant.conf file - make sure you have your WiFi details to hand for this bit!

Edit the file:

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

It should already have the first couple of lines, but then after add a network array for each location

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI SSID"
psk="WIFI PASSWORD"
id_str="location1"
}
network={
ssid="WIFI SSID"
psk="WIFI PASSWORD"
id_str="location2"
}

Replace the WIFI PASSWORD and WIFI PASSWORD with the correct credentials (leaving the " in place).

The id_str needs to match exactly the keyword you used in the interfaces file.

Save the file and reboot the Pi. You should now be connected to your current network and when you head to your second location, it should connect there as well.

Originally published at www.mikestreety.co.uk.

--

--

Mike Street
Mike Street

Written by Mike Street

CTO and Director of @liquidlightuk, cyclist, geek and amateur phone photographer. Holds extreme views on trivial things