User Tools

Site Tools


doc:appunti:android:desktop_replace_rpi

Un Raspberry Pi al posto del notebook

Abilitare SSH

Per abilitare l'accesso via SSH senza poter utilizzare monitor o tastiera del Raspberry Pi è sufficiente creare un file di nome ssh nella partizione boot della microSD (ovviamente estraendola dal Raspberry e montandola in un PC).

Al reboot successivo il servizio ssh verrà attivato in modo permanente e il file /boot/ssh rimosso.

Abilitare l'utente pi in Bullseye

ATTENZIONE: Fino alla versione RaspiOS basata su Debian 10 Buster l'utente root ha la password bloccata e comunque sshd impedisce l'accesso a root con password (PermitRootLogin prohibit-password). L'utente pi invece ha password predefinita raspberry e può diventare superutente con sudo.

Dalla versione RaspiOS basata su Debian 11 Bullseye anche l'utente pi ha la password bloccata, quindi non è possibile fare accesso via ssh con password. Per attivare l'utente pi con una propria password è necessario creare un file /boot/userconf con questo contenuto:

pi:$6$hM909zCtb36kTuHt$yJjk4...

dove la stringa che segue i due punti è l'hash SHA256 della password, ottenibile con il comando:

echo raspberry | openssl passwd -6 -stdin

Vedere la manpage openssl-passwd(1SSL) per le opzioni di openssh.

Abilitare il WiFi

Per attivare l'interfaccia WiFi senza accedere in maniera interattiva all'installazione del Raspberry Pi è sufficiente creare un file di nome wpa_supplicant.conf nella partizione boot della microSD. Il contenuto deve essere qualcosa del genere (è possibile specificare più di una sezione network per più reti WiFi):

country=IT
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="NETWORK-NAME"
    psk="NETWORK-PASSWORD"
}

raspi-config

ATTENZIONE! Se non si ha una tastiera collegata al Raspberry Pi l'esecuzione di raspi-configLocalisation OptionsChange Keyboard Layout non funziona. Inutile installare e configurare console-data come suggerito da questo post. In pratica se non esiste una tastiera fisica collegata all'host il comando dpkg-reconfigure keyboard-configuration termina senza generare output. Non è un problema dovuto alla sessione ssh come suggerito da questo post: Keyboard configuration doesn't work via SSH?.

Per far funzionare correttamente raspi-config conviene eseguirlo da utente pi con il comando sudo raspi-config; se si effettua il login direttamente come root oppure se si diventa root da qualche altro utente ci potrebbero essere dei problemi di funzionamento.

Per configurare la tastiera si sceglie da raspi-config la voce Localisation OptionsChange Keyboard Layout. Oppure da riga di comando si esegue

dpkg-reconfigure keyboard-configuration

Nella versione RaspiOS 2020-05-27 a volte non funziona (non si avvia) l'interfaccia testuale di configurazione. Provare ad eseguire nell'interfaccia grafica il programma PreferencesKeyboard and MouseKeyboardKeyboard Layout…

Il file che viene creato è /etc/default/keyboard, questo un esempio per una tastiera italiana e il tasto LeftLogo associato alla funzione compose:

XKBMODEL="pc105"
XKBLAYOUT="it"
XKBVARIANT=""
XKBOPTIONS="compose:lwin"
BACKSPACE="guess"

Abilitare VNC

Per attivare il VNC Server sul Raspberry Pi si esegue in una shell raspi-config quindi Interfacing OptionsVNC.

Su un PC remoto su lancia il comando vncviewer, ma si ottiene l'errore:

 CConnection: Using RFB protocol version 3.8
 CConnection: No matching security types

Questo perché il viewer (client) non supporta la crittografia del VNC Server in esecuzione sul Raspberry Pi. È necessario disabilitare la crittografia, ma possibilmente impostare una password di accesso. Per ottenere questo risultato si deve creare un file /root/.vnc/config.d/vncserver-x11 che contenga:

Authentication=VncAuth
Encryption=AlwaysOff
Password=????????

quindi il campo password (che conterrà un hash della password stessa) deve essere aggiornato eseguendo il comando:

vncpasswd -service

