Skip to content
  • Diskussionen, die woanders nicht reinpassen

    50 Themen
    105 Beiträge
    FrankMF

    Allen meinen Leserinnen und Lesern wünsche ich ein gesundes und friedliches Jahr 2024.

    2024_chatgpt.png

    Vor einem Jahr habe ich das Böse (X) verlassen 😉 Link

  • 556 Themen
    1k Beiträge
    FrankMF

    So als Hobby Entwickler hat man manchmal harte Aufgaben 🙂

    Ich habe eines meiner Flask-Projekte mal auf meinem Testrechner versuchsweise installiert um zu schauen, ob das klappt und wo es überall hakt.

    Repo clonen

    Mein Projekt liegt auf gitlab.com und ist nicht privat. Somit ist der Zugriff nicht trivial. Man benötigt einen Access Token, den man sich folgendermaßen erstellen kann.

    Man klickt auf das Icon und dann auf Preferences. Danach auf Access Tokens. Dort erstellt man sich einen.

    Bevor man das Projekt holt, legt man einen Ordner an und wechselt in dieses Verzeichnis. Dann kann man sich das Projekt holen.

    git clone <Repo-URL>

    Danach wird man nach dem Benutzer und dem Token gefragt. Um diese Abfrage in Zukunft zu verhindern, kann man folgenden Git Befehl benutzen.

    git config --global credential.helper store

    Ok, nun war das Repo auf meinem Rechner.

    Virtuelle Umgebung

    Um mit Python und seinen ganzen Paketen vernünftig arbeiten zu können, benötigt man eine virtuelle Umgebung. Stellt Euch das bitte wie einen Container vor, ein installiertes Paket liegt nur dort und ist für das Hauptsystem meines Rechners nicht vorhanden. Es gibt mehrere Möglichkeiten das zu verwalten, ich mache das wie folgt. Wir befinden uns in dem geclonten Verzeichnis.

    python3.11 -m venv .venv

    Damit wird die virtuelle Umgebung angelegt. Dazu wird automatisch der Ordner .venv erzeugt. Wenn man mal Probleme hat, kann man diesen auch löschen und von vorne beginnen.

    Diese Umgebung muss aktiviert werden.

    source .venv/bin/activate

    Auf der Kommandozeile wird das jetzt angezeigt, das man sich in der virtuellen Umgebung befindet. Das ist sehr unterschiedlich von Distribution zu Distribution und auch abhängig davon welche Konsole man benutzt.

    Python Module

    Wenn man jetzt die Anwendung mit

    python app.py

    startet, bekommt man eine Fehlermeldung.

    ModulNotFoundError: No module named 'flask'

    Ok, da wir uns in einer virtuellen Umgebung befindet, sind dort keinerlei Module installiert. Das heißt, wir müssen das jetzt nachholen. Dazu habe ich auf dem Entwicklungsrechner folgenden Befehl benutzt.

    pip freeze > requirements.txt

    Dieser Befehl schaut nach, welche Module installiert sind und erzeugt eine Liste. Ein Auszug

    amqp==5.2.0 appdirs==1.4.4 argon2==0.1.10 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 asgiref==3.7.2 asttokens==2.4.1 async-timeout==4.0.3

    Diese Datei befindet sich jetzt innerhalb des Repositorys. Aufpassen, bei mir war das noch unter 'Unversioned Files' was mir doch ein paar Probleme bereitet hatte.

    Ok, wie installieren wir jetzt die Module? Mit

    pip install -r requirements.txt

    werden die dann alle installiert. Danach sollte das Projekt laufen.

    Andere Abhängigkeiten

    Mein Projekt nutzt selbst signierte Zertifikate für den Webbrowser, der die Anwendung anzeigt.

    ############################################### # Main loop ############################################### if __name__ == "__main__": app.run(debug=True, ssl_context=('cert.pem', 'key.pem'))

    Die kann man mit folgendem Befehl eben erzeugen.

    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

    Danach war das auch erledigt. Ein weitere Abhängigkeit war das Redis Datenbank Passwort. Dieses habe ich in einer .env abgelegt. Inhalt

    REDIS_PASSWORD = '<PASSWORD>'

    Danach lief die Anwendung. Zu dem Redis Datenbank Problem, was mir dann aufgefallen ist, gibt es einen extra Beitrag.

    Vorsicht

    Das ist so nicht für den produktiven Einsatz gedacht.

    debug=True

    Da fehlt noch einiges für, aber das ist hier auch nur ein Entwicklungsrechner.

  • Beiträge zu den Boards der Firma Pine64

    373 Themen
    1k Beiträge
    FrankMF

    Kamil hat doch immer noch irgendein Projekt am Laufen, so das ab und zu neue Kernel reinkommen.

    Link Preview Image Release 6.8.0-rc3-1188-ayufan · ayufan-rock64/linux-mainline-kernel

    Linux kernel source tree. Contribute to ayufan-rock64/linux-mainline-kernel development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Ein 6.7er kam heute auch noch.

    Link Preview Image Release 6.7.0-1186-ayufan · ayufan-rock64/linux-mainline-kernel

    Linux kernel source tree. Contribute to ayufan-rock64/linux-mainline-kernel development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Läuft der RockPro64 bei Euch noch? Muss gestehen, bei mir liegt er nur noch rum.

  • Beiträge zu den Boards der Firma FriendlyELEC

    40 Themen
    179 Beiträge
    A

    Sieht ganz so aus als würde im nächsten Release der R5S unterstützt werden:

    Link Preview Image [RFC,RFT] rockchip: initial rk3568 support by 1715173329 · Pull Request #12974 · openwrt/openwrt

    SoC Highlights: Quad-core Cortex-A55 up to 2.0GHz Mali-G52 GPU 1TOPS NPU LPDDR4/LPDDR4X/DDR4/DDR3/DDR3L/LPDDR3, ECC 4KP60 H.265/H.264/VP9 video decoder 1080P60 H.264/H.265 video encoder 8M ISP with HDR Dual dislplay, LVDS/MIPI-DSI/RGB/eDp/RGB/HDMI2.0/EBC 1x8ch I2S/TDM, 1x8ch PDM, 2x2ch I2S USB3.0 x2/SATA3.0 x3/PCIE2.1/QSGMII,PCIE3.0 1x2Lanes/2x1Lane In this PR I added basic support for the NanoPi R5C and NanoPi R5S boards.

    favicon

    GitHub (github.com)

    Das Code-Review hat 5? Monate gedauert.

  • Beiträge zu anderen kleinen Platinen

    61 Themen
    184 Beiträge
    FrankMF

    Für USB Geräte benötigt man ja ein Netzteil 5V/5A

    5V/5A DC power via USB-C, with Power Delivery support
    Quelle: https://www.raspberrypi.com/products/raspberry-pi-5/

    Ich habe jetzt hier ein Netzteil 5V/4,1A, war nichts anderes auf dem Markt zu bekommen. Dann testen wir mal eine SSD am USB3-Port. Beim ersten Bootversuch meckert er über das nicht ausreichende Netzteil. Das kann man mittels eines Befehles in der config.txt steuern.

    /boot/config.txt

    usb_max_current_enable=1

    Danach erneuter Bootversuch, diesmal klappt alles und es kommen die Dialoge zur Ersteinrichtung.

    frank@raspberrypi:~ $ duf ╭────────────────────────────────────────────────────────────────────────────────────╮ │ 2 local devices │ ├────────────────┬────────┬───────┬────────┬─────────────────────┬──────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────────┼────────┼───────┼────────┼─────────────────────┼──────┼────────────┤ │ / │ 219.5G │ 11.3G │ 199.1G │ [..........] 5.1% │ ext4 │ /dev/sda2 │ │ /boot/firmware │ 510.0M │ 72.3M │ 437.7M │ [#.........] 14.2% │ vfat │ /dev/sda1 │ ╰────────────────┴────────┴───────┴────────┴─────────────────────┴──────┴────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────╮ │ 5 special devices │ ├────────────────┬────────┬────────┬────────┬─────────────────────┬──────────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────────┼────────┼────────┼────────┼─────────────────────┼──────────┼────────────┤ │ /dev │ 3.8G │ 0B │ 3.8G │ │ devtmpfs │ udev │ │ /dev/shm │ 3.9G │ 528.0K │ 3.9G │ [..........] 0.0% │ tmpfs │ tmpfs │ │ /run │ 805.0M │ 5.8M │ 799.1M │ [..........] 0.7% │ tmpfs │ tmpfs │ │ /run/lock │ 5.0M │ 48.0K │ 5.0M │ [..........] 0.9% │ tmpfs │ tmpfs │ │ /run/user/1000 │ 805.0M │ 208.0K │ 804.8M │ [..........] 0.0% │ tmpfs │ tmpfs │ ╰────────────────┴────────┴────────┴────────┴─────────────────────┴──────────┴────────────╯

    Kurzer Speedtest 😉

    frank@raspberrypi:~ $ dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 Datens�tze ein 4096+0 Datens�tze aus 4294967296 Bytes (4,3 GB, 4,0 GiB) kopiert, 31,8582 s, 135 MB/s

    Hier sieht man auch ein kleines Problem, die Umlaute passen nicht, obwohl ich am RPi alles auf Deutsch gestellt habe 😞 Ok, kümmern wir uns später drum.

    Fazit

    Angesichts der Tatsache, das für den RPi 5 auf dem Markt so gut wie nichts zu bekommen ist, muss man sich halt behelfen. Denke das Netzteil sollte in dieser aktuellen Konfiguration völlig ausreichend sein. Vorsichtig wäre ich, wenn man jetzt am zweiten USB3 Port eine konventionelle HDD anschließen wollte.

    Leider bekomme ich auf dem Markt auch kein

    UART Verbindungskabel HAT für SSD

    Falls jemand einen kennt, der so was verkauft, bitte eine Info hier lassen. Danke!

  • 29 Themen
    56 Beiträge
    FrankMF

    Verkauft!