Purebasic für Raspberry Pi

Für allgemeine Fragen zur Programmierung mit PureBasic.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Purebasic für Raspberry Pi

Beitrag von derschutzhund »

ccode_new hat geschrieben:
derschutzhund hat geschrieben:Ich habe hier ein paar Raspberrys und ein Pixtend V2 S https://www.pixtend.de/pixtend-v2/
Man steckt einen Raspberry auf das Board und hat eine komplette SPS mit Relaisausgängen, digitalen und analogen Eingängen usw.
Das Teil lässt ja zumindest schon mal eine anständige Verdrahtung durch die eingesetzten Klemmen zu.
Noch ein passendes Gehäuse für statische Befestigung, oder für Hutschienenbefestigung ausgelegt, und es kann los gehen.
:mrgreen:
Ist vorhanden! :D
Dafür wäre jetzt Purebasic halt genial dann müsste ich mich nicht noch in einer neue Sprache einarbeiten!
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
TroaX
Beiträge: 661
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von TroaX »

Python ist generell schwer in den Sprachfamilien einzuordnen. Dafür arbeitet einfach Python recht eigen und verfolgt schon recht außergewöhnliche Konzepte. Zudem vermischt die Sprache recht viel. Python ist eine Sprache, die versucht, sich aus allem das interessanteste herauszunehmen und in einer Sprache zu vereinen. Für absolute Anfänger ist Python daher eine coole und recht frische Sprache, wohingegen Coder aus der C-Familie es schwerer haben, sich mit Python anzufreunden. Coder aus der Urbasic-Ecke, wo damals noch viel mehr mit Keywords gearbeitet wurde, haben es deutlich leichter mit Python, als zum Beispiel Purebasic oder Visual Basic Coder, die mit den Urbasics nicht viel zu tun hatten. Gerade die Art, wie Keywords genutzt werden, kann ein wenig verwirrend sein. Aber Python schult auch einiges an Disziplin, da dort die korrekte Einrückung essentiell ist, da Codeblöcke nicht mit Kaywords oder Zeichen abgeschlossen werden.

Aber man muss leider sagen, das Python aktuell die beste Möglichkeit ist, für den Pi zu programmieren. Interpretersprachen eignen sich allgemein besser, solche Einplatinencomputer zu programmieren. Denn wenn sie richtig umgesetzt wurden, erwartet einem auf einem x86 System das gleiche Ergebnis, wie es auf einem Pi der Fall wäre. Dadurch kann man gemütlich auf dem PC programmieren und die Funktionalität testen. Auf dem Pi selbst muss das Testergebnis nur noch auf der Zielhardware validiert werden. Man ist dadurch nicht gezwungen, die Programme direkt auf der Zielhardware zu schreiben. Eine Webanwendung in PHP schreibe ich ja auch auf meinem PC und teste sie dort, bevor ich sie auf einen Server schmeiße, der irgendwo anders in DE oder Europa oder sonstwo steht.

Dem einen gefällt es vielleicht, auch auf der Zielplattform zu programmieren und zu testen. Aber wenn man nicht redundant mit Pi's eingedeckt ist, kann es nervig werden. Speicherkarte mit Raspian fertig machen, Peripherie anschließen, Purebasic IDE und Compiler installieren, dann auf dem Ding programmieren, debuggen, kompilieren und testen. Dann die Produktivumgebung aufsetzen, Speicherkarten tauschen, eigene Anwendung installieren usw usw. Und wenn man dann das ganze noch mit einer zweiten eigenen Anwendung erweitern will und das "Produktivsystem" komplett ohne UI arbeitet oder der Pi ohne Peripherie dahinwerkelt, stellt sich dann die Frage: Zweiten Pi zum programmieren kaufen oder Datensicherung der Speicherkarte machen und den ganzen Spaß dann von vorne?

Wenn man mit den GPIO-Block arbeiten will, kommt man natürlich nicht um das programmieren auf dem Pi selbst herum. Aber es ist etwas anderes, wenn man dafür Server oder Anwenderprogramme schreiben will. Dann halte ich es für angenehmer, die Programme auf dem PC zu schreiben und auf dem Pi nur in der Zielumgebung zum Abschluss durchzutesten, als am Ende gezwungen zu sein, alles auf dem Pi zu machen. Für mich müsste also PB ARM für Pi auch den Compiler samt der Libraries ohne IDE auf dem Pi installierbar sein und sollte bis zu einem gewissen grad kompatibel mit den PB- Libraries sein (auf die 3D Engine könnte ich selbst z.B. komplett verzichten). Das würde dann auch die Wahrscheinlichkeit reduzieren, das meine Anwendung auf dem Pi nicht läuft, obwohl sie auf dem PC korrekt arbeitet. Eine andere Möglichkeit wäre es, wenn sich für den Pi auch auf dem PC kompilieren lassen würde. Dann kann ich mir das kompilieren per Remote über z.B. Putty komplett sparen und kann die Anwendung auf dem Zielsystem direkt testen.

