Raspberry

backup and restore disk images

Lister les disques

sudo lsblk 


Sauvegarder l'image du disque

sudo dd if=/dev/sdX | gzip -1 - | dd of=image.raw.gz

 

Restaurer

sudo gunzip -c image.raw.gz | dd of=/dev/sdX

 

commandes

connexion en ssh

ssh pi@192.168.30.168
ssh pi@192.168.30.151 -o UserKnownHostsFile=/dev/null

 

configurer sur un portail 

configurer le nom de domaine ou ip de la machine local + nom de domaine

sudo vim /etc/hosts

configurer l'uid de l'écran et l'ury

sudo service affidyl-viewer stop

sudo vim .affidyl/affidyl.conf

sudo service affidyl-viewer start

afficher les logs

tail -f /var/log/daemon.log

accèder à la base de données

sqlite3 .affidyl/affidyl.db

recharger les spots

sqlite> select * from assets;

sqlite> update assets set is_processing = 0;

supprimer les spots

sqlite> delete from assets;

cd affidyl_assets/

rm -rf *

vim /boot/config.txt

modifier / ajouter cron table

crontab -e

cron table statistiques

 */5* * * * /usr/bin/python3 /home/pi/affidyl/current/statistics.py

mise à jour

/usr/bin/python3 /home/pi/affidyl/current/upgrade.py

alias

alias current='ll affidyl | grep current && cd /home/pi/affidyl/current'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias ll='ls -lah'
alias log='tail -f /var/log/daemon.log'
alias ls='ls --color=auto'
alias network='sudo vim /etc/network/interfaces'
alias restart_all='sudo service "affidyl-*" restart'
alias restart_debug='sudo service affidyl-debug restart'
alias restart_keyboard='sudo service affidyl-keyboard restart'
alias restart_viewer='sudo service affidyl-viewer restart'
alias restart_web='sudo service affidyl-web restart'
alias sql='sqlite3 /home/pi/.affidyl/affidyl.db'
alias stop_debug='sudo service affidyl-debug stop'
alias stop_keyboard='sudo service affidyl-keyboard stop'
alias stop_viewer='sudo service affidyl-viewer stop'
alias stop_web='sudo service affidyl-web stop'
alias update='/usr/bin/python3 /home/pi/affidyl/current/upgrade.py'
alias wpa='sudo vim /etc/wpa_supplicant/wpa_supplicant.conf'

orientation pi4

touch ~/.xprofile
chmod +x ~/.xprofile
sudo vim ~/.xprofile 

DISPLAY=:0 xrandr --output HDMI-1 --rotate right

 

Connaitre le model

cat /sys/firmware/devicetree/base/model

 

Contrôle de la carte SD

Cette commande effectue un test d'écriture destructif sur /dev/sda. Attention, l'option -w effacera toutes les données présentes sur le disque.

 

sudo umount /dev/sdX1
sudo umount /dev/sdX2
sudo badblocks -wsvo /home/patrick/Documents/badblocks/badblocks-w.log /dev/sdX

 

https://debian-facile.org/doc:systeme:badblocks

Copie ssh

scp -P 22201 /home/patrick/Documents/raspberry/bdd/affidyl.db-wal alpha:/home/pi/.affidyl 

 

scp -P 22201 alpha-cominpro:/home/pi/.affidyl/affidyl.conf.bak /home/pboulangé/Téléchargements

 

debug

/usr/share/novnc/utils/launch.sh --listen 22516 --vnc 51.68.152.20:22316

http://192.168.30.122:22516/vnc_auto.html?password=adliber01

Erreur clavier

from pynput import keyboard

 

ImportError: this platform is not supported: ('failed to acquire X connection: Bad display name ""', DisplayNameError(''))

 

export DISPLAY=:0.0  

 

Flasher l'image sur la carte sd

Balena etcher

sudo apt install ./balena-etcher_******_amd64.deb


https://github.com/balena-io/etcher?tab=readme-ov-file

