Aus SatriaWiki
Wechseln zu: Navigation, Suche
(SSL / HTTPS)
Zeile 40: Zeile 40:
 
# 2 Quelldateien herunterladen:<br>[https://github.com/ccrisan/motioneye/tree/master/motioneye Motioneye@github] --> server.py<br>[https://github.com/ccrisan/motioneye/tree/master/motioneye Motioneye@github] --> settings.py
 
# 2 Quelldateien herunterladen:<br>[https://github.com/ccrisan/motioneye/tree/master/motioneye Motioneye@github] --> server.py<br>[https://github.com/ccrisan/motioneye/tree/master/motioneye Motioneye@github] --> settings.py
 
# settings.py editieren. Am Ende hinzufügen:<br>'''SSLCERT = "/data/etc/ssl_motioneye.pem"'''<br>'''SSLKEY = "/data/etc/ssl_motioneye.key"'''
 
# settings.py editieren. Am Ende hinzufügen:<br>'''SSLCERT = "/data/etc/ssl_motioneye.pem"'''<br>'''SSLKEY = "/data/etc/ssl_motioneye.key"'''
# server.py editieren. Oben zu den import Statements:<br>'''from tornado import httpserver'''<br>Dann die Zeile<br>'''application.listen(settings.PORT, settings.LISTEN)'''<br>ersetzen mit:<br><pre>if os.path.exists(settings.SSLCERT) and os.path.exists(settings.SSLKEY):
+
# server.py editieren. Oben zu den import Statements:<br>'''from tornado import httpserver'''<br>Dann die Zeile<br>'''application.listen(settings.PORT, settings.LISTEN)'''<br>ersetzen mit:<br>
      http_server = httpserver.HTTPServer(application,ssl_options={
+
<code><poem>
                                            "certfile": settings.SSLCERT,
+
if os.path.exists(settings.SSLCERT) and os.path.exists(settings.SSLKEY):
                                            "keyfile": settings.SSLKEY,
+
  http_server = httpserver.HTTPServer(application,ssl_options={
                                            })
+
    "certfile": settings.SSLCERT,
      http_server.listen(settings.PORT)
+
    "keyfile": settings.SSLKEY,
    else:
+
  })
        application.listen(settings.PORT, settings.LISTEN)</pre>
+
http_server.listen(settings.PORT)
 +
else:
 +
    application.listen(settings.PORT, settings.LISTEN)
 +
</poem></code>
  
 
== Quellen ==
 
== Quellen ==

Version vom 10. Januar 2020, 21:10 Uhr

Was ist MotionEyeOS

Es handelt sich um eine Webanwendung, die für verschiedene Hardware-Plattformen bereitgestellt wird, unter Anderem auch für den Raspberry PI 3, was sie sehr interessant macht. Denn diese Webanwendung stellt eine kostenlose Videoüberwachungs-Zentrale dar, an die man mehrere Kameras anschließen bzw. IP Kameras konfigurieren kann, deren Bild+ und Videomaterial dann hiermit verwaltet werden. Das schließt ganz besonders auch MotionDetection mit ein.

SSH

Login mit RSA key

Der public key des RSA-Schlüsselpaars muss nach

/data/etc/ssh_authorized_keys

gespeichert werden.

Konfiguration ohne UI

Startup Skript

Eine Datei

in /data/etc/userinit.sh

wird beim Booten ausgeführt.

Motion Detection ein/ausschalten

Wenn man nach einer Möglichkeit sucht, die Bewegungserkennung und die daran gekoppelte Alarmbildgenerierung automatisiert ein- oder auszuschalten, muss zunächst die Webschnittstelle des tools "motion" im LAN verfügbar machen, denn sie ist auf localhost beschränkt:

Per SSH editiert man die Datei

/data/etc/motion.conf

und verändert hier den Wert

webcontrol_localhost on

zu

webcontrol_localhost off

Speichern und über die Weboberfläche sofort neustarten, ohne hier weitere Änderungen zu machen und anzuwenden. Danach ist motion über den Port 7999 konfigurierbar, und zwar wie folgt, wobei raspi die Adresse oder der Name des Raspberrys ist und 1 die Nummer der konfigurierten Kamera, um die es gerade geht:

http://raspi:7999/1/detection/status
Gibt den Status der Bewegungserkennung aus.
http://raspi:7999/1/detection/start
Aktiviert die Bewegungserkennung.
http://raspi:7999/1/detection/pause
Pausiert die Bewegungserkennung

Leider ist das nicht von Dauer. Irgendwie startet sich der Dienst neu mit den konfigurierten Werten!

SSL / HTTPS

Um den Server auf HTTPS umzustellen, sind einige manuelle Schritte nötig:

  1. SSL Zertifikat bzw. Schlüsselpaar erzeugen:
    z.B.: ssl_motioneye.key und ssl_motioneye.pem
  2. Schlüsselpaar nach /data/etc kopieren.
  3. /data/etc/motioneye.conf editieren und diese 2 Zeilen anhängen:
    sslcert /data/etc/ssl_motioneye.pem
    sslkey /data/etc/ssl_motioneye.key
  4. 2 Quelldateien herunterladen:
    Motioneye@github --> server.py
    Motioneye@github --> settings.py
  5. settings.py editieren. Am Ende hinzufügen:
    SSLCERT = "/data/etc/ssl_motioneye.pem"
    SSLKEY = "/data/etc/ssl_motioneye.key"
  6. server.py editieren. Oben zu den import Statements:
    from tornado import httpserver
    Dann die Zeile
    application.listen(settings.PORT, settings.LISTEN)
    ersetzen mit:

if os.path.exists(settings.SSLCERT) and os.path.exists(settings.SSLKEY):
  http_server = httpserver.HTTPServer(application,ssl_options={
    "certfile": settings.SSLCERT,
    "keyfile": settings.SSLKEY,
  })
http_server.listen(settings.PORT)
else:
    application.listen(settings.PORT, settings.LISTEN)

Quellen

https://github.com/ccrisan/motioneyeos

http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpAPI