Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Web-based graphical interface for Linux
Click on Admin
Unfortunately we do not have an SSL cert in place yet, please continue past the security warning
Login using the default 'first time boot' credentials
username: wlanpi
password: wlanpi
\
You will be prompted to change your password, you have to do this to proceed
The first time you login to Cockpit you will be in 'limited access mode' Look to the top-right corner of the WebUI interface Click on 'Turn on administrative access'
Now, please have a poke around, explore what functionality is exposed by Cockpit GUI
Most utilities / functions on the WLAN Pi can be updated through the built-in package management system. This is accessed via:
Cockpit > Software Updates
CLI > sudo wlanpi-update
Checking for updates requires an internet connection
System level updates will be made occasionally that may require re-imaging your microSD card.
If you choose to re-image your SD card with the latest release of WLAN Pi OS, this will come with the latest version of all the default packages.
Click time, I think you can figure out the rest ;)
The menu option at the bottom of the left side panel is 'Terminal'
Welcome to the WebUI for the WLAN Pi
Navigation to the link local address http://wlanpi-xxx.local
will bring you to the WLAN Pi landing page. Here you'll find several tabs, we'll reference these later on during the labs.
Lightweight speed test implemented in javascript that runs in a web browser
Works on all modern browsers including mobile
Not to be confused with Ookla Speedtest (we have that too, in CLI form)
If you were to perform a LibreSpeed test
What would you 'actually be measuring?
Displays 'profiled clients' results
WLAN Pi network information dashboard
Web based graphical interface for managing Linux
Direct link to the Cockpit Web Terminal
You will see your WLAN Pi:
Hostname
System version
Interact directly with WLAN Pi from a host device
Connect laptop to WLAN Pi OTG port (top)
Verify network is recognised by your laptop Look at laptop network interface
FPMS will display your WLAN Pi hostname and IP
Open up your browser of choice and navigate to
Alternatively you can use the link local IP address\
You should see this landing page
This169.254.42.1
IP address will be the same every time
This is a statically configured link local IP address
You can connect to your WLAN Pi via Wi-Fi
Another way to interact with your WLAN Pi is via Wi-Fi using 'Hotspot Mode'
Don't do this right now! We will cover this in an upcoming lab
Front Panel Menu System
This is a 'homegrown' name, it came from the development team
FPMS refers to the screen & the buttons
1.5 inch Color OLED display
Time
Internet status globe
Bluetooth status
Wireless interface status
Battery status
Operating Mode
Ethernet IP address
Link connection speed
Additional interface IP addresses
USB
Bluetooth
WLAN Pi hostname
You have 5x buttons at your disposal
We think of this array as 4x navigational buttons up, down, left right
Centre button is the 'enter action'
System > About
Battery
Date / Time
Summary
Reboot
Shutdown
Connect your WLAN Pi to the internet via the Ethernet port
Plug your WLAN Pi Pro into your LAN
This should bring the ethernet port up FPMS will confirm this by displaying the assigned IP address in white text Also see the negotiated link speed
Now that we have an internet connection we will run through the FPMS functions
Connect to your WLAN Pi from your mobile device
The WLAN Pi Pro has 2 built-in Bluetooth 5.2 radios, in this lab we will go through pairing a smart device to a WLAN Pi Pro to establish connectivity to it wirelessly.
Enable Bluetooth pairing mode on your WLAN Pi
Via FPMS:
Bluetooth > Pair Device
Your WLAN Pi will be discoverable for 30 seconds
Grab your smart device (iPhone/iPad, Android) We recommend using your mobile device for this lab rather than your laptop
Switch on Bluetooth and search for nearby Bluetooth devices
Be sure to select your WLAN Pi-xxx from the list of nearby Bluetooth devices
Be patient, your WLAN Pi may take 10-20 seconds to appear
If pairing is successful, FPMS will display a notification indicating the success
If unsuccessful, re-initiate the pairing process by selecting Pair-Device
from FPMS
Navigate back to the 'home screen'
You should see PAN: 169.254.43.1
displayed
This is your Bluetooth network interface IP address
Open your mobile browser and navigate to the WLAN Pi webUI
http://wlanpi-xxx.local
You should see the WLAN Pi WebUI landing page
If you were to perform a LibreSpeed test, right here and now
What would you 'actually' be measuring?
Once paired, you can easily disconnect and reconnect to your WLAN Pi by selecting it from the list of paired Bluetooth devices on your mobile device.
WLAN Pi / Linux terminal commands and a few concepts thrown in for good measure
Use the following shortcuts to quickly move the cursor around the current line while typing a command.
Ctrl+A
or Home
: Go to the beginning of the line
Ctrl+E
or End
: Go to the end of the line
Ctrl+ <-
: Go left (back) one word
Ctrl+ ->
: Go right (forward) one word
Ctrl+xx
: Move between the beginning of the line and the current position of the cursor. This allows you to press Ctrl+xx
to return to the start of the line, change something, and then press Ctrl+xx
to go back to your original cursor position.
To use this shortcut, hold the Ctrl key and tap the X key twice.
Use the command
to configure your Geographic Area / City
Check to see if this change is reflected in FPMS
System > Date / Time
Oh no, the change is not reflected in FPMS!!
You will need to restart the FMPS service to see this change reflected
Now check to see if the timezone information is correct!
Show me the version of Linux you are running
View a list of your previously executed commands with history
Re-execute a command from the history
Exclamation mark followed by the desired command list number
when you enter a command that requires sudo, but you forgot! No need to retype the command 'sudo bang bang' it.
you can complete commands and file paths by starting to type them out, then using the tab key to auto-complete
becomes
When there are multiple possibilities, double tapping the tab key will list all the possibilities
Try this to see all the wlanpi custom commands
Try wlanpi-stats
View all your interfaces and IP addresses
Change your password from the terminal
print working directory, ever feel lost as to where you are? use pwd
You can quickly:
Convert between channel number <--> centre frequency
List all Wi-Fi channels in a specific band
Give this utility a try
Some useful Linux commands if you want to go deeper.
SoC
Raspberry Pi Compute Module 4
Memory
8GB LPDDR4 RAM
Network
Gigabit-Ethernet RJ45 (802.3af PoE)
Wireless
Two (2) Wi-Fi 6E (2x2:2) modules Bluetooth 5.2
USB
USB 3.0 Type-A connector USB 3.0 Type-C connector USB 2.0(OTG) Type-C connector
Storage
Micro SD card slot (up to 128 GB)
Display
1.5" Color OLED
Other
Real-time clock with battery PoE power indicator led Fan controller Power button
Battery gauge LEDs
5 navigation buttons
Power Supply
DC 5V (via USB Type-C connector on top) PoE 802.3af (via RJ45 port) Battery rechargeable Li-on (3500mAh)
PoE
802.3af compliant 12W Max
USB Type-C (top)
5V input / 2A Max
Not compatible with Qualcomm QuickCharge (QC) chargers, could cause damage in some scenarios
PoE Indicator
Top
If illuminated, PoE is being delivered
Battery Level (4x)
Side
Battery charge level Charging state
Power LED
Side
Device is powered on
Status LED
Side
Heartbeat indicates system is up and initialized
On the front of the device your should hopefully find 5x navigational buttons
No further description is required, please raise your hand if confused!
3D models printed on Prusa i3 MK3S - Prusament PETG
There are a couple of labs that are made easier / more efficient if we make use of 'tmux'
What is tmux?
tmux is a terminal multiplexer that allows access to multiple terminal sessions from a single window referred to as a session. Think of it like a 'window manager' for the terminal.
a multiplexer is just 'multi-tasking with multiple applications simultaneously'
a session is where the applications are visible
a window is the desktop in the text realm containing its own screen
a pane is where the application is and where we perform the operations
Inside tmux we can:
multitask inside the terminal and run multiple applications
have multiple command lines (panes) in the same window
have multiple windows
switch between multiple workspaces, like virtual desktops but for text. How cool!
Thus, tmux allows us to split these terminals into panes which you can then move, resize, and switch between. We can also detach and reattach later from the same device, or even a different device!
Clear your terminal
Print a little text so we can easily identify this as our original terminal session
Launch tmux
Ok, that was the easy part. We should see a green bar at the bottom of the terminal. We're inside. We're in tmux.\
Print a little text so we can easily identify this as our tmux session
Great! to proceed, we need to interact with tmux, in order to this we need to get familiar with a new concept, the prefix key
. The prefix key
is how we can send commands specifically to tmux rather than the terminal in the pane.
The default tmux prefix is <Ctrl b>
While holding down the control
key, press b
. And then release both keys at the same time.
This feels weird the first time you do it, but you'll soon commit this to muscle memory.
But... Nothing happened
We did not follow our prefix with an instruction!\
Detach from tmux
- Press control
down and hold it.
- Press b
and hold it
- Release both keys at the same time
- Tap d
Ok! You've done it!
Hopefully you see your text 'This is my original terminal window'
You have successfully detached from the tmux session
Please note that tmux and your session are still running in the background
\
View a list of current tmux sessions
We can can 're-attach' the tmux session
Next challenge, we will horizontally split your terminal window
- Press control
down and hold it
- Press b
and hold it
- Release both keys at the same time
- Press shift
hold it down
- Press "
- Release both keys
Now your window has been split into 2x horizontal panes\
You can move between the panes
Your white insertion character should have jumped to the lower window Up / Down, arrow keys also work
You now have 2x terminal shells available to you, on the same screen
Hop back to the top panel
Set a ping going in the top panel
Hop back to the lower pane
View the interface IP addresses
That is enough excitement, time to halt the processes and quit tmux in the lower pane
This kills the pane, you are left with your single window, still running ping
Stop the ping
and
Confirm that there are now no tmux sessions running
(optional) panes:
(advanced) need to see some scrollback and scroll up in a pane?
(advanced) don't like the default ctrl+b leader key binding? you can rebind/remap it.
Add set -g prefix C-a
to your config.
wifichannel is a quick reference tool for Wi-Fi channel info lookup, created by .
Get to know your WLAN Pi Pro
There are numerous ways to interact with your WLAN Pi:
APIs (future)
We'll go through each of these.
Momentary press (1 sec) to power on
look for constant red light, this indicates power
look for the heartbeat LED, this means the OS has been initiated
Then the screen will come to life
The very first boot with a newly flashed SD card can take up to 60 seconds, be patient
The recommended way to do this is to issue the poweroff
command!
This can be done:
via the screen and buttons on the front (FPMS)
CLI command
Cockpit GUI
Or... Long press the power button (2 seconds)
This will force the device to power off without gracefully shutting down, which could result in data corruption
Ports that will charge the battery are indicated with a lightning bolt, there are 2 of them
PoE
802.3af compliant
Max 12W (1.5A)
Type-C Port (Top)
5V input, Max 1.5A
Do not use with Qualcomm QuickCharge (QC) power sources, these chargers have the ability to output greater than 5V which could damage components in certain scenarios.
For example, if the battery is completely flat when connected to a QC charger.
Bump power button
PoE Indicator
Top
If illuminated, PoE is being received
Battery Level (4x)
Side
Battery charge level Charging state
Power LED
Side
Device is powered on
Activity LED
Side
Operating system is initiated
Tailscale -
Follow the sign-up instructions
Follow the installation instructions from the Tailscale website
Whenever instructions reference 'a terminal window' we mean terminal from within Cockpit!
Bring up your terminal window
Install Tailscale on your WLAN Pi\
you will be prompted to enter your password\
Log in to start using Tailscale by running command:\
Copy and paste the authentication URL into a new browser window
Authorise again
You will get the message success
in your terminal window
The Tailscale client is now installed on both your laptop and your WLAN Pi! You should have local IP connectivity between your 2x devices via a Tailscale VPN tunnel.
Execute the following command in your terminal window\
This will reveal all the available Tailscale commands
View the devices currently connected to your Tailscale 'Node'\
From the list of connected devices, you will see the Tailscale IP address for each device
From your WLAN Pi try to ping your laptop 'Tailscale IP address'
Alternatively you can quickly 'access' (copy to clipboard) the device IP addresses using the Tailscale client for Windows / macOS
This may not instantly strike you as an incredible!!!... right now, as you sit at the same desk as the WLAN Pi. BUT now imagine your WLAN Pi is away from you, on a customer site perhaps, with very little effort you can enable communication with it as though it were local to you.
One potentially super useful feature of Tailscale is 'device' sharing, this will allow you to 'share' your WLAN Pi access via Tailscale with another Tailscale user.
On your laptop, navigate and login to Tailscale
Find your WLAN Pi
Share your WLAN Pi with your DeepDive neighbour
Once your neighbour has accepted the invitation, test that connectivity is possible
Finally, revoke your neighbour's access
If Tailscale is not doing it for you, we suggest giving ZeroTier a try (similar idea)