Kamerazug WLAN

Post Reply
Singi
Posts: 38
Joined: 23.02.2012, 19:40
Location: Sulzheim/Rheinhessen

Re: Kamerazug WLAN

Post by Singi » 13.08.2019, 13:10

Hallo Rob,
ich gehen mal davon aus, dass der neue Eintrag in die Python3-Script (cam.py) eingefügt oder ausgetauscht werden soll.
Aber wo? Kannst Du mir das bitte noch sagen.
Danke Detlev.
PS. den beschriebenen Status kann ich so bestätigen - im Txt-Feld läuft das Bild in der Regel durch....

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 13.08.2019, 13:13

Hi Detlev,

es gibt keine neue Eintrag im Python Skript. Wo steht das?
BTW: Wenn du was meldest: Rocrail Revision erwähnen.
PS. den beschriebenen Status kann ich so bestätigen - im Txt-Feld läuft das Bild in der Regel durch....
Geht es ein wenig spezifizierter? -o

peter&basti
Moderator
Posts: 6688
Joined: 09.01.2012, 22:09
Location: Vienna, Austria

Re: Kamerazug WLAN

Post by peter&basti » 13.08.2019, 13:33

Hi Rob,

mein Wunsch-Wagen für die Kamera wäre der ÖBB "Railchecker":

2019.03.28 ÖBB 2016.003 mit Railchecker Wagen 99-75.100-9 im Traisental (18).jpg

Den Ex-Steuerwagen gibt es als Kaufmodell. Mal sehen ob ich die Extras, die Bemalung und Bedruckung irgendwann einmal so hinbekomme.

EDIT
Den Ex-Steuerwagen gibt es als Kaufmodell
Gab es. Alles ausverkauft :(
Meinen City Shuttle Zug mag ich deswegen nicht aufgeben.
You do not have the required permissions to view the files attached to this post.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 13.08.2019, 14:05

Hi Peter,

Hersteller?
Artikelnummer?
eBay?

Singi
Posts: 38
Joined: 23.02.2012, 19:40
Location: Sulzheim/Rheinhessen

Re: Kamerazug WLAN

Post by Singi » 13.08.2019, 14:12

rjversluis wrote:
13.08.2019, 09:06
Hi Detlev,

bitte aktualisieren, testen, und berichten.
(Unter Windows ist der Regler OK, aber der Text Image will nicht so wie ich will.)

Bei Reichelt habe ich zum testen auch ein Zero bestellt:

Code: Select all

RASP PI ZERO WH
RPIZ CAM 5MP 120
Hi Rob,
sorry, ich möchte nichts Neues melden. Aber, Du hast mich angeschrieben und darauf bezieht sich meine Frage. OK?
Ich aktualisiere, teste, und berichte gerne, nur, wie gesagt, weiß ich nicht wo ich den Code äktualisieren soll.
Ich hoffe, das ist jetzt spezifisch genug.
Danke - Detlev.

peter&basti
Moderator
Posts: 6688
Joined: 09.01.2012, 22:09
Location: Vienna, Austria

Re: Kamerazug WLAN

Post by peter&basti » 13.08.2019, 14:14

Hi Rob,

auch bei ebay hab ich nix gefunden.

Aber egal wird schon wieder mal wo auftauchen.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 13.08.2019, 14:34

Singi wrote:
13.08.2019, 14:12
rjversluis wrote:
13.08.2019, 09:06
Hi Detlev,

bitte aktualisieren, testen, und berichten.
(Unter Windows ist der Regler OK, aber der Text Image will nicht so wie ich will.)

Bei Reichelt habe ich zum testen auch ein Zero bestellt:

Code: Select all

RASP PI ZERO WH
RPIZ CAM 5MP 120
Hi Rob,
sorry, ich möchte nichts Neues melden. Aber, Du hast mich angeschrieben und darauf bezieht sich meine Frage. OK?
Ich aktualisiere, teste, und berichte gerne, nur, wie gesagt, weiß ich nicht wo ich den Code äktualisieren soll.
Ich hoffe, das ist jetzt spezifisch genug.
Danke - Detlev.
Mit aktualisieren meine ich natürlich Rocrail, und kein Skript.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 13.08.2019, 14:47

Hi Peter,

es gibt bestimmt eine Baugleiche Waggon wo du es einbauen kannst. Wenn der andere Waggon irgendwo auftaucht hast du schon Übung beim einbauen. ;)

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 13.08.2019, 16:09

Hallo Peter,

so sieht FPS=10 aus in Rocview:
https://youtu.be/UWr0ZLWbXjQ
Der streaming kann man über der HTTP service von der Rocrail Server beziehen wenn man es mit max. 32 frames füttert.

rocrail.ini

Code: Select all

<http port="8081" refresh="0"/>
Text

Code: Select all

mjpg:localhost:8081
Frames im Rocrail Server working directory: (Source: Wikipedia.org)
You do not have the required permissions to view the files attached to this post.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 10:20

Moin,

ab 15870 sieht der Text "mjpg:<host>:<port>" auch gut aus.
https://launchpad.net/rocrail/+download

Jetzt warten auf der Zero mit Camera:
Voraussichtliche Zustellung
Mi, 14.08.2019 11:30 - 15:00 Uhr

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 13:35

Hallo,

