Today I went back to the RPi 0 W branch of my scripts, since lately I've been messing with the RPi 0 2 lately instead. But I've been making way more progress with Raspberry Pi 0 W, since (at this time) P4wnP1 image file doesn't exist for Raspbbery Pi Zero 2.
Return to Pi Zero W
In returning to the RPi 0 scripts, I added the Dashboard display script into crontab. This way it launches on boot - at the end of the wifi-connect series of scripts.
Adding the wifi-dash script to crontab was easy, except I forgot to fix the relative file references.
WiFi Error Cases
No, at this point, the error cases haven't been all added in (or even mostly). But I plan to get to that eventually.
For now, here's the flow:
wifi-splash-launch.py && #Show splash screen
wifi-scan.py wlan0 && #Scan for WiFi
wifi-askreconnect.py && #Ask to reconnect
wifi-disp.py && #Display WiFi networks
wifi-pw-skiptest.py && #Display PW input screen
wifi-chek.py && #Check connection
wifi-asksave.py #Ask to save network
wifi-disp-adv-fontsize.py #Show main Dashboard
The "wifi-disp-adv-fontsize" filename was a temporary filename as a branch of the "wifi-disp" file. I added dynamic font sizing to it at some point. It was for this reason that I chose to use it as the basis for the Dashboard display file:
- It already functioned as a working "select WiFi network" screen
- I added "dynamic" font sizing / selection box sizing already
So, for now, think "wifi-dash" when you read "wifi-disp-adv-fontsize.py". I'll change the filename.. eventually.
Parts of WiFi-Dash
Here's the plan for how I'd currently like the wifi-dash screen to work.
- All areas / icons below will be clickable
- Each icon in the Top menu bar has at least 1 secondary icon (ON / OFF / 1 Host Connected for example)
- Main menu goes to BeBoxGUI
From the top left corner of the screen (wifi-disp-adv-fontsize.py):
- Top menu bar: Shows status icons, time / date. Think system tray. Current icons (in parentheses below) include:
- WiFi Signal strength (bars): shows WiFi link quality (%0 to %100) using 5 bars.
- Internet connection (globe): tells whether or not the device can ping google.com
- Privacy (eye): shows if traffic is currently routed through Tor network or not (torghost)
- Bluetooth (bt): relay info on Bluetooth connection
- VNC (tv): shows if NoVNC is turned On / Off, whether or not anyone's connected
- Server (server): shows if some server is turned ON (spiderfoot, phoneinfoga, helloworld)
- Left vertical bar: This could have scroll-related indicators (triangle pointing down for "more items" indicator)
- Progress / status / monitor bars? Such as CPU / ram bars - or a background task progress
- Main display area: Anything. Right now it loads 4 lines from a text file (mnu-main.txt)
- Bottom status bar: This is a roughly 20px-tall "white" bar at the bottom. Could show anything. Now it says "Status: Gro0vy" 😉
- KEY 1,2,3 Button indicators: These are intended to show what will happen when you press KEY 1, 2, or 3.
- Notification icon: I managed to squeezed this font-awesome envelope icon in for messages / notifications.
- Battery icon: Last but not least, the battery icon could display output of a PiSugar / UPS Lite pwnagotchi-style plugin.