In alternativa a vncpasswd è possibile eseguire il programma VNC Server in modalità grafica (cliccando sull'icona nella pannello) e poi cliccare sul link AuthenticationChange password.

Tastiera Bluetooth

Abbiamo provato una tastiera Bluetooth Perixx Periboard 804II.

Vantaggi

  • Compatta (300 x 150 x 15 mm) e leggera (273 grammi).
  • Batteria integrata ricaricabile con porta micro USB.
  • Non richiede dongle USB perché utilizza il Bluetooth integrato del Raspberry Pi 3.

Svantaggi

  • A volte è necessario premere ripetutamente un tasto per uscire dallo sleep mode.
  • La meccanica dei tasti è solo discreta.

Per connetterla la prima volta al Raspberry Pi è necessario accenderla e premere il pulsantino connect sul retro, la tastiera si mette in modalità pairing ed il led Bluetooth inizia a lampeggiare. Quindi sul Raspberry, da riga di comando, si esegue una shell bluetoothctl. Quella che segue è la sessione per il paring e il connect. Quando viene mostrato il PIN, questo va digitato sulla tastiera seguito dal tasto Enter:

# bluetoothctl
Agent registered
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:76:B3:62 Discovering: yes
[NEW] Device 41:39:4E:4D:D2:64 41-39-4E-4D-D2-64
[NEW] Device CC:C5:0A:0E:0B:EB CC-C5-0A-0E-0B-EB
[CHG] Device CC:C5:0A:0E:0B:EB LegacyPairing: no
[CHG] Device CC:C5:0A:0E:0B:EB Name: Bluetooth Keyboard
[CHG] Device CC:C5:0A:0E:0B:EB Alias: Bluetooth Keyboard
[CHG] Device CC:C5:0A:0E:0B:EB LegacyPairing: yes
[bluetooth]# pair CC:C5:0A:0E:0B:EB
Attempting to pair with CC:C5:0A:0E:0B:EB
[CHG] Device CC:C5:0A:0E:0B:EB Connected: yes
[agent] PIN code: 493972
[CHG] Device CC:C5:0A:0E:0B:EB Modalias: usb:v04E8pA02Ad0001
[CHG] Device CC:C5:0A:0E:0B:EB UUIDs: 00001000-0000-1000-8000-00805f9b34fb
[CHG] Device CC:C5:0A:0E:0B:EB UUIDs: 00001124-0000-1000-8000-00805f9b34fb
[CHG] Device CC:C5:0A:0E:0B:EB UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device CC:C5:0A:0E:0B:EB ServicesResolved: yes
[CHG] Device CC:C5:0A:0E:0B:EB Paired: yes
Pairing successful
[CHG] Device CC:C5:0A:0E:0B:EB ServicesResolved: no
[CHG] Device CC:C5:0A:0E:0B:EB Connected: no
[bluetooth]# connect CC:C5:0A:0E:0B:EB
Attempting to connect to CC:C5:0A:0E:0B:EB
[CHG] Device CC:C5:0A:0E:0B:EB Connected: yes
Connection successful
[CHG] Device CC:C5:0A:0E:0B:EB ServicesResolved: yes
[Bluetooth Keyboard]# trust CC:C5:0A:0E:0B:EB
[CHG] Device CC:C5:0A:0E:0B:EB Trusted: yes
Changing CC:C5:0A:0E:0B:EB trust succeeded

Avendo attivato il trust la tastiera verrà collegata automaticamente ad ogni riavvio, è sufficiente che sia accesa.

FIXME Cosa accade se usiamo la tastiera accoppiata con un altro dispositivo? Sarà necessario fare di nuovo il paring?

Tastiera Wireless

Abbiamo provato una tastiera wireless K810 (commercializzata su Amazon con il marchio WisFox oppure TedGem) abbinata ad un dongle USB che gestisce contemporaneamente un mouse wireless.

Vantaggi

  • Qualità costruttiva elevata, ottimo feedback dei tasti.
  • Un solo dongle USB per mouse e tastiera.
  • Estremamente compatta (288x125x20 mm).
  • Nessuna necessità di effettuare il pairing.

Svantaggi

  • Peso leggermente più elevato (356 grammi con le batterie) a causa delle parti in metallo. Il muose combinato pesa altri 70 grammi (sempre con batteria).
  • Batterie non ricaricabili.

Web References

doc/appunti/android/desktop_replace_rpi.txt · Last modified: 2022/07/18 12:45 by niccolo