Kurze grundsätzliche Einstiegshilfe

  • Hallo liebe Forengemeinde,

    ich arbeite schon seit gut 2 Jahren mit Arduino & ESP,

    und wage nun den Ein- & Umstieg zum Raspberry.

    Habe mir gleich den Pi Pico samt Waveshare 3,5 Zoll LCD Touch Display geholt, wie DVI / HDMI Platinen-Erweiterung und nun...: :@

    mal ein paar kurze grundlegende Fragen:

    Ich arbeite mit Thonny ( Da Micropython )

    1. "Raspberry Pi Imagner" hat alle Geräte drinnen, nur nicht den Pi Pico ( der passt halt so schön auf den gekauften Display drauf ) aber da kommt man auch schon nicht mal mit weiter...

    2. man ließt nur, das man die Abbilder ( Image-Dateien ) ( Also versteht man es richtig, das ganze OS ( Ubuntu, RasbianOS etc. ) da auf die Raspberry's geladen werden?

    -> 2.1 GEHT DAS NUR MIT MICRO-SD-KARTEN? ( Sprich nicht über die Mini USB-Verbindungen? )

    --> 2.2 Sprich ist auch ein anderes Ansteuern des Displays auch dann so gar nicht möglich,

    ---> 2.3und wie ist das dann mit dem PI Pico zu verstehen, wenn der nicht mal mit Pi Imager "kompatibel" ist?

    Grüße

    Patrick

    Edited once, last by skorpion1800 (November 20, 2023 at 11:27 AM).

  • Hallo,

    du hast da einen Denkfehler drin - der Raspberry Pico 2040 ist ein Microcontroller, der Raspberry Pi in allen Varianten ein Computer. Letzterer braucht ein Betriebssystem. Das kann du u.a. mit dem Raspberry Pi Imager auf eine SD-Karte schreiben, von der der Raspberry Pi dann bootet.

    Der Raspberry Pi Pico braucht das _nicht_. Da lädst du direkt das Programm drauf, nachdem du die MicroPython Firmware drauf geladen hast.

    Siehe z.B.

    Gruß, noisefloor

  • Hallo noisefloor,

    ja das vermutete ich schon.

    Was das heißt, weiß ich nun :) Sprich mit dem Pico steuert man in der Hinsicht das Display an usw.

    und mit dem Raspberry Pi hat man da einen Computer mit OS dann direkt drauf.

    Gut, Rasperry Pi Imager dann auf SD-Karte um somit das OS auf einen Raspberry Pi zu bekommen.

    Den Pi Pico habe ich schon auf Micropython geflasht, leider tue ich mich da gerade so dermaßen schwer, einmal nen Code zu finden, und mit Thonny passende Librarys einzubinden.

    Wird aber die einfachste Option sein?

  • Hallo,

    kommt drauf an, was du als "einfach" bezeichnest und du als "einfach" empfindest :)

    MicroPython und C/C++ sind die beiden von der Raspberry Pi Foundation unterstützen / empfohlenen Sprachen für den Raspberry Pico. Von daher solltest du dazu auch am meisten Doku finden und von daher sollte das auch relativ gesehen einfach(er) sein als andere Sprachen, mit denen man den Pico programmieren könnte.

    Gruß, noisefloor

  • Gut, Rasperry Pi Imager dann auf SD-Karte um somit das OS auf einen Raspberry Pi zu bekommen.

    Nein! Rasperry Pi Imager auf einen Computer drauf und mit diesem ein Image mit einem OS auf eine SD oder SSD flashen und diese SD in den RPi stecken, bzw. SSD an den RPi anschließen.

    Mit RPi meine ich nicht den Pico. Der ist ja nur ein MC wie ein ESP, aber hast Du ja bereits gemerkt.

  • Moinsen

    Den Pi Pico habe ich schon auf Micropython geflasht, leider tue ich mich da gerade so dermaßen schwer, einmal nen Code zu finden, und mit Thonny passende Librarys einzubinden.

    Wird aber die einfachste Option sein?

    Grundsätzlich, wenn ich deine Eingangspost richtig verstanden habe, HDMI kannst du nicht an ein PICO anschließen, SPI aber schon.
    Hier würde ich dir dann aber anraten auf die Programmiersprache C/C++ z.B. auch über die Arduino IDE verfügbar zu nutzen. Das Problem bei dem PICO ist einfach mal der beschränkte RAM. Durch den µPython Interpreter wird dieser noch einmal in seiner freien Verfügbarkeit geschmälert.

    Diese Displays, diese Displaygrößen kann man nicht über einen Bildschirm-Puffer innerhalb des Picos betreiben, sondern muss jeden grafischen Schreibbefehl egal ob Linie, Rechteck, Kreis, Polygon auch mit der Option gefüllt, sowie Schriften direkt via SPI Bus in den Bildspeicher des Displays schreiben.
    Hier haben C-Bibliotheken die über einen Compiler eingebunden werden ein beträchtlich Geschwindigkeitsvorteil.
    Grundsätzlich ist es auch mit µPython möglich ein solche Display mit Leben zu füllen, allerdings sollte man hier dann kein alle zu hohen Erwartungen haben, was den Bildschirmaufbau, die Darstellung einzelner Objekte hat.

    Dazu musst du nur z.B. bei GITGUB auf Suche gehen und dir entsprechend des Bildschirmansteuerchips deinen Treiber heraussuchen und diesen auf dem Pico installieren.
    Das kannst du entweder über Thonny machen, in dem du über das Menü Datei die entsprechenden Treiber *.py Files auf das PICO kopierst, oder du nutzt die Library Verwaltung von Thonny, oder wenn angeboten die *.u2f Datei die zu dem Interpreter hinzugefügt werden muss.
    Bei den meisten GITHUB Treiber-Bibliotheken liegen auch in den Ordner Examples Beispiele bei, wie man den Code mit der Treiber-Bibliothek gestalten muss.

    Beim Pico sind nicht die Schnittstellen unter µPython das Problem, sondern eher die magere mathematische Leistung, weil alle Programmzeilen in einem *.py Code erst durch den Interpreter müssen. Hier hat C/C++ entscheidende Geschwindigkeitsvorteile, allerdings auch immer mit dem Nachteil, das kleine Änderungen am Code erst via neu compiliert werden und auf das Pico übertragen müssen um wirksam werden. Gerade bei der Bilddarstellung welche direkt in den Bildschirmspeicher des Displays geschrieben wird, wird zB das Darstellen eine gefüllten Polygons zu einer eher langsamen Nummer. Was aber nicht heißen soll, dass der Betrieb dieser Displays unmöglich wäre. Man muss sich nur im Klaren sein, aufwendige gestaltete GUI Oberflächen benötigen ihre Zeit um mit µPython auf dem Bildschirm / Display zu landen.

    Franky

  • Für Infos zum Pico empfehle ich Folgendes: Raspberry Pi Documentation - Microcontrollers

    ;) Gruß Outi :D

    Mein Zeug

    Pis: 2x Pi B, 1x Pi B+, 1x Pi 2 B in Rente / 2x Pi 3 B (Tests / Repetier Server) / 2x Pi Zero 1.2 / 2x Pi Zero 1.3 / 2x Pi Zero W 1.1 / 1x Pi Zero 2 (BW+CUPS/SANE) /
    1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (HomeAssistant) / Pi 400 (BW) / 1x Pi 5 8GB (BW) / 2x Pico / 2x Pico W / 2x Pico 2 / 2x Pico 2 W
    HATs: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT / Pimoroni NVMe BASE / M.2 HAT+
    Cams: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Jungs, danke Euch vielmals!

    Es passt schon an sich erstmal soweit.

    Ich hatte ein halbes Jahr C++ angefangen gehabt, und wenn man es nicht versteht, es selbst zu schreiben,

    dann sollte man mit etwas leichterem wie Python anfangen. Da ich eines Tages Rust erlenen möchte, wird es Python und selbst C++ in den Schatten stellen,

    aber irgendwas braucht man ja als Einstieg. Über die ganzen Vor- & Nachteile bin ich mir schon bewusst im klaren, aber soooooo anspruchsvoll ist das Themengebiet bisher auch noch nicht, das ich schon unbedingt mit C weitermachen oder anfangen müsste.

    Danke Dir, werd ich mir noch genauer ansehen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!