---
# System prepended metadata

title: Thermocam-Protokoll

---

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