Forcer le téléchargement d'une mise à jour

wget http://download.adliber.fr/updates/staging/202403281116.zip

wget http://download.adliber.fr/updates/v1.1.0/202406240703.zip

 

Hotline

Scanner le réseau

Angy ip scanner - https://angryip.org/download/#window - version legacy

advanced ip scanner

Connection ssh

Putty - version binary - https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe

Tester l'accès aux sites

ping 51.68.152.20 (serveur adliber.fr)

wget https://adlibertv.fr ou wget https://licences.adliber.fr (ports 80 - 443 - 2282)

Vérifier / régler l'heure

date

sudo timedatectl set-time 12:53

sudo date -s'13 DEC 2022 12:19'

sudo vim /etc/systemd/timesyncd.conf

sudo timedatectl set-ntp true
timedatectl

sudo service systemd-timesyncd status

ping 0.nl.pool.ntp.org

 

Vérifier l'ouverture d'un port

nc -vz -u 0.nl.pool.ntp.org 123

sudo apt-get install telnet
telnet  0.nl.pool.ntp.org 123 

Statistique qui ne remonte pas

verifier que la crontab est bien active

voir si il y a une erreur avec la commande /usr/bin/python3 /home/pi/affidyl/current/statistics.py 

sqlite3 .affidyl/affidyl.db

sqlite> select * from stats;

delete from stats where asset_id not in (691, 692, 722); supprime l'historique sauf pour les spots 691, 692, 722

 

Forcer le téléchargement d'un spot

cd affidyl_assets
wget https://demo.cominpro.2dcom.fr/spot/download/ODhhMDU4NWEtMzc4OS00NWU4LTgyYmItNTJlYThlN2NhZDYx4pi6OTI2OWE3MTM2MGUwOTg3NzUyYjM2ZTg1NTNhNmJhY2LimLp0ZW1wbGF0ZXMvemlwLzkyNjlhNzEzNjBlMDk4Nzc1MmIzNmU4NTUzYTZiYWNiLnppcOKYujLimLoyMS0yMi0yMy0yNC0zNy0yNi0yNy0yNS0zNS01OS04Ny04Ni04OC0yOS0yOC0zMC0zMS0zNC0zMy0yMC00MS00NC00My00Mi00NS0xMDgtMTIxLTEyMC0xMTQtNDgtNDYtNTEtNzctODItODMtMTI1LTEyMy0xMjItMTI2LTEwOQ\=\=

unzip nom_du_fichier_téléchargé

Forcer le téléchargement d'une version

cd affidyl
mkdir v1.2.0
cd 1.2.0
mkdir 202411261401_tmp
cd 202411261401_tmp
wget  http://download.adliber.fr/updates/v1.2.0/202411261401.zip -O 202411261401.zip
unzip 202411261401.zip
cd ..
mv 202411261401_tmp 202411261401 



Tester l'acces au portail en filaire et wifi

ping -c 5 -I eth0 adlibertv.fr -v

ping -c 5 -I wlan0 adlibertv.fr -v

 

Status des services

systemctl --type=service

 

Installer

sudo arp-scan -l | sort | grep Raspberry (sur ta machine)

ou arp -a
passwd  -> changer raspberry en adliber01
sudo vim /boot/config.txt -> mettre l'orientation dans le display_rotate tout en bas du fichier
ls -lah ~/affidyl --> et vérifier que la version est 201902110903 (pour le moment)
cd ~/affidyl/current/scripts/ puis aller dans chaque répertoire et faire :
sudo chmod u+x up.sh
sudo ./up.sh

il faut commencer par les scripts

add-debug-service
upgrade-omxplayer

si message d'erreur sur le script add-debug-service
configparser requires Python '>=3.6' but the running Python is 3.5.3
modifier dans ~/affidyl/current/requirements.txt
configparser==3.5.0

copier le scripts vers .affidyl/scripts