16GB SD mit Raspbian Buster with desktop
Mini-HDMI Adapter
USB-HUB für Mouse und Keyboard
Camera
zero-1.jpg
Nachdem WiFi usw. eingerichtet ist: Reboot.
Dann mit apt update/upgrade/autoclean/autoremove aktualisieren...
You do not have the required permissions to view the files attached to this post.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 14:17

Moin,

der Zero mit 12fps: (Noch mit Schutzfolie auf der Linse...) (CPU Last 6%)
https://youtu.be/ePciiFnkPfI

pi@zero-1:~ $ cat startcam.sh

Code: Select all

#!/bin/sh
cd /home/pi
python3 cam.py
pi@zero-1:~ $ crontab -l

Code: Select all

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command
@reboot /home/pi/startcam.sh

Auf der Pi Zero könnte man auch noch der Rocrail Server laufen lassen. ;) Aber das braucht man im Lok nicht.

So, jetzt noch einbauen...

pi@zero-1:~ $ cat cam.py

Code: Select all

# Web streaming example
# Source code from the official PiCamera package
# http://picamera.readthedocs.io/en/latest/recipes2.html#web-streaming
 
import io
import picamera
import logging
import socketserver
from threading import Condition
from http import server
 
PAGE="""\
<html>
<head>
<title>V200 Camera</title>
</head>
<body>
<img src="stream.mjpg" width="320" height="240">
</body>
</html>
"""
 
class StreamingOutput(object):
    def __init__(self):
        self.frame = None
        self.buffer = io.BytesIO()
        self.condition = Condition()
 
    def write(self, buf):
        if buf.startswith(b'\xff\xd8'):
            # New frame, copy the existing buffer's content and notify all
            # clients it's available
            self.buffer.truncate()
            with self.condition:
                self.frame = self.buffer.getvalue()
                self.condition.notify_all()
            self.buffer.seek(0)
        return self.buffer.write(buf)
 
class StreamingHandler(server.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(301)
            self.send_header('Location', '/index.html')
            self.end_headers()
        elif self.path == '/index.html':
            content = PAGE.encode('utf-8')
            self.send_response(200)
            self.send_header('Content-Type', 'text/html')
            self.send_header('Content-Length', len(content))
            self.end_headers()
            self.wfile.write(content)
        elif self.path == '/stream.mjpg':
            self.send_response(200)
            self.send_header('Age', 0)
            self.send_header('Cache-Control', 'no-cache, private')
            self.send_header('Pragma', 'no-cache')
            self.send_header('Content-Type', 'multipart/x-mixed-replace; boundary=FRAME')
            self.end_headers()
            try:
                while True:
                    with output.condition:
                        output.condition.wait()
                        frame = output.frame
                    self.wfile.write(b'--FRAME\r\n')
                    self.send_header('Content-Type', 'image/jpeg')
                    self.send_header('Content-Length', len(frame))
                    self.end_headers()
                    self.wfile.write(frame)
                    self.wfile.write(b'\r\n')
            except Exception as e:
                logging.warning(
                    'Removed streaming client %s: %s',
                    self.client_address, str(e))
        else:
            self.send_error(404)
            self.end_headers()
 
class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):
    allow_reuse_address = True
    daemon_threads = True
 
with picamera.PiCamera(resolution='320x240', framerate=12) as camera:
    output = StreamingOutput()
    #Uncomment the next line to change your Pi's Camera rotation (in degrees)
    #camera.rotation = 90
    camera.start_recording(output, format='mjpeg')
    try:
        address = ('', 8081)
        server = StreamingServer(address, StreamingHandler)
        server.serve_forever()
    finally:
        camera.stop_recording()

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 14:44

Moin,

der CPU Last ist nur 6%:

Code: Select all

top - 15:42:49 up 18 min,  3 users,  load average: 1.01, 1.57, 1.14
Tasks: 116 total,   1 running, 114 sleeping,   0 stopped,   1 zombie
%Cpu(s):  9.4 us,  5.9 sy,  0.0 ni, 84.4 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
MiB Mem :    369.3 total,     38.4 free,    114.4 used,    216.5 buff/cache
MiB Swap:    100.0 total,     83.2 free,     16.8 used.    202.7 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                        
  257 pi        20   0  103836  14400   3800 S   6.4   3.8   1:06.49 python3                                                                        
 3936 pi        20   0   10172   2968   2484 R   2.6   0.8   0:00.57 top            
 

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 16:02

Hallo,

ich habe mich doch für ein Front Loch entschieden so das der Kamera Freie Sicht hat.
Von aus der Kamera sieht man nichts vom Loch, also alles im Blick. (120°)
Morgen kommt der Zero Einbau dran; Da brauche ich noch ein PowerBank...
IMG_1073.JPG
IMG_1074.JPG
You do not have the required permissions to view the files attached to this post.

rjversluis
Site Admin
Posts: 42015
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Kamerazug WLAN

Post by rjversluis » 14.08.2019, 16:38

Hallo Gartenbahner,

da diese Zero sich mit der Kamera langweilt, wäre es doch interessant darüber nach zu denken um diese über MQTT Lokbefehle bekommen zu lassen.
Der Zero setzt diese mittels der DCC232 Bibliothek um in DCC und leitet diese am vorhandene Lokdecoder weiter.
Wenn man am Zero auch noch ein RFID Reader koppelt, kann diese auch seine Position melden.
Außer für Weichen braucht man dann kein extra Kabel mehr für Reed-Kontakte.

Da gab es mal was:
https://wiki.rocrail.net/doku.php?id=gca-pi05-en

Post Reply

Return to “BastelEcke (DE)”