Pour illustrer le fait qu'un son peut altérer l'écriture sur un disque ou plus globalement pour monitorer l'activité d'un serveur, on va utiliser la combinaison de collectd, influxdb et grafana à installer sur une raspberry pi
Cette illustration est notamment faite pour l'exposition “go cany go” pour laquelle un dispositif est créé afin d'illustrer le phénomène vu dans cette vidéo :
Un outil simple, joli et facile à installer https://github.com/firehol/netdata
Installer netdata :
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
sudo apt install sox openvpn
Ajouter config file openvpn dans le home, créer le fichier datacrash.sh dans le home, chmod +x
Mettre le son par défaut sur Analog + volume max + sudo alsactl store
datacrash.sh #!/bin/bash # en bas du fichier # sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart # @chromium-browser --kiosk http://localhost:19999/#menu_disk_submenu_sda;theme=slate;help=true;update_always=true # mount external hdd via fstab /dev/sda1 /media/usbhdd ext4 defaults 0 0 # python off-button.py & sleep 10 while true do sudo dd if=/dev/zero of=/media/usbhdd/oo bs=512 count=500M & sleep 120 play -n synth 20 sin 300 gain -15 & sleep 6 play -n synth 8 sin 295 gain -15 & sleep 2 play -n synth 4 sin 290 gain -15 sleep 180 sudo killall dd sudo rm /media/usbhdd/oo sleep 3 done /etc/rc.local openvpn --config /home/pi/install3.ovpn & python /home/pi/pioff.py & cd /home/pi/ sudo ./datacrash.sh sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart ou plutot sudo nano /etc/xdg/lxsession/LXDE-pi/autostart @lxpanel --profile LXDE-pi @pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @xset s off @xset -dpms @xset s noblank @chromium-browser --kiosk http://localhost:19999/#menu_disk_submenu_sda;theme=slate;help=true;update_always=true
Script pour extinction propre de la pi avec bouton externe
pioff.py
#!/bin/python #This script was authored by AndrewH7 and belongs to him (www.instructables.com/member/AndrewH7) #You have permission to modify and use this script only for your own personal usage #You do not have permission to redistribute this script as your own work #Use this script at your own risk import RPi.GPIO as GPIO import os gpio_pin_number=21 #Replace YOUR_CHOSEN_GPIO_NUMBER_HERE with the GPIO pin number you wish to use #Make sure you know which rapsberry pi revision you are using first #The line should look something like this e.g. "gpio_pin_number=7" GPIO.setmode(GPIO.BCM) #Use BCM pin numbering (i.e. the GPIO number, not pin number) #WARNING: this will change between Pi versions #Check yours first and adjust accordingly GPIO.setup(gpio_pin_number, GPIO.IN, pull_up_down=GPIO.PUD_UP) #It's very important the pin is an input to avoid short-circuits #The pull-up resistor means the pin is high by default try: GPIO.wait_for_edge(gpio_pin_number, GPIO.FALLING) #Use falling edge detection to see if pin is pulled #low to avoid repeated polling os.system("sudo shutdown -h now") #Send command to system to shutdown except: pass GPIO.cleanup() #Revert all GPIO pins to their normal states (i.e. input = safe)