cp ~/affidyl/current/scripts/* ~/.affidyl/scripts/

Ensuite il faut modifier les fichiers de conf, on arrête le viewer avant de les modifier:

sudo service affidyl-viewer stop
sudo vim ~/.affidyl/affidyl.conf
dedans il faut vérifier l'orientation et mettre celle qui convient
il faut vérifier ws_uri qui est toujours sur la production adlibertv
il faut aussi modifier l'id afin de mettre l'uuid de l'écran
Ensuite cp ~/.affidyl/affidyl.conf ~/.affidyl/affidyl.conf.bakPar la suite se reporter aux documentation existantes sur gitlab pour configurer le réseau

Ouvrir un tunel ssh

ssh -fNR 22222:localhost:22 -p 2282 -i ~/.ssh/id_rsa root@adliber.2dcom.fr

Arrêter le tunnel

➜ ps aux | grep "[s]sh -fNR 22222:localhost:443"

pboulan+   29015  0.0  0.0  19360  7020 ?        Ss   10:34   0:00 ssh -fNR 22222:localhost:443 -p 2282 pkpass.affidyl.fr -i /home/pboulangé/.ssh/id_ed25519

➜  ~ kill 29015

 

Ports

En sortie uniquement

  • 2282 pour le mode debub
  • http / https : 80 et 443
  • 22 pour le ssh entre écrans
  • Autoriser le ping sur adliber.2dcom.fr ou l'adresse ip 51.68.152.20
  • Autoriser l'accès aux portails adlibertv.fr et licences.adliber.fr
  • pypi.python.org, pypi.org, pythonhosted.org pour les mise à jour python
  • Autoriser les serveurs de temps NTP : Type : UDP, port : 123 vers : 0.debian.pool.ntp.org / 1.debian.pool.ntp.org / 2.debian.pool.ntp.org / 3.debian.pool.ntp.org
  • Autoriser l'accès a l'url api.seeip.org

 

putty

Copier coller dans vim depuis putty

shift insert

Se déplacer dans la séquence

 

http://192.168.30.218:8765/

sortie son omxplayer

Liste des usb connectés

lsusb

USB audio device identified

aplay -l
# $ aplay -l
# card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
#   Subdevices: 1/1
#   Subdevice #0: subdevice #0

omxplayer -o alsa:hw:1,0 --loop --no-osd -b "$1"

 

SQL lite

Structure d'une table

PRAGMA table_info(foo_table_name)

 

voir les ports ouverts sur le serveur

ssh bogdanoff.2dcom.fr
sudo su -
lsof -i -P | grep 2220

 

Wifi

Puissance du signal wifi

iwconfig

Lister les réseaux wifi

sudo iwlist wlan0 scan|grep SSID

 

Wifi - Parramètrage

une fois branché en filaire tu actives le mode debug comme d'hab tu te connectes
MDP : adliber01

sudo systemctl disable affidyl-net-manager
sudo ifconfig wlan0 up

tu le reboot encore connecté au réseau
tu te reconnectes en désactivant réactivant la prise de main à distance

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
 

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={ 
    scan_ssid=1 
    ssid="LDP_WIFI" 
    psk="Zlamart$92" 
    id_str="prioritaire" 
} 
network={ 
    scan_ssid=1   
    ssid="Raspberry" 
    psk="Raspberry" 
    id_str="secours" 
}

sudo vim /etc/network/interfaces
 

# Generated by affidyl Network Manager
auto lo
  iface lo inet loopback
auto eth0
  iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface prioritaire inet static
    address 192.168.112.170
    netmask 255.255.255.0
    gateway 192.168.112.254
    dns-nameservers 192.168.112.1 8.8.8.8

iface secours inet dhcp

pour pi4

cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto eth0
  iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface prioritaire inet static
address 192.168.194.211
netmask 255.255.255.0
gateway 192.168.194.254
dns-nameservers 8.8.8.8

iface secours inet dhcp


ifconfig
et tu devrais voir un truc du genre
et tu as des paquets dans le wlan0

sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf  -D wext

sudo ifconfig wlan0 essid LDP_WIFI