That is a serious issue, indeed, that I faced a few years back with a Raspberry Pi 3 and Raspbian Jessie.
I have read that GoPiGo OS 3.0.1 cannot be configured for local router access over a USB WiFi dongle, so my suggestion is to use Raspbian For Robots pre-configured with your network specifics and ssh.
The official instructions are here
The “official” image is here
This is how I do the setup “headless” - preconfiguring my router SSID/password and ssh remote access, (so I do not need to attach a keyboard, display, mouse, and ethernet cable):
GoPiGo3 Setup (Public Version)
*** Download Raspbian For Robots (2020_10_17 version is no longer available)
https://sourceforge.net/projects/dexter-raspbian-for-robots/files/2019_12_12_Raspbian_For_Robots_Buster_experimental_by_Dexter_Industries.zip/download
*** Current Instructions
https://www.dexterindustries.com/howto/install-raspbian-for-robots-image-on-an-sd-card/
*** Flash SD card with Raspberry Pi Imager / Etcher
Select the Raspian For Robots zip file
Select the 16GB SD Card
Flash
=== Mount the card to allow headless configuration
- Pull card out, reinsert for next steps
=== Enable SSH
- create a file called "ssh" (or ssh.txt) in the Boot partition
(touch /boot/ssh)
=== Setup WiFi Headless
- create the file /boot/wpa_supplicant.conf
(quote chars must be straight up/down, traditional, not slanted/matched Unicode chars
use ssid="XXXX"
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="XXXX"
psk="XXXX"
key_mgmt=WPA-PSK
}
=== disable ipv6
Browse the disk (boot)
Rt Click on System Volume Information->Open Terminal Here
cd ..
cp /boot/cmdline.txt /boot/cmdline.txt.bak
nano cmdline.txt
add to end of line/file:
ipv6.disable=1
save, exit editor
- eject disk
==== Raspbian First Boot
-insert micro SD card
-power on
- on mac: arp -a to check IP
=== First Login
ssh pi@10.0.0.XX
The default login for Raspbian For Robots is username pi with the password robots1234
=== is see SSH HOST KEY verification failed
on mac: ssh-keygen -R 10.0.0.XX
Login: username: pi password: robots1234
=== Configure for locale, timezone, and expand filesystem to fill card
$ sudo raspi-config
(You can exit menus by using Tab key, move to Finish, enter key)
change password to XXXXX
Network Options: change hostname to XXXX
change Localisation:Locale -> remove en_GB, add en_US.UTF8
default local: en_US.UTF-8
change Localisation:Timezone-> US->Eastern
change Localisation:WiFi Country->US
Interfacing:PiCamera enable
reboot now yes
=== LOG IN Again
pi:XXXXXX
=== Change TightVNC password ====
at a terminal:
vncpasswd
<new password>
<new password>
n (do not set up a view only "no password" login)
=== update now
sudo apt-get update
sudo apt-get full-upgrade
==== Check TEMPERATURE
To view the Pi's temperature
vcgencmd measure_temp
It's generally a good idea to keep the core temperature below 70 degrees
=== info about processor, memory, disk partitions ===
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/partitions
cat /proc/version
Stretch kernal: Linux version 4.9.41-v7+
free -h displays memory usage
total used free shared buff/cache available
Mem: 875M 69M 540M 11M 266M 745M
Swap: 99M 0B 99M
=== check memory usage program
htop
q to exit
Record the ipV4 addresses:
wired:
wifi:
GoPiGo3 : 10.0.0.XXX
=====GETTING WIFI NETWORK DETAILS
To scan for WiFi networks, use the command
iwlist scan | less
=== check time zone
$ date to check if correct time
========= SSH from mac to Pi =====
(SSH enabled in raspi-config)
ssh -l pi 10.0.0.xxx (wireless)
or
ssh pi@10.0.0.xxx
password: robots1234 (changed to XXXX)
===== rebooting ====
sudo shutdown -r now (or sudo reboot)
(if doesn’t come back up try
sudo shutdown -t9 -r now
or (sync;sync;sudo reboot -d -f -i)
==== check disk file systems =====
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 4.2G 9.9G 30% /
devtmpfs 434M 0 434M 0% /dev
tmpfs 438M 0 438M 0% /dev/shm
tmpfs 438M 12M 427M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 438M 0 438M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 21M 21M 51% /boot
tmpfs 88M 0 88M 0% /run/user/1000
==== disk space of a directory:
$ du -hD
=== install disk monitor tool
sudo apt-get install dstat
dstat -cd --disk-util --disk-tps
sudo apt-get install iotop
sudo iotop -o
?? === install atop (may waste CPU cycles if not needed )
sudo apt-get install atop
atop 5 (every 5 seconds)
sudo apt-get install iostat ?? may be already installed ??
sudo iostat -d 5
glances --enable-process-extended
===== update and upgrade ===
$ sudo apt-get update
or
sudo apt-get sudo apt-get -o Acquire::ForceIPv4=true upgrade
$ sudo apt-get upgrade
===== Fix pip ?
$sudo pip install --upgrade requests
===== test internet speed ====
$ sudo pip install speedtest-cli
$ speedtest
Speedtest Result
2018Aug22: 81.1 Mbps Download, 10.5Mbps Up 36ms ping
2016Apr29: 29.5 Mbps Download, 11.0Mbps Up 38ms ping
2015Jan25: 19.3 Mbps Download, 5.5 Mbps Up 40ms ping
===== describe hardware =====
sudo apt-get install lshw
sudo lshw
=== check memory ===
sudo lshw
...
*-memory
description: System memory
physical id: 4
size: 862MiB
or
$ free -h
total used free shared buffers cached
Mem: 862M 232M 630M 5.9M 14M 177M
Swap: 99M 0B 99M
====== Testing Disk speed =====
sudo hdparm -t /dev/mmcblk0 (sudo apt-get install hdparm)
reports
Pi3: 62 MB in 3.06s = 20.27 MB/sec
pi B+: 54 MB in 3s = 17.7 MB/s
======= check OS version ======
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
==== check Pi firmware version
vcgencmd version
uname -a
==== SHUTTING DOWN Pi ======
sudo poweroff ( or shutdown -h now )
Safe to remove power when green light blinks a bunch (12 times) and then stops blinking
=== Update GoPiGo3 software to latest:
curl -kL dexterindustries.com/update_gopigo3 | bash
=== Update DI Sensors
curl -kL dexterindustries.com/update_sensors | bash
=== Test audio
aplay /usr/share/sounds/alsa/*
if no audio:
amixer to see what is current setting: (0=auto, 1=analog, 2=HDMI)
sudo amixer cset numid=3 1 (set to output sound to 3.5mm jack
try again:
aplay /usr/share/sounds/alsa/*
========== If audio output is too soft =======
if soft: alsamixer
s (select card)
downarrow to “0 bcm2835 ALSA”
8 (4=default loudness, 8=100%, 9=125%)
Escape (press Esc)
then make setting default:
sudo alsactl store 0
==== espeak is already installed in Raspbian for Robots
=== Configure Desktop to play .wav files
connect via remote desktop
right click Text.wav icon --> Open With ...
Select Custom Command Line tab
enter Command line to execute: aplay
enter Application name: aplay
check Set selected application as default action for this file type
Click OK
With speaker on, double click Text.wav to hear "Hello from your bot"
====== Raspian4Robots WiFi Indicator ====
When in Raspbian or Raspbian for Robots, once the GoPiGo3 is connected to a WiFi access point, the antenna LED will be a pale yellow, very different from the green and blue for DexterOS.
This gives the user a nice feedback that the robot is connected to Wifi and removes the guessing game.
This means a new service is installed: antenna_wifi.service which runs every 10 seconds, for less than 0.2 sec on average. A user can always choose to disable this service with the standard
sudo systemctl disable antenna_wifi.service
=== exiftool to view EXIF data on jpg files ===
sudo apt-get install exiftool