Ich vermute aber eher, das es wieder ein einheitliches Komplettpaket wie für alle anderen Plattformen wird. Das bedeutet ich brauch einen zweiten Pi, eine weitere Eingabegarnitur und muss es als zweitgerät an meinen Monitoranschließen. Und aus Platzgründen darf ich dann immer wieder Tastatur und Maus abbauen, wenn ich den PC nutzen möchte. Na da freue ich mich ja schon riesig drauf :lol:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von NicTheQuick »

Also ich programmiere auf meinen Raspberry Pis direkt über SSH. VSCode macht das Leben da super einfach. Einmal SSH-Keys austauschen, verbinden, programmieren. Ich weiß gar nicht mehr wann ich das letzte mal die Speicherkarte ausgetauscht habe. Die habe ich einmal eingesteckt, alles installiert und fertig. Wobei ich bei meinem Raspberry Pi 4 dann doch lieber eine SSD per USB3.0 angeschlossen habe und nun als root-Partition nutze. Das ist einfach 100 mal schneller als irgendeine SD-Karte (in diesem Satz könnte sich eine Hyperbel verstecken). :) Das Ding fährt auf jeden Fall innerhalb weniger Sekunden hoch, MySQL-Server läuft, PHP-FPM-Framework läuft, Webseite kann abgerufen werden. Super gut.

Damit man ordentlich mit VSCode über SSH arbeiten kann, empfiehlt sich allerdings möglichst nichts den kleinsten RAM-Ausbau zu haben, da VSCode Serverprozesse installiert, über die es kommuniziert und die etwas RAM benötigen. Dafür fühlt es sich beim Arbeiten dann so an als würde man direkt auf dem Raspi arbeiten, obwohl man doch gemütlich an seinem großen PC sitzt und der Raspi irgendwo versteckt hinter dem Schrank werkelt.
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Purebasic für Raspberry Pi

Beitrag von derschutzhund »

@TroaX
"(auf die 3D Engine könnte ich selbst z.B. komplett verzichten)"
Ist bei mir genau so!
NicTheQuick hat geschrieben:Also ich programmiere auf meinen Raspberry Pis direkt über SSH. VSCode macht das Leben da super einfach. Einmal SSH-Keys austauschen, verbinden, programmieren. Ich weiß gar nicht mehr wann ich das letzte mal die Speicherkarte ausgetauscht habe. Die habe ich einmal eingesteckt, alles installiert und fertig. Wobei ich bei meinem Raspberry Pi 4 dann doch lieber eine SSD per USB3.0 angeschlossen habe und nun als root-Partition nutze. Das ist einfach 100 mal schneller als irgendeine SD-Karte (in diesem Satz könnte sich eine Hyperbel verstecken). :) Das Ding fährt auf jeden Fall innerhalb weniger Sekunden hoch, MySQL-Server läuft, PHP-FPM-Framework läuft, Webseite kann abgerufen werden. Super gut.

Damit man ordentlich mit VSCode über SSH arbeiten kann, empfiehlt sich allerdings möglichst nichts den kleinsten RAM-Ausbau zu haben, da VSCode Serverprozesse installiert, über die es kommuniziert und die etwas RAM benötigen. Dafür fühlt es sich beim Arbeiten dann so an als würde man direkt auf dem Raspi arbeiten, obwohl man doch gemütlich an seinem großen PC sitzt und der Raspi irgendwo versteckt hinter dem Schrank werkelt.
VSCode habe ich aktuell sogar schon auf meinem PC installiert weil ich mit einem SKR V1.3 Board rumexperimentiere aber welche Programmiersprache verwendest du dann für den Pi?

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von NicTheQuick »

derschutzhund hat geschrieben:VSCode habe ich aktuell sogar schon auf meinem PC installiert weil ich mit einem SKR V1.3 Board rumexperimentiere aber welche Programmiersprache verwendest du dann für den Pi?
Ich mache da aktuell nichts mit der IO, sondern hab da nur zwei Webseiten drauf laufen. Eine Videoüberwachung (Zoneminder) und eine Wetterstation (selbst geschrieben in PHP).
Aber ansonsten programmiere ich hauptsächliche in Python und wenn ich Hardware-nah arbeiten will, dann meistens C oder C++.
Bild
Benutzeravatar
TroaX
Beiträge: 661
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von TroaX »

Naja wenn man VSCode (nutze ich übrigens auch für PHP, HTML, CSS und Javascript) wenn es mal soweit ist, auch für Purebasic ARM verwenden kann, dann kann es im Grunde auch so laufen. Es gibt ja auch eine Extension für Purebasic. Aber irgendwie habe ich die nie richtig zum laufen bekommen und falle immer wieder in die PB IDE zurück. Aber vielleicht geben sie ja einem später auch die Möglichkeit, den Compiler samt den Libs auf den Pi zu installieren und dann per SSH den Code an den Compiler zu schicken, um ihn dann dort zu kompilieren und zu debuggen? Wenn die PB IDE das dann integriert hätte, wäre es natürlich nochmal ein anderes Level. Aber ich glaube mal da wünsche ich mir schon wieder zu viel. :mrgreen:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Purebasic für Raspberry Pi

