Saturday, December 18, 2021

SSH Lag on RPi...

On a new install, there was a strange lag in SSH, where it would repeatedly freeze...

The solution appears to be to update /etc/ssh/sshd_config to set:

   ClientAliveInterval 60
   ClientAliveCountMax 10

and or in /etc/ssh/ssh_config:
   ServerAliveInterval 60
   ServerAliveCountMax 10

The server is the host that receives the connection...

These are taken from here...

Sunday, March 21, 2021

Pi4j Releases

Note that Pi4j v1.4 relies on Java 11, whcih will cause issues with older models of Raspberry Pis.

Therefore, mosly best to stick to v1.3, and disable the repo in /etc/apt/sources.list.d/pi4j.list

Pi4j v2.0 is next..

Saturday, March 20, 2021

VS Code and Raspberry Pi Zero WH

VS Code Remote Development is fantastic, but it doesn't support the Raspberry Pi Zero as the armv6l isn't supported.

However, this it is possible to mount /home/pi as a Samba share and amend files locally, which will perform similarly (for Python development anyway).

This is described here. Install Samba with:

sudo apt install -y samba

Then add the following to /etc/samba/smb.conf as follows:

[PiShare]
 comment=Pi Share
 path=/home/pi
 browseable=yes
 writeable=yes
 only guest=no
 create mask=0740
 directory mask=0750
 public=no

Note that the Samba configuration file can be checked with the testparm command.

Finally, set a password with sudo smbpasswd -a pi. This will create the Samba user pi.

This can be accessed from another computer on the network as \\hostname\share

Friday, February 05, 2021

Raspberry Pi Package Management

APT (Advanced Packaging Tool) is a set of tools that was developed for Debian Linux platform as an easy command line interface for the dpkg utility

apt update
apt upgrade
apt install python3
apt install ./pi4j-1.3.deb # install local package
apt show python3
apt remove python3
apt list # lists all available packages
apt list --installed # lists installed packages
apt list python3 # also shows if package is installed
apt search python3

# list all files contained in the package
dpkg -L python3

# find which package contains a file
dpkg -S /usr/bin/python3

Sunday, January 31, 2021

Configuring a Headless RPi

  • Install the OS Using the Raspberry Pi Imager.
  • Mount the SD card again in the Windows environment
  • To enable SSH, create an empty file named 'ssh' in the root of the SD card
  • To configure WiFi, create the wpa_supplicant.conf file in the root of the SD card
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=GB
    
    network={
            ssid="ssid"
            psk="psk"
    }
    
  • Boot the RPi with the card and run raspi-config to set hostname, interfaces etc.
  • Install Java with:
    sudo apt install default-jdk
      
    # or for older RPi mmodels
    sudo apt install openjdk-8-jdk liblog4j2-java wiringpi libmysql-java
    

Edit: turns out these can now be set up with the Raspberry Pi Imager v1.6, which is a lot easier...