Configurare Raspberry Pi: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
Pagină nouă: ==Utilizatori== <> <>
 
Fără descriere a modificării
 
(Nu s-au afișat 48 de versiuni intermediare efectuate de același utilizator)
Linia 1: Linia 1:
==Setup inițial Raspberry Pi==
===Imagine===
Descarci de aici [https://www.raspberrypi.org/downloads/raspberry-pi-os/ https://www.raspberrypi.org/downloads/raspberry-pi-os/]
===Activarea SSH===
Crează un fișier numit <syntaxhighlight lang="shell" inline>ssh</syntaxhighlight> în partiția <syntaxhighlight lang="shell" inline>boot</syntaxhighlight>.
===Prima conexiune===
La noile versiuni de raspberry pi și la sistemele de operare mai recente, conexiunea wireless este blocată implicit.
Cel mai simplu pentru activare este să te conectezi pe un cablu.
Dai apoi comanda <code>ping raspberrypi.local</code>
<syntaxhighlight lang="shell">
$ ping raspberrypi.local
PING raspberrypi.local (192.168.1.23): 56 data bytes
64 bytes from 192.168.1.23: icmp_seq=0 ttl=64 time=2.594 ms
64 bytes from 192.168.1.23: icmp_seq=1 ttl=64 time=2.378 ms
64 bytes from 192.168.1.23: icmp_seq=2 ttl=64 time=3.482 ms
</syntaxhighlight>
User și parola inițială sunt <code>pi</code> cu <code>raspberry</code>
'''Atenție !!''' Pe windows trebuie să dați comanda:
<syntaxhighlight lang="shell">
$ ping -4 raspberrypi.local
</syntaxhighlight>
Altfel o să vi se răspundă cu MAC address în loc de IP !!
După prima conectare, ești informat că
<syntaxhighlight lang="shell">
Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.
</syntaxhighlight>
Pentru investigare:
<syntaxhighlight lang="shell">
$ sudo rfkill list all
sudo: unable to resolve host YO3ITIRPI: Name or service not known
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
</syntaxhighlight>
pentru deblocare:
<syntaxhighlight lang="shell">
$ sudo rfkill unblock 0
$ sudo rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
</syntaxhighlight>
<syntaxhighlight lang="shell">
pi@YO3ITIRPI:~ $ sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.23  netmask 255.255.255.0  broadcast 192.168.1.255
        ...
        RX packets 823  bytes 119353 (116.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 617  bytes 77385 (75.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.18  netmask 255.255.255.0  broadcast 192.168.1.255
        ...
        RX packets 172  bytes 58218 (56.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 4381 (4.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
</syntaxhighlight>
Acum merge wireless-ul. :)
===Asigurarea accesului prin WiFi===
editează <code>/etc/wpa_supplicant/wpa_supplicant.conf</code> și adaugă următoarele informații:
<syntaxhighlight lang="shell">
country=RO
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="<SSID-nume de access>"
    psk="<parola(psk)>"
}
</syntaxhighlight>
==Permisiuni scriere==
În cazul în care se utilizează o imagine RPi/ OPi ''read-only'', este necesară ''montarea'' sistemului în configurație ''read-write''. Se poate face prin comanda:
<syntaxhighlight lang="shell">
sudo mount -o remount, rw /
</syntaxhighlight>
Se poate crea un alias în fișierul <syntaxhighlight lang="shell" inline>.bash_aliases</syntaxhighlight> al utilizatorului local, după completarea pasului de mai jos (creare utilizator), astfel:
<syntaxhighlight lang="shell">
alias rw="sudo mount -o remount, rw /"
</syntaxhighlight>
Unde <syntaxhighlight lang="shell" inline>rw</syntaxhighlight> este comanda echivalentă <syntaxhighlight lang="shell" inline>sudo mount -o remount, rw /</syntaxhighlight>
==Utilizatori==
==Utilizatori==
<>
===Creare utilizator===
<>
<syntaxhighlight lang="shell">
pi@raspberrypi:~ $ sudo adduser tom
Adding user `tom' ...
Adding new group `tom' (1001) ...
Adding new user `tom' (1001) with group `tom' ...
Creating home directory `/home/tom' ...
Copying files from `/etc/skel' ...
New password: <parola>
Retype new password: <parola din nou>
passwd: password updated successfully
Changing the user information for tom
Enter the new value, or press ENTER for the default
Full Name []: Miron Iancu
Room Number []: home
Work Phone []: +40758xxxxxx
Home Phone []: +40758xxxxxx
Other []: none
Is the information correct? [Y/n] Y
</syntaxhighlight>
 
===Adăugare utilizator în sudoers===
<syntaxhighlight lang="shell">
pi@raspberrypi:~ $ sudo adduser tom sudo
Adding user `tom' to group `sudo' ...
Adding user tom to group sudo
Done.
</syntaxhighlight>
 
<syntaxhighlight lang="shell">
pi@raspberrypi:~ $ sudo nano /etc/sudoers
# Allow members of group sudo to execute any command
%sudo  ALL=(ALL:ALL) ALL
</syntaxhighlight>
 
===Configurare audio===
Atenție ! Înainte de orice, verificați dacă user-ul sub care rulați svxlink este în grupul audio.
Creează un fișier de configurare audio (dacă nu există deja) <code>/etc/asound.conf</code> și adaugă:
<syntaxhighlight lang="shell">
pcm.!default {
        type plug
        slave {
                pcm "plughw:1,0"
        }
}
 
ctl.!default {
        type hw
        card 1
}
</syntaxhighlight>
 
E foarte important, fără asta dă erori:
<syntaxhighlight lang="shell">
Starting logic: SimplexLogic
Loading RX: RxLocal
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
*** ERROR: Open capture audio device failed: No such file or directory
*** ERROR: Could not open audio device for receiver "RxLocal"
*** ERROR: Could not initialize RX "RxLocal"
*** ERROR: Could not initialize Logic object "SimplexLogic". Skipping...
</syntaxhighlight>
 
Se testează cu următoarele comenzi <syntaxhighlight lang="shell" inline>aplay -l</syntaxhighlight> și <syntaxhighlight lang="shell" inline>arecord -l</syntaxhighlight>:
<syntaxhighlight lang="shell">
tom@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
</syntaxhighlight>
 
și pentru intrarea audio:
 
<syntaxhighlight lang="shell">
tom@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
</syntaxhighlight>
 
Testează funcționarea corectă a plăcii de sunet cu comanda:
 
<syntaxhighlight lang="shell">
sudo aplay -D plughw:1,0 audio.wav
</syntaxhighlight>
 
===Special pentru Orange Pi===
Uneori, Orange Pi Zero nu vine configurat cu modulele necesare pentru placa audio internă. Rularea comenzii <syntaxhighlight lang="sh" inline>aplay -l</syntaxhighlight> dă următorul rezultat:
<syntaxhighlight lang="sh">
eroare
</syntaxhighlight>
 
Problema se rezolvă prin modificarea fișierului cu parametri de boot, prin adăugarea parametrului <syntaxhighlight lang="sh" inline>analog-codec</syntaxhighlight> după cum urmează:
 
<syntaxhighlight lang="sh" highlight="8">
tom@orangepizero:~$ sudo nano /boot/armbianEnv.txt
 
verbosity=1
logo=disabled
console=serial
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
overlays=usbhost2 usbhost3 analog-codec
rootdev=UUID=48c1e88a-b408-42ec-9d6c-9aaacd147312
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
</syntaxhighlight>
 
Testarea cu comenzile <syntaxhighlight lang="sh" inline>aplay -l</syntaxhighlight> și <syntaxhighlight lang="sh" inline>arecord -l</syntaxhighlight> dă următorul rezultat (exemplul de mai jos are două interfețe audio, cea implicită și un stick USB):
<syntaxhighlight lang="sh" highlight="4,13">
tom@orangepizero:~$ sudo aplay -l
[sudo] password for tom:
**** List of PLAYBACK Hardware Devices ****
card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
 
tom@orangepizero:~$ sudo arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
</syntaxhighlight>

Versiunea curentă din 10 decembrie 2022 14:21

Setup inițial Raspberry Pi

Imagine

Descarci de aici https://www.raspberrypi.org/downloads/raspberry-pi-os/

Activarea SSH

Crează un fișier numit ssh în partiția boot.

Prima conexiune

La noile versiuni de raspberry pi și la sistemele de operare mai recente, conexiunea wireless este blocată implicit. Cel mai simplu pentru activare este să te conectezi pe un cablu. Dai apoi comanda ping raspberrypi.local

$ ping raspberrypi.local
PING raspberrypi.local (192.168.1.23): 56 data bytes
64 bytes from 192.168.1.23: icmp_seq=0 ttl=64 time=2.594 ms
64 bytes from 192.168.1.23: icmp_seq=1 ttl=64 time=2.378 ms
64 bytes from 192.168.1.23: icmp_seq=2 ttl=64 time=3.482 ms

User și parola inițială sunt pi cu raspberry

Atenție !! Pe windows trebuie să dați comanda:

$ ping -4 raspberrypi.local

Altfel o să vi se răspundă cu MAC address în loc de IP !!

După prima conectare, ești informat că

Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

Pentru investigare:

$ sudo rfkill list all
sudo: unable to resolve host YO3ITIRPI: Name or service not known
0: phy0: Wireless LAN
	Soft blocked: yes
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

pentru deblocare:

$ sudo rfkill unblock 0
$ sudo rfkill list all
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
pi@YO3ITIRPI:~ $ sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.23  netmask 255.255.255.0  broadcast 192.168.1.255
        ...
        RX packets 823  bytes 119353 (116.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 617  bytes 77385 (75.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.18  netmask 255.255.255.0  broadcast 192.168.1.255
        ...
        RX packets 172  bytes 58218 (56.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 4381 (4.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Acum merge wireless-ul. :)

Asigurarea accesului prin WiFi

editează /etc/wpa_supplicant/wpa_supplicant.conf și adaugă următoarele informații:

country=RO
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="<SSID-nume de access>"
    psk="<parola(psk)>"
}

Permisiuni scriere

În cazul în care se utilizează o imagine RPi/ OPi read-only, este necesară montarea sistemului în configurație read-write. Se poate face prin comanda:

sudo mount -o remount, rw /

Se poate crea un alias în fișierul .bash_aliases al utilizatorului local, după completarea pasului de mai jos (creare utilizator), astfel:

alias rw="sudo mount -o remount, rw /"

Unde rw este comanda echivalentă sudo mount -o remount, rw /

Utilizatori

Creare utilizator

pi@raspberrypi:~ $ sudo adduser tom
Adding user `tom' ...
Adding new group `tom' (1001) ...
Adding new user `tom' (1001) with group `tom' ...
Creating home directory `/home/tom' ...
Copying files from `/etc/skel' ...
New password: <parola>
Retype new password: <parola din nou>
passwd: password updated successfully
Changing the user information for tom
Enter the new value, or press ENTER for the default
	Full Name []: Miron Iancu
	Room Number []: home
	Work Phone []: +40758xxxxxx
	Home Phone []: +40758xxxxxx
	Other []: none
Is the information correct? [Y/n] Y

Adăugare utilizator în sudoers

pi@raspberrypi:~ $ sudo adduser tom sudo
Adding user `tom' to group `sudo' ...
Adding user tom to group sudo
Done.
pi@raspberrypi:~ $ sudo nano /etc/sudoers
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Configurare audio

Atenție ! Înainte de orice, verificați dacă user-ul sub care rulați svxlink este în grupul audio. Creează un fișier de configurare audio (dacă nu există deja) /etc/asound.conf și adaugă:

pcm.!default {
        type plug
        slave {
                pcm "plughw:1,0"
        }
}

ctl.!default {
        type hw
        card 1
}

E foarte important, fără asta dă erori:

Starting logic: SimplexLogic
Loading RX: RxLocal
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
*** ERROR: Open capture audio device failed: No such file or directory
*** ERROR: Could not open audio device for receiver "RxLocal"
*** ERROR: Could not initialize RX "RxLocal"
*** ERROR: Could not initialize Logic object "SimplexLogic". Skipping...

Se testează cu următoarele comenzi aplay -l și arecord -l:

tom@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

și pentru intrarea audio:

tom@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Testează funcționarea corectă a plăcii de sunet cu comanda:

sudo aplay -D plughw:1,0 audio.wav

Special pentru Orange Pi

Uneori, Orange Pi Zero nu vine configurat cu modulele necesare pentru placa audio internă. Rularea comenzii aplay -l dă următorul rezultat:

eroare

Problema se rezolvă prin modificarea fișierului cu parametri de boot, prin adăugarea parametrului analog-codec după cum urmează:

tom@orangepizero:~$ sudo nano /boot/armbianEnv.txt 

verbosity=1
logo=disabled
console=serial
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
overlays=usbhost2 usbhost3 analog-codec
rootdev=UUID=48c1e88a-b408-42ec-9d6c-9aaacd147312
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

Testarea cu comenzile aplay -l și arecord -l dă următorul rezultat (exemplul de mai jos are două interfețe audio, cea implicită și un stick USB):

tom@orangepizero:~$ sudo aplay -l
[sudo] password for tom: 
**** List of PLAYBACK Hardware Devices ****
card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

tom@orangepizero:~$ sudo arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0