Kann man microcontroller mit PHP programmieren?

Gast #3857150
Lesenswert?

Hallo,

über den Sinn dieses Vorhabens kann man natürlich lange diskutieren aber 
da ich nur PHP kann wollte ich mal fragen ob es eine Möglichkeit gibt 
Microcontroller mit PHP zu programmieren.

Wenn nicht welche Sprache für Microcontroller  kommt PHP am nähesten ?

Danke schonmal für eure Hilfe.
Gast #3857163
Lesenswert?

Im Prinzip kann man einen µC nur in Maschinensprache programmieren, 
alles andere wird durch einen Compiler/Assembler in Maschinensprache 
übersetzt. Man kann also in jeder Sprache für die man einen Compiler hat 
programmieren.

Ich habe mich vor ca. 1 Jahr kurz mit PHP beschäftigt und dabei sind mir 
viele Ähnlichkeiten mit C aufgefallen.
Gast #3857188
Lesenswert?

Das ist eine Frage der Interpretation:

Nimm einen µC mit aufgesetztem Linux. Die gibt's wie Sand am Meer.
Da findest Du bestimmt auch einen funktionierenden Compiler.

Direkt und auf unterster Ebene, so wie es hier üblicherweise verstanden 
wird:
Nein, ist auch nicht besonders sinnvoll. Viele µC würden schon bei den 
nötigen Bibliotheken einen Schluckauf bekommen.
#3857195
Lesenswert?

Willst du eigentlich das Programm für den µC in PHP schreiben oder auf 
dem µC eine Website hosten die PHP verwenden?

Für µC würde ich C empfehlen.
Zitat Wikipedia[1]:
> PHP (rekursives Akronym und Backronym für „PHP: Hypertext
> Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine
> Skriptsprache mit einer an C und Perl angelehnten Syntax
                             ^
                             |

[1] https://de.wikipedia.org/wiki/PHP
Gast #3857830
Lesenswert?

Ich merke schon mit meinem PHP komme ich nicht weit also werde ich 
erstmal die Grundlagen von C lernen.

Ich dachte halt nur  warum extra was neues lernen wenn es auch so geht, 
aber dem ist ja wie es aussieht nicht der Fall.

Vielen dank für eure Hilfe
Gast #3857842
Lesenswert?

Für PHP brauchts schon ein Linux-geeignetes Board. Speicherverwaltung, 
etc.

Die kleinen µC haben max. ein paar kB Speicher und keine Mechanismen für 
eine dynamische Verwaltung. Da muss dann mindestens klar sein wie viel 
Speicher eine Variable belegt (max. belegen kann). Bei PHP kann eine 
Variable ja mal Boolean und dann wieder ein ganzes Buch sein.

Gibt reichlich einfache IDEs für µC (Arduino?). Um was zu lernen ist der 
etwas schwerere Weg (C) aber sinnvoller.

Stephan
Gast #3857851
Lesenswert?

Patrick schrieb:
> Hallo,
>
> über den Sinn dieses Vorhabens kann man natürlich lange diskutieren aber
> da ich nur PHP kann wollte ich mal fragen ob es eine Möglichkeit gibt
> Microcontroller mit PHP zu programmieren.

Wie ist die interruptbehamdlung in PHP realisiert? Kennt PHP ein 
Equivalent zu volatile? Ist Inline-Assembler möglich? Gibt es eine PHP 
standardbibliothek mit routinen wie sleep()?

MfG,
#3857865
Lesenswert?

Patrick schrieb:
> Ich merke schon mit meinem PHP komme ich nicht weit also werde ich
> erstmal die Grundlagen von C lernen.
>
> Ich dachte halt nur  warum extra was neues lernen wenn es auch so geht,
> aber dem ist ja wie es aussieht nicht der Fall.
>
> Vielen dank für eure Hilfe

Abgesehen dass das Wissen über C nicht umsonst sein wird, allein schon 
weil es deinen Horizont etwas erweitert, würde es genau so lange dauern 
einen PHP-Interpreter/Compiler + µC-Architektur zu finden und zum laufen 
zu bringen.

Wenn du eher Gelegenheitsprogrammierer bist und einen harten Einstieg 
scheust, schau dir mal die Arduinos an. Die bieten dir auch die 
Möglichkeit irgendwann mal tiefer einzusteigen ohne das bisherige Wissen 
über den Haufen zu werden.
Gast #3857990
Lesenswert?

Wenn du schnell "Erfolge" haben willst nimm erstmal Arduino und dessen 
IDE und spiel ein paar Beispiele von denen durch / und schreib da 
"sketche" (c++). Ist extra einfach gehalten und c++ Klassen musst du da 
nicht schreiben, dass haben die für dich gemacht. Du spielst dann mit 
High-Level-Bibliotheken rum, hast dafür aber keine Ahnung wie der 
Controller wirklich funktioniert, was z.B. ein Register ist...

Außderdem bist du an existierende Blibliotheken für die 
Elektronik/Sensoren/Displays/Motor-Shields, die du verwenden willst 
angewiesen, wenn du nicht tiefer einseigen willst und dir mal eben 
selbst ne Bib. schreiben willst.

Ein Arduino ist nix weiter als ein AVR Board das so konzipiert ist, mit 
dessen IDE zu funktioniern. Man kann ihn auch direkt mit avr-gcc 
programmieren.

Vorsicht: Es gibt auch größere Arduinos, die keinen AVR drauf haben, 
sondern ne ARM-Kanone oderso...
Also nehm den arduino nano v3 oder den Arduino Uno R3 (arduino clones 
gibs auch günstig bei ebay aus china), je nachdem wo dir mehr einer nach 
abgeht.

P.S. Arduinos werden hier von einigen runtergemacht wegen der ganzen 
Noobs die hier ankommen und trivialprobleme haben weil sie ein riesiges 
Halbwissen über uC und programmieren haben.

So nach dem Motto: Der bezeichnet sich als Autokenner und 'Profi', weil 
er unfallfrei fährt und die Markennamen auswendig kennt, hat aber schon 
keine Ahnung mehr, wie man ein Rad wechselt ohne Legotechnik-Anleitung 
für siebenjährige dabei.
Gast #3858023
Lesenswert?

Fpga Kuechle schrieb:
> Wie ist die interruptbehamdlung in PHP realisiert? Kennt PHP ein
> Equivalent zu volatile? Ist Inline-Assembler möglich? Gibt es eine PHP
> standardbibliothek mit routinen wie sleep()?
1. gar nicht
2. nein
3. nein
4. sleep() gibts, sleep() gibt Rechenzeit ans OS ab.

PHP kannst du knicken.
PHP ist mit Absicht Hardware fern geschrieben.
Es soll ja schließlich auf jedem Server dieser Welt laufen können.
PHP braucht ein zugrundeliegendes Betriebssystem, Linux (eigentlich ein 
beliebiges UNIXOIDES System), Windows, Solaris ....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren