# Thermocam-Protokoll ## Arbeiten so dass ich zufrieden abschliessen kann - Overlayimage einrichten, damit ich jederzeit ausschalten kann - nachdem image gut, kopieren und ersatz SD schreiben - dokumentation fertigschreiben ### Erweiterungsmöglichkeiten - aus EEE-tasten THERMOCAM 2.0 draufschreiben - Zeit ausgeben aufm Foto-Ausdruck wäre auch cool - Geri hatte die ideeerspannung so eine 4x bild photobox zu bauen, mit spiegel dass man sich sieht? - workflow: - mit remote option einschalten - methode mit schleife die 4 mal aufgerufen wird - pro schleife wird ein foto gemacht - nach der schleife werden die vier fotos zusammengestückelt+qrcode hochgeladen und ausgedruckt - problematische bilder von anderen websites entfernen und eigene machen - projekt verbreiten zB toms hardware forum - weisse richtigen ersatzrollen besorgen ### sidequests - nokia 5110 sites [1](https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library), [2](https://lastminuteengineers.com/nokia-5110-lcd-arduino-tutorial/), [3](https://elektro.turanis.de/html/prj145/index.html) - attiny könnte über I2C spannung dem Raspi sagen [1](https://community.element14.com/challenges-projects/design-challenges/sci-pi-design-challenge/b/blog/posts/blog-5-i2c-attiny-85-communication), [2](https://blog.stefan-koch.name/2014/05/31/raspberry-pi-und-attiny-84v-ueber-i2c-verbinden), [3](https://forum-raspberrypi.de/forum/thread/12815-verbindung-von-rpi-und-attiny-mittels-i2c-mit-problemen-msb-kippt/?postID=109508&highlight=attiny%2Bi2c#post109508), [4](https://wiki-content.arduino.cc/en/Tutorial/LibraryExamples/MasterWriter), [5](https://www.instructables.com/ATTiny84-I2C-Slave-Arduino-UNO/), [6](https://www.instructables.com/Arduino-I2C-and-Multiple-Slaves/), [7](https://www.raspberry-pi-geek.de/ausgaben/rpg/2018/04/i2c-workshop-18-arduino-als-i2c-slave/2/) - bei verbindungsproblem in der /boot/config.txt `dtparam=i2c_arm_baudrate=50000` baudrate einstellen - mit [kicad](https://www.kicad.org/) schaltplan zeichnen [Beispiel](https://pierremuth.files.wordpress.com/2017/02/shematics01.png) ### Ziele - Zusatzfunktionen - [x] camera.hflip = True einbauen (je nach einbau des TFTs notwendig) - [ ] [ausdruckserkennung](https://www.instructables.com/Fear-Booth-Raspberry-Pi-Powered-Photo-Booth-With-a/) einbauen - [ ] [anleitung](https://www.edlitera.com/blog/posts/emotion-detection-in-images) - [ ] [opencv help](https://qengineering.eu/install-opencv-on-raspberry-pi.html) - [ ] vorher test wie lange bildanalyse aufm raspi dauert ## Hardware ### inselbetrieb - [Batterie Versorgung](https://blog.gc2.at/post/raspberry-pi-zero-versorgung/) ### camera ausprobieren - die kombination raspbian bullseye und camera funktioniert nicht von haus aus - die automatische kamera-modulerkennung klappt nur ab raspi4, raspiver 0-3 muss man manuell einstellen - zumindest unter raspbian bullseye lite habe ich folgendes eingestellt: - unter raspi-config die camera NICHT aktivieren - muss man diese glamour in raspi-config aktivieren? unter dietpi-config finde ich keine glamour option, da klapt es mit der kamer nicht ganz, no preview window found - in /boot/config.txt - #camera_auto_detect=1 #auskommentieren - dtoverlay=ov5647 #einkommentieren, das ist der treiber für die V1 kameraversion - diese zeile `dtoverlay=vc4-kms-v3d` sorgt dafür dass bei z.B. libcamera-hello einenpreview gibt - ich möchte dass die kamera ständig ein bild erzeugt, wie bei einer digitalkamera - mit folgender zeile klappt das `libcamera-vid -t 0` ### Lautsprecher - aus einem alten EEE ausbauen - man könnte willkommen sound abspielen - [verstärker](https://www.az-delivery.de/products/pam8403-digitaler-mini-audio-verstarker-2x-3-watt-dc-5v-leistungsverstarkerplatine-mit-potentiometer-fur-diy-lautsprecher-und-kopfhorer-inklusive-ebook) - [python+sound 1](https://pythonbasics.org/python-play-sound/) #### anzeige batteriezustand - arduin 7 segment ansteuern https://funduino.de/nr-12-7-segment-anzeige - raspi 7 segment anzeig https://cool-web.de/raspberry/raspberry-pi-7-segment-anzeige-ansteuern.htm ## Software ### SD karte schonen - [ZRAM anleitung 1](https://blog.gc2.at/post/zram/), [2](https://linuxblog.io/raspberry-pi-performance-add-zram-kernel-parameters/), [3](https://www.hempel-online.de/raspberry-pi/articles/zram-auf-der-raspberry-pi.html) - Logging deaktivieren - [SD karte schonen TIPs](https://cbrell.de/blog/raspilab-wetterstation-zugriffe-auf-sd-karte-minimieren-und-lebensdauer-erhoehen/) - oder overlay filesystem machen und bilder auf einen usb stick schreiben ### TFT Schirm mit fbcp-il9341 Projekt - klappt!! - cmake einstellungen `cmake -DILI9341=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=23 -DSPI_BUS_CLOCK_DIVISOR=8 -DSINGLE_CORE_BOARD=ON -DARMV6Z=ON -DBACKLIGHT_CONTROL=ON -DDISPLAY_ROTATE_180_DEGREES=ON ..` ### IRRWEEGE - [python ausgabe ins frambuffer](https://raspberrypi.stackexchange.com/questions/145151/how-to-draw-on-a-small-tft-screen-after-the-end-of-the-linux-boot-on-a-rpi) #### anzeige cameraufnahme am TFT ![Bildschirmfoto vom 2024-02-04 20-36-39](https://hackmd.io/_uploads/BJ2IwP6c6.png) #### SPI TFT Schirm - [Pinout](https://pinout.xyz/pinout/spi) - spi0-0 im overlay bedeutet dass man an GPIO8=SPI0-CE0 das CS vom TFT anschliessen muss - ab kernel 5, arbeitet man mit dtoverlays die man im /boot/config.txt aktiviert - overlay einstellungen (werden mit der lösung fbcp-il9341 nicht mehr benötigt): - `dtparam=spi=on` - `dtoverlay=fbtft,spi0-0,ili9341,reset_pin=25,dc_pin=24,led_pin=23,rotate=90` - externe overlays kann man nach /boot/overlays kopieren und im config.txt aktivieren - Debugbefehle - `sudo vcdbg log msg` ->gibt fehler bei overlays aus - scheinbar keine fehler, fbtft wird geladen - wenn ich `cat /proc/fb` probiere werden beide framebuffers angezeigt - und mit `con2fbmap 1` sieht man dass console1 zu fb1 gemappt ist [link](https://forums.raspberrypi.com/viewtopic.php?t=95955) - mit `con2fbmap 1 1` weisst man console1 zu fb1 zu - mit `con2fbmap 1 0` weisst man console1 zu fb0 zu - in cmdline.txt `fbcon=map:10 fbcon=font:VGA8x8` einfügen damit im TFT boot angezeigt wird - fbcon=map:10 bedeutet, dass anch dem starten ins fb1=TFT gewechselt wird - [frage im raspi forum](https://forum-raspberrypi.de/forum/thread/60826-ili9341-tft-auf-alten-raspi-b-v2-0-laeuft-nicht/)