Installation mit aktuellem RaspberryOS

  • Stand: RaspberryOS Release 2021-10-30 => python2 ist nicht mehr Inhalt des Image, muss nachinstalliert werden

    Stand: RaspberryOS Release 2021-05-07


    Da der aktuelle Installationsprozess über mehrere posts verteilt ist, möchte ich für das aktuelle RaspberryOS mal eine neue Anleitung posten.

    Die Anleitung basiert zu einem großen Teil auf der Anleitung von developer


    Damit es für Einsteiger etwas einfacher ist, habe ich auch ein kleines Script geschrieben. Das Script beinhaltet die Installation von Doorpi, plus noch ein paar Features die für den einen oder anderen hilfreich sind.

    Installationsanleitung

    Vorarbeit:

    Für die Manuelle wie für die Script basierte Installation benötigt ihr eine aktuelles Image https://www.raspberrypi.org/software/operating-systems/ das ihr mit dem Raspberry Imager auf eine SD-Karte laden könnt.

    Damit ihr über ssh auf den Raspi kommt, muss noch eine Leerdatei mit dem Namen "ssh" erstellt werden.


    Script Installation:


    Installation von git

    Code
    sudo apt-get -y install git

    Script Installation herunterladen

    Code
    sudo git clone https://github.com/rookie10/doorpi-config.git /tmp/doorpicon

    und anschließend installieren

    Code
    sudo /tmp/doorpicon/doorpi-config.sh

    ab sofort könnt ihr mit dem Aufruf


    Code
    sudo doorpi-config


    das Script starten was zu einem Auswahlmenü führt.



    Manuelle Installation (nur mit <= RaspberryOS Release 2021-05-07 )


    ab Raspberry OS 2021.10.30 wird python 2 nicht mehr mit ausgeliefert und muss nachinstalliert werden. Dies wird von dem manuellen script nicht mehr unterstützt.


    Systemupdate und Installation kleiner Helferlein

    Code
    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade 
    sudo apt-get install git nano mc

    git clonen und paar Modifikationen ausführen

    Code
    git clone https://github.com/motom001/DoorPi.git -b master /tmp/DoorPi
    curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py
    sudo apt-get -y install python-watchdog
    sudo python get-pip.py

    ins Installations Verzeichnis wechseln und pip und setuptools updaten

    Code
    cd /tmp/DoorPi
    sudo python -m pip install --upgrade pip
    sudo python -m pip install --upgrade setuptools

    Jetzt müsst ihr die setup.py ändern. Dabei müsst ihr darauf achten das die Formatierung eingehalten wird, sonst ist python beleidigt und verweigert die Ausführung. Editieren könnt ihr mit SCP oder per nano/vi etc.


    setup.py ab Zeile 52 folgende Zeilen

    Python
    from setuptools import setup, find_packages
    from pip.req import parse_requirements
    install_reqs = parse_requirements(os.path.join(base_path, 'requirements.txt'), session=uuid.uuid1())
    reqs = [str(req.req) for req in install_reqs]

    durch diese Zeilen ersetzen

    Python
    from setuptools import setup, find_packages
    def parse_requirements(filename):
        """ load requirements from a pip requirements file """
        lineiter = (line.strip() for line in open(filename))
        return [line for line in lineiter if line and not line.startswith("#")]
    install_reqs = parse_requirements(os.path.join(base_path, 'requirements.txt'))
    reqs = install_reqs

    jetzt kommt endlich die Installation

    Code
    sudo python setup.py install

    den python-daemon auf Version 2.2.4 fixen da sich danach Änderungen ergeben haben die nicht mehr kompatibel sind

    Code
    sudo pip install python-daemon==2.2.4

    damit ihr telefonieren könnt und die Webanwendung funktioniert

    Code
    sudo pip install linphone4raspberry
    sudo git clone https://github.com/motom001/DoorPiWeb.git /usr/local/etc/DoorPiWeb

    jetzt könnt ihr mal testen ob die Installation erfolgreich war

    Code
    sudo doorpi_cli --trace

    abbrechen könnt ihr mit [Strg]+[C]


    jetzt noch den deamon aktivieren und starten

    Code
    sudo systemctl enable doorpi.service
    sudo systemctl start doorpi.service


    Da ich keine Pi- oder USB- sondern eine LAN-Kamera verwende, gehe ich auch nicht auf die Installation von mjpeg-streamer etc. ein. Wäre dann nur ein Blindflug


    Ich hoffe das bei euch die Installation damit erfolgreich ist

  • rookie

    Hat das Label in Arbeit entfernt.
  • Komisch, bei mir haut er immer Fehlermeldungen rein.

    Bei python-watchdog sagt er mir dass es nur python3-watchdog gibt. Geändert gings zwar weiter aber dann bei get-pip.py erscheint folgenes:


    Elend, wenn kleinste Änderungen gleich so eine ganze Anleitung zu nichte machen.

  • Es gibt seit kurzem ein neues Rasberry OS, vermutlich liegt es daran. Als schnelle hilfe versuch es nochmal mit der 21.05 Version.


    Eine Absicherung ob die einzelen Module korrekt installiert wurden hab ich (noch) nicht umgesetzt, aufgrund der geringen reaktion auf das script.

    Ich schau mir mal die Installation mit dem neuen Raspi OS an, vielleicht kann ich den Fehler ja finden


    hier findest du die vorherige Version. Raspian OS

  • Elend, wenn kleinste Änderungen gleich so eine ganze Anleitung zu nichte machen.


    Tja so klein ist die Änderung nicht. Rasperry OS hat python 2.7.x von Board geschmissen. Ab sofort wird das OS nur noch mit python 3 ausgeliefert.


    Ich habe das script jetzt so geändert, das geprüft wird ob python2 installiert ist, ggf. wird es nachinstalliert.


    So langsam machen die ernst, bin mal gespannt wie lange python 2 noch läuft. Vielleicht findet motom001 noch einmal die Zeit, und stellt doorpi auf python3 um

  • Hi ich bin gerade beim Installationsprozess aber beim installieren der geänderten setup.py gibt es in line 124 einen Syntax Error.



    Code
    pi@raspberrypi:/tmp/DoorPi $ sudo python setup.py install
      File "/tmp/DoorPi/setup.py", line 124
        os.chmod(metadata.daemon_file, 0755)
                                          ^
    SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers


    Wie kann ich das beheben?

  • Okay ja da hat es wieder ausgeschalten :rolleyes:


    Ich hab das mit dem Skript gemacht aber nach der Installation geht es nicht weiter es wurde weder eine config erstellt noch ist der Dienst nach starten des Deamons online;(

  • Also, ich habe jetzt nochmal manuell probiert, aber bekomme nachdem ich zeile 123 jetzt geändert habe folgenden Fehler


    Code
    pi@raspberrypi:/tmp/DoorPi $ sudo python setup.py install
    /tmp/DoorPi/setup.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
      import imp
    Traceback (most recent call last):
      File "/tmp/DoorPi/setup.py", line 7, in <module>
        import urllib2
    ModuleNotFoundError: No module named 'urllib2'
  • Ich würde dir ja gerne helfen, bin mir nur nicht sicher ob du das möchtest.


    Meine oben beschriebene < Manuele Installation > geht nicht mehr mit dem aktuellsten OS. Hier kannst du nur die weiter oben beschriebene <Script Installation > verwenden.


    Wenn du unbedingt alles von Hand machen möchtest musst du mindestens RaspberryOS Release 2021-05-07 oder kleiner verwenden.
    Ich würde dir aber raten es mit der Script Installation zu machen, da du nur 4 Befehle ausführen musst. Anschließend ist Doorpi installiert.


    Hier ist auch noch eine kleine beschreibung

    https://github.com/rookie10/doorpi-config