Beitrag von ccode_new »

Ich denke C/C++ oder Python sind aktuell die produktivsten/besten Programmiersprachen für den Raspi.
Weil die Ansteuerung der Pins mit C-Code ist super einfach und es gibt sehr viele gute Programmierbibliotheken dazu.
Ansonsten ist natürlich Python zu empfehlen.
(Für GUI-Programme würde ich der Faulheit wegen auch Python vorziehen, aber ansonsten C oder C++)
(C++ ist zwar komplizierter als C, es bietet aber auch mehr Möglichkeiten. Es gibt per Standard bessere Möglichkeiten für die Handhabung von Strings, dynamischen Listen, Arrays, etc. und bietet natürlich die Möglichkeit objektorientierte Klassenstrukturen zu erstellen.)

Anbei:
Und wenn es irgendwann mal eine PureBasic-Portierung für den Raspi geben sollte hoffe ich das diese 1000 mal besser ist als BlitzMax für Raspi.

Da das Ganze aber in Richtung SPS geht, wäre natürlich auch die Codesys - Software zu empfehlen. (Keine Ahnung!)

....
Und wenn man Java eine Chance gibt sind die aktuellen Möglichkeiten auf und für einen Raspberry Pi - Kleincomputer zu entwickeln auch nicht ganz schlecht. (b4j , Processing, ...)
Zuletzt geändert von ccode_new am 05.01.2021 18:13, insgesamt 1-mal geändert.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
TroaX
Beiträge: 661
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von TroaX »

ccode_new hat geschrieben:Anbei:
Und wenn es irgendwann mal eine PureBasic-Portierung für den Raspi geben sollte hoffe ich das diese 1000 mal besser ist als BlitzMax für Raspi.
Naja meines Wissens nach sollte es für die meisten Third-Party Libraries, die Purebasic verwendet auch ein entsprechendes Kompilat für den Pi geben. Selbst OGRE gibt es für den Pi. In wie weit sich diese von den Linux x86/x64 Varianten unterscheiden, kann ich aber nicht beurteilen. Aber in der Regel wird ja auch angestrebt, das sie sich garnicht unterscheiden. Aber die Befehlssätze der Chips unterscheiden sich schon erheblich, weswegen ich stark davon ausgehe, das der Compiler selbst den größten Batzen an Arbeit machen dürfte, als die Libs zu übernehmen. Und dann muss ja auch noch eine Library für die Pins her.

Aber wenn sie diese Hürden alle genommen haben, bin ich guter Dinge, das Purebasic für Pi und BlitzMax nicht vergleichbar sein werden, da PB um längen besser sein dürfte. Aber es steht eben noch die große Frage im Raum. Wird denn wirklich effektiv daran gearbeitet? Ist eine Variante für den Pi bestätigt?
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Purebasic für Raspberry Pi

Beitrag von NicTheQuick »

Ich glaube das größte Problem sind die komplett anderen ASM-Instruktionen. Und natürlich ein weiteres Build-System, das sie erst mal für Purebasic ARM aufsetzen müssten. Die ganzen C-Libraries werden sie vermutlich genau so leicht bauen können wie vorher auch. Denn unter Linux für ARM gibt es die ja im Grunde auch alle. Natürlich gibt es Ausnahmen.
Bild
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Purebasic für Raspberry Pi

Beitrag von ccode_new »

Hallo!

Ich habe festgestellt es gibt jetzt eine Version für den RaspberryPi.

Das habe ich gleich mal getestet.
1. Feststellung
Funktionieren tut es aber nur mit einer aktuellen 32 bit Linux-Distro. (aktuelle GCC-Version benötigt - glibc < 2.29 geht nicht)

2. Feststellung (nach allen benötigten Dingen (akt. Distro auf SD-Karte inst., benötigte Libs installiert, Boot-Script auf "Fake-kms-Treiber (fkms)" (wegen HDMI) gestellt, etc))

Das ist ja richtig GEIL!
Die PureBasic-IDE läuft flüssig und es lassen sich die meisten Beispiele völlig problemlos kompilieren. (Genial)
Es gibt meistens eigentlich nur die gleichen Macken (mit gtk2, gtk3(default),qt) wie bei jeder anderen Linux-Distro (mit x86/x64 -CPU).
Auch die 3D - Dinge (Ogre) scheinen größtenteils gut zu funktionieren.
Ich konnte auch die SDL2-Version (von GPI) erfolgreich (mit kleinen SDL.pbi -Änderungen / Kompilieren der Helper-Libs) auf dem Raspi testen.
Das macht irgendwie richtig Laune.

Wozu brauch ich da eigentlich noch Python für den Raspi? :mrgreen:

Auch sonst finde ich was Fred und sein Team bisher geleistet haben echt absolut super.


Tschau!
Eine schöne Weihnachtszeit.


(Und ich habe mal wieder vor ein bisschen was mit PureBasic zu coden.)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten