# RasPi Freezer ![Photo](cad/photo.jpg) # Usage Instructions * Plug HDMI into Beamer * Plug USB into Computer * booting the Raspberry takes approximately 25 seconds. the green led will light up when ready * start freeze.exe from the (newly attached) USB-Drive * press button on device or ALT+X or Alt+PRINTSCREEN to take a screenshot * simply unplug after use ## Other features * you can call freeze.exe with the cmdline argument "single" to just do one screenshot, save it and exit # Initial setup ## Parts * Mini-HDMI <-> HDMI Adapter * Mini-USB <-> USB A Cable * Micro-SD-Card >= 2GB * Raspberry Pi Zero or Zero W or Model A (Model B/2B/3 not supported!) ## Hardware LED LED SW ______||_______|||____ | :::::::::::::::::::: | | | |_HDMI________USB__PWR_| | | nc v v Beamer PC ## Build windows snapshot-tool cd windows-snapshot-tool mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-cross-mingw32-linux.cmake ../ make ## prepare raspberry pi install raspbian lite sudo raspi-config * ?? * ?? sudo su - apt update apt dist-upgrade apt install python3-pyinotify python3-rpi.gpio apt clean echo "dtoverlay=dwc2" >> /boot/config.txt echo "dtoverlay=gpio-poweroff,gpiopin=5,active_low" >> /boot/config.txt sed -i /boot/config.txt -e "s/^hdmi_force_hotplug=1$/hdmi_force_hotplug=1$/" echo "libcomposite" >> /etc/modules apt purge plymouth systemctl disable getty@tty1 add/change in /boot/cmdline.txt: console=tty3 consoleblank=0 loglevel=3 vt.global_cursor_default=0 (logo.nologo to disable the raspberry) copy everything to /opt/freezer/ chmod a+x /opt/freezer/display.py add to /etc/rc.local: cd /tmp && nohup python3 /opt/freezer/display.py 2>&1 & ### read-only root wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/read-only-fs.sh sudo bash read-only-fs.sh * continue: y * jumper: n * gpio-halt: n * watchdog: n * continue: y ### this is how to remount read-write later to make changes to the fs mount -o remount,rw / mount -o remount,rw /boot ## ToDo * korrekte auflösung bei desktop-scaling * zu viel overscan * hdmi korrekt konfigurieren wenn nach boot erst angeschlossen * zeit knopfdruck bis anzeige soweit möglich optimieren