# 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

#### 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/)