Raspberry Pi – die besten Beiträge

Pokertisch mit Kartenerkennung via Kameras?

Hallo zusammen,

wir arbeiten Gerade an einer Idee, unseren selbstgebauten Pokertisch mit einer Kartenerkennung auszustatten.

Idee wäre 8 fixe Kameras via USB oder Ethernet/IP fix im Tischrand zu verbauen + eine zusätzliche IP Kamera von oben auf den Tisch.
Verbunden wird das ganze mit einem Mini-PC oder Raspberry PI der die Kameras auswertet und mit Python automatisch die Karten derjenigen Spieler erkennt.
Dazu brauchen wir natürlich noch ein eigenes Netzwerk in dem das ganze läuft.

Ziel wäre es einen Livestream zustande zu bringen der die Ansicht von oben + ein Overlay mit den Echtzeitkarten der Spieler streamt.
Ich hatte bereits ähnliche Projekte mit Python, die Erkennung der Karten sollte meines Wissens nach kein Problem sein.

Die Frage ist jetzt ob 8 Kameras auf einen PC via USB so schlau ist und ob ein Raspberry PI 4 z.B dafür überhaupt ausreicht.

Habt ihr Erfahrungen oder Ideen wie wir das ganze aufbauen / stabil verbinden könnten oder Änderungsvorschläge? Die Kosten spielen natürlich auch eine Rolle.

Hardware:
8 interne Kameras (mit Ethernet mit PoE Switch verbinden)
2-3 IP-Kameras
1 PoE Switch
Router
1 Mini-Pc (Intel NUC? Thinkpad mini pcs?)
Kabeln etc.

Software Konzept:
Nimmt von den 8 internen Kameras den Feed und analysiert Karten pro Position.
Macht aus den 2-3 IP Kameras switchable Stream-Video
Wsl: Lokale Website zum Steuern von IP-Kameras und On-demand scannen der Karten.
Laptop greift auf ein gestreamtes Video von dem MiniPC zu und nimmt es auf/streamt das dann.

Bild zum Beitrag
Elektronik, Poker, Streaming, Mini PC, Netzwerktechnik, IP Kamera, Raspberry Pi

DIVERA Wachenmonitor und Homematic IP wie lösen?

Moin,

Meine Wehrführung ist an mich herangetreten um die Einbindung von Rauchmeldern in divera zu realisieren da man mittlerweile an die eigenen Grenzen gestoßen ist und nicht mehr weiter kommt.

Dem Wunsch will ich gerne nachkommen. Nur stehe ich grade komplett auf den Schlauch und hoffe hier jemanden zu finden der mir die zündende Idee geben kann.

Folgender Aufbau ist vorhanden: Raspberry Pi 4 auf dem Rasbian bzw Raspberry Pi OS mit Divera läuft. Das Ganze als Wochenmonitor.

Es wurden beschafft Homematic IP Rauchmelder mit Homematic IP Acces Point.

Jetzt weiß ich das ich den HAP als Repeater in die CCU integrieren kann.

Angewendet soll folgende Anleitung.

https://help.divera247.com/pages/viewpage.action?pageId=140378552

Jetzt aber mein Problem an dem ich hänge:

Ich brauche auf dem Raspberry Pi 4 anstatt raspbian/Raspberry Pi OS dann Raspberrymatic damit ich den entsprechenden CUxD installieren kann. Problem ist das Raspberrymatic keine Desktop hat und wenn mich nicht alles täuscht auch keine Möglichkeit vorsieht einen zu installieren.

Folglich brauche ich einen zweiten Raspberry Pi um weiterhin den Wachenmonitor mir anzeigen zu lassen oder sehe ich das falsch? Oder gibt es eine andere Möglichkeit die ich bisher übersehen habe bzw die ich nicht gefunden/verstanden habe?

Danke schon Mal für die Hilfe.

Gewisse Grundlagen sind meinerseits vorhanden, falls die Frage aufkommt, nur manchmal sieht man den berühmten Wald ja nicht.

Linux, Feuerwehr, IT, BOS, Ehrenamt, Freiwillige Feuerwehr, Rauchmelder, Debian, Raspberry Pi, HomeMatic IP, Raspberry Pi 4

Wie kann ich zwei MFRC522-RFID-Reader gleichzeitig mit einem Raspberry Pi 3 Model B verwenden?

Hallo zusammen,

ich versuche seit über einem Monat, zwei MFRC522-RFID-Reader gleichzeitig mit meinem Raspberry Pi 3 Model B (Version 1.2) zu betreiben, leider ohne Erfolg.

Mein Ziel ist es, dass beide Reader parallel arbeiten und unabhängig voneinander Tags erkennen und auslesen können. Ich verwende Python mit dem

spidev

-Modul und habe jedem Reader eine eigene SPI-Schnittstelle zugewiesen:

  • Reader 1: SPI0 (Bus 0, Device 0), RST auf GPIO25
  • Reader 2: SPI1 (Bus 1, Device 0), RST auf GPIO17

Beide Reader sind korrekt verkabelt. SPI1 ist über Device Tree aktiviert, und ich verwende keine gemeinsamen CS-Pins. Ich habe eine eigene Klasse für MFRC522 geschrieben, um jeweils ein SPI-Device und einen RST-Pin zu verwenden. Hier ist der relevante Python-Code:

python
import spidev
import RPi.GPIO as GPIO
import time


class MFRC522:
    def __init__(self, spi_bus, spi_device, rst_pin):
        self.spi = spidev.SpiDev()
        self.spi.open(spi_bus, spi_device)
        self.spi.max_speed_hz = 1000000
        self.spi.mode = 0
        self.rst = rst_pin


        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(self.rst, GPIO.OUT)
        GPIO.output(self.rst, 1)
        self.reset()


    def reset(self):
        GPIO.output(self.rst, 0)
        time.sleep(0.1)
        GPIO.output(self.rst, 1)
        time.sleep(0.1)


    def send(self, addr, val):
        self.spi.xfer2([(addr << 1) & 0x7E, val])


    def read(self, addr):
        val = self.spi.xfer2([((addr << 1) & 0x7E) | 0x80, 0])
        return val[1]


    def scan_for_tag(self):
        self.send(0x01, 0x0C)  # PCD_TRANSCEIVE
        self.send(0x0D, 0x87)  # BitFramingReg


        self.send(0x0C, 0x26)  # Request idle
        time.sleep(0.01)
        return self.read(0x0A) != 0  # FIFOLevelReg


    def get_uid(self):
        self.send(0x0D, 0x87)
        self.spi.xfer2([0x93, 0x20])  # Anticollision
        time.sleep(0.01)
        resp = self.spi.xfer2([0x93, 0x20] + [0]*5)
        uid = resp[2:6]
        return ':'.join([hex(x)[2:].upper().zfill(2) for x in uid])


    def cleanup(self):
        self.spi.close()
        GPIO.cleanup(self.rst)


# Konfiguration der Reader
reader1 = MFRC522(spi_bus=0, spi_device=0, rst_pin=25)  # SPI0
reader2 = MFRC522(spi_bus=1, spi_device=0, rst_pin=17)  # SPI1


try:
    print("Starte RFID-Scanner (STRG+C zum Beenden)")
    while True:
        if reader1.scan_for_tag():
            uid1 = reader1.get_uid()
            print(f"Reader 1 UID: {uid1}")


        if reader2.scan_for_tag():
            uid2 = reader2.get_uid()
            print(f"Reader 2 UID: {uid2}")


        time.sleep(0.5)


except KeyboardInterrupt:
    print("\nBeende...")


finally:
    reader1.cleanup()
    reader2.cleanup()


Das Problem: Keiner der beiden Reader erkennt zuverlässig Tags. Der zweite reagiert manchmal, oft aber gar nicht oder liefert keine UID. Ich habe bereits unterschiedliche Polling-Intervalle, Resets und sogar die Versorgungsspannung überprüft, aber ohne Erfolg.
so habe ich meine MFRC522 Reader angeschlossen:

Hat jemand Erfahrung damit oder Ideen, wie ich beide MFRC522 zuverlässig gleichzeitig betreiben kann? Gibt es vielleicht Timing-Probleme, Konflikte zwischen den SPI-Bussen oder brauche ich spezielle Initialisierung?

Ich bin für jede Hilfe dankbar!

Bild zum Beitrag
Code, Programmiersprache, Python, RFID, RFID-Chip, Raspberry Pi, ChatGPT

Meistgelesene Beiträge zum Thema Raspberry Pi