Forum: Mikrocontroller und Digitale Elektronik Microcontroller & Java


von Klaus (Gast)


Lesenswert?

Hallo,
bin neu hier im Forum, also erstmal sorry das ich so dumm frage.

Ich bin Fachinformatiker Andwendungsentwicklung und programmieren mit 
Java.
Ich suche nach einer neuen Herausforderung und möchte gerne mit 
Microcontroller arbeiten.

Da ich hier in diesem Forum mit der Suche ja mal gar nicht zurecht 
komme, habe ich gedacht frage ich einfach mal so nach.

Kann mir jemand sagen, welcher Microcontroller mit Java programmierbar 
ist?

Als erstes möchte ich mal mit einem Programm (in Eclipse erstellt) eine 
LED zum leuchten bringen und wieder ausschalten.

Ich bin um eure Antworten echt sehr dankbar.

Danke schon mal

Gruß
Klaus

von guest (Gast)


Lesenswert?

guter Witz..

guck mal nach wie groß die JRE ist und vergleiche das mal mit den 
Typischen Angaben zu RAM und Flash um µC..
abgesehen vom fehlenden Windows bzw Linux..

von Klaus (Gast)


Lesenswert?

@Gast

Wenn ich wissen würde wie/ob das ganze funktioniert, hätte ich wohl hier 
nichts geschrieben oder??
Und wenn du keinen Bock hast hier zu antworten oder mich hier so von der 
Seite anfährst, brauchst du auch nicht antworten.
Auf solche Antworten kann man verzichten!!!

von michael (Gast)


Lesenswert?


von Wusel D. (stefanfrings_de)


Lesenswert?

Es gibt eine funktional reduzierte JVM für 8 Bit Mikrocontroller, namens 
TinyVM. Die passte früher mal in 8KB Programmspeicher rein. Sie hatte 
aber keinen Garbage Collector!

Für den lego NXT Computer (ARM mit 256kb Flash) wurde diese JVM 
aufgebohrt, sie heisst nun Lejos. Mit dieser Variante kann man schon 
ganz gut arbeiten.

Es gab auch mal Mikrocontroller mit integrierter JVM. Soweit ich 
mitbekommen habe, wurden diese Produktserien aber wieder eingestellt.

von PittyJ (Gast)


Lesenswert?

Ich denke, jeder Anwendungsprogrammierer sollte mal aus der Java-Ecke 
heraus kommen, und die vielen bunten Sprachen des Lebens kennenlernen:
C, Fortran, Lisp, VHDL, Lua, Ruby. (und noch 100 andere)

Es gibt viel zu lernen, fangen wir an...

von Jim M. (turboj)


Lesenswert?

Klaus schrieb:

> Ich bin Fachinformatiker Andwendungsentwicklung  [...]
>
> Kann mir jemand sagen, welcher Microcontroller mit Java programmierbar
> ist?


Sollte man als Fachinformatiker nicht Google bedienen können...?!

Richtige Mikrocontroller programmiert man wegen beschränkter Ressourcen 
(RAM, Flash) in C.

Für Java sollte man dan schon richtige ARM SOCs verwenen, wie z.b. im 
Raspberry Pi. Außerdem kann ich Dir Android empfehlen, dort gibt es 
eine sehr umfangreiche Unterstützung von Java.

von John (Gast)


Lesenswert?

Hallo Klaus,

gut das ich deinen Beitrag gefunden habe.
Ich möchte etwas ähnliches basteln, auch mit Java.

Mit Java kann man ja den RS232 ansprechen, wenn es keine Microkontroller 
gibt, dann hilft mir ja das auch nicht oder?

Kann mir bitte jemand erklären, was ich alles benötige??

Jim Meba schrieb:
> Außerdem kann ich Dir Android empfehlen, dort gibt es
>
> eine sehr umfangreiche Unterstützung von Java.

Warum Android?

von Gregor B. (Gast)


Lesenswert?

Stefan Frings schrieb:
> Es gab auch mal Mikrocontroller mit integrierter JVM. Soweit ich
>
> mitbekommen habe, wurden diese Produktserien aber wieder eingestellt

Gibt es immer noch.

Der ARM926EJ-S ist so ein Kandidat. Der ist in der Lage, JAVA Byte-Code 
auszuführen, z.B. implementiert in TIs AM1705.

von Andreas H. (ahz)


Lesenswert?

Klaus schrieb:
> Ich bin Fachinformatiker Andwendungsentwicklung und programmieren mit
> Java.
> Ich suche nach einer neuen Herausforderung und möchte gerne mit
> Microcontroller arbeiten.

Man kann auch WEB Seiten in COBOL programmieren. Ob das allerdings Sinn 
macht ist eine andere Frage.

Ich verstehe nicht, warum es unbedingt Java auf uC's sein muss. Hast Du 
dafür bestimmte Anforderungen ?

Als Fachinformatiker bist Du doch sicherlich in der Lage, die 
Programmiersprache passend zur Applikation zu wählen.

Grüße
Andreas

von reimay (Gast)


Lesenswert?


von Idauj (Gast)


Lesenswert?

> Der ARM926EJ-S ist so ein Kandidat. Der ist in der Lage, JAVA Byte-Code
> auszuführen, z.B. implementiert in TIs AM1705.

Bytecode auszuführen bedeutet doch sicher, erhebliche 
Gewschwindigkeitsverluste - im Vergleich zu einem C-Kompilat z. B - in 
Kauf zu nehmen?

von (prx) A. K. (prx)


Lesenswert?

Stefan Frings schrieb:
> Es gab auch mal Mikrocontroller mit integrierter JVM. Soweit ich
> mitbekommen habe, wurden diese Produktserien aber wieder eingestellt.

Bei ARM: Weil der von einem guten JIT-Compiler erzeugte native ARM-Code 
schneller war als der von der Jazelle-Engine ausgeführte Java-Bytecode. 
Ausserdem ist diese Hardware-JVM nicht vollständig und nicht öffentlich 
dokumentiert.

JIT-Compiler fressen allerdings mehr Speicher weg.

von Klaus (Gast)


Lesenswert?

Würde es denn mit einem Arduino funktionieren?

von Mark B. (markbrandis)


Lesenswert?

Wer Java auf einem Embedded-System machen will, kann doch einfach ein 
Android Smartphone dafür nehmen ;-)

von Arc N. (arc)


Lesenswert?

Ein paar Vertreter der Gattung Kann Java-VM-Bytecode direkt ausführen 
gibt es noch:
http://ajile.com/index.php?option=com_content&view=article&id=3&Itemid=7
http://www.imsystech.com/products/im3910.htm
http://www.jopdesign.com/ (Open-Source)

Ob man tote Pferde noch reiten sollte, ist allerdings mehr als fraglich

von Nico (Gast)


Lesenswert?

Also wenn du nicht absolut Hardwarenah arbeiten möchtest, aber trotzdem 
auf uC stehst, sind die Tinkerforge Bricks sicher einen Blick wert:

http://de.wikipedia.org/wiki/Tinkerforge

Für die Teile gibt's Libraries in  C, C++, C#, Object Pascal, Java, PHP, 
Python, Ruby und VB.NET.

von Matthias (Gast)


Lesenswert?

Klaus schrieb:
> Ich bin Fachinformatiker Andwendungsentwicklung und programmieren mit
> Java.
> Ich suche nach einer neuen Herausforderung und möchte gerne mit
> Microcontroller arbeiten.

Vor vielen Jahren hab ich auch mal FIAE gelernt und wurde mit JAVA 
gequält. Mein Rat, zumal du eine Herausforderung suchst: Lern C.
Welchen uC du dann hernimmst ist egal, aber ein Cortex-M wäre eine 
zukunftsweisende Wahl.

Ueber die Jahre hat man immer wieder versucht eine abstrakte Hochsprache 
wie JAVA auf Bare-Metal Targets zu bringen.
Aktuell waere das sowas http://www.stm32java.com/portal/

von Wusel D. (stefanfrings_de)


Lesenswert?

> Bytecode auszuführen bedeutet doch sicher,
> erhebliche Gewschwindigkeitsverluste -
> im Vergleich zu einem C-Kompilat z. B - in
> Kauf zu nehmen?

Ganze genau.

Auf einem PC ist Java nur deswegen einigermaßen performant, weil es eine 
ausgeklügelte Speicherverwaltung hat und weil der Bytecode zur Laufzeit 
in Maschinencode übersetzt wird (JIT Compiler).

Die Mikrocontroller Varianten der JVM intepretieren den Bytecode jedoch, 
so wie auch frühe Versionen von Sun Java.

von Benn (Gast)


Lesenswert?

Habe weiter oben was von Adruino gelesen,

kann mir jemand erklären was das ist? Ist das auch ein Microkontroller?

von Wusel D. (stefanfrings_de)


Lesenswert?

> Mit Java kann man ja den RS232 ansprechen

Nur bedingt.

Das Java von Sun/Oracle enthält eine entsprechende API 
(http://www.oracle.com/technetwork/java/index-jsp-141752.html), jedoch 
enthalten die aktuellen Java Runtime Kits (und Development Kits) keine 
Implementierung.

Sun hatte das Interface damals für wenige Sun Rechner implementiert, die 
inzwsichen nicht mehr supported werden.

Natürlich gibt es alternativen, die sind allerdings in C programmiert 
und haben eine Schnittstelle zu Java. Zum Beispiel "RxTx" für Linux und 
Windows.

von Uwe (Gast)


Lesenswert?

Jazelle

von Cyblord -. (cyblord)


Lesenswert?

Ich dachte WENN Fachinformatiker irgendwas können dann wenigstens 
programmieren. Aber jetzt kannst du grade mal die eine 
Hausfrauenprogrammierprache und bist nicht in der Lage dich in C 
einzuarbeiten? Wie traurig ist das?

von spess53 (Gast)


Lesenswert?

Hi

>Habe weiter oben was von Adruino gelesen,
>kann mir jemand erklären was das ist? Ist das auch ein Microkontroller?

Gurgel kaputt?

http://www.arduino.cc/

MfG Spess

von Wusel D. (stefanfrings_de)


Lesenswert?

Arduino ist ein Entwicklungs Set bestehend aus Modul-Platinen und 
Entwicklungsumgebung. Im Kern befindet sich ein AVR Mikrocontroller aus 
der ATMega Serie. Arduino Boards enthalten eine USB-UART Schnittstelle 
und einen Bootloader, damit man Firmware über USB flashen kann.

Das herausragendste Merkmal von Arduino ist jedoch die umfangreiche 
Sammlung von Libraries, deren praktischer Nutzen in diesem Forum 
vielfach angezweifelt wird.

Das Arduino System verleitet die Entwickler dazu, sich zu wenig mit der 
Hardware zu beschäftigen, indem es jedes kleine Detail in Funktionen 
Kapselt (z.B. die Initialisierung der seriellen Schnittstelle).

Allerdings kann man Arduino Module auch ganz ohne deren Libraries und 
Software programmieren. Die Module bestehen aus gängigen Bauteilen, 
deren Datenblätter frei zugänglich sind und die hier im Forum auch 
umfangreich verwendet werden.

von fonsana (Gast)


Lesenswert?

Klaus schrieb:
> Und wenn du keinen Bock hast hier zu antworten oder mich hier so von der
> Seite anfährst, brauchst du auch nicht antworten.
> Auf solche Antworten kann man verzichten!!!

Auf "Fachinformatiker", die solche Fragen stellen aber auch.
Vollkommen losgeloest von jeglicher Realitaet, ohne Recherche (nein, 
jemand der sich "Fachinformatiker" nennt, kann sich nicht damit 
rausreden, dass er mit der Suche nicht zurecht kommt) und dann auch noch 
dieser - mit viel gutem Willen - als unangemessen zu bezeichnende 
Tonfall.
Und solche Kinder sollen mal unsere Rente verdienen, einfach nur 
traurig.

fonsana

von Benn (Gast)


Lesenswert?

@Stefan Frings
Danke

@cyblord ----
Dir fehlts doch irgendwo.....
Wie viele Programmiersprachen kannst du denn??

von Marwin (Gast)


Lesenswert?

cyblord ---- schrieb:
> Hausfrauenprogrammierprache und bist nicht in der Lage dich in C
> einzuarbeiten? Wie traurig ist das?

Sind schon lustig solche Kommentare, wenn man bedenkt was fuer eine 
panische Angst die meisten "C-Experten" hier vor C++ haben.

von Jochen (Gast)


Lesenswert?

Ich finde es irgendwie traurig wenn ich mir diese Kommentare durchlese.

Das hier ist ein Forum in dem man anderen Nutzer/Kollegen/Freunde helfen 
sollte und nicht wie einige User hier die anderen fertig machen.

Ok eventuell hat man die Suche nicht korregt genutzt oder man ist nicht 
in der Lage Google richtig zu benutzen.
Das alles ist aber kein Grund gleich so ausfällig zu werden.
Helft doch einfach den jungen Leuten wenn sie nicht weiter wissen.

Ich bin mittlerweile seit 20 Jahren Programmierer und mich nervt es 
genauso wenn meine Azubis kommen und mich tausend mal das selbe fragen.
Aber was solls, dann erkläre ich es eben nocheinmal.

Und jetzt zu ihnen Herr
cyblord ---- schrieb:
> Hausfrauenprogrammierprache und bist nicht in der Lage dich in C
>
> einzuarbeiten? Wie traurig ist das?

Du hältst dich wohl für etwas besseres? Kannst vermutlich nur C und 
reist hier die klappe soweit auf?


Seit nett zueinander und helft euch, denn irgendwann braucht jemand 
etwas von dem anderen und dann wollt ihr auch dass man euch hilft.

In diesem Sinne

schönen Tag

von Cyblord -. (cyblord)


Lesenswert?

Benn schrieb:

> @cyblord ----
> Dir fehlts doch irgendwo.....
> Wie viele Programmiersprachen kannst du denn??

Unendlich viele. Weil es nicht auf die konkrete Sprache ankommt. 
Entweder du kannst programmieren oder eben nicht. Die Sprache spielt 
eine untergeordnete Rolle. Einarbeiten muss man sich in eine neue 
Sprache, ja, aber wenn man das nicht kann bzw. nicht relativ schnell, 
dann kann man auch nicht programmieren.

Von einem FACHINFORMATIKER kann man eigentlich schon erwarten dass er 
sowas kann. Ein gelernter KFZ-Mechaniker kommt auch mit einem neuen 
Automodell klar und heult nicht sofort rum warum der Kunde jetzt keinen 
Golf 2 in die Werkstatt bringt weil das kann er.

Du bist doch vom FACH wo ist das Problem? Die Hausfrau von nebenan kann 
sich vielleicht nicht mal schnell C aneignen aber es ist traurig wenn du 
das nicht kannst.

gruß cyblord

von Lehrer (Gast)


Lesenswert?

Hallo!

Ich hatte mal mit der "JAVELIN STAMP" von Parallax zu tun. Keine Ahnung, 
ob es die noch gibt.

von Benn (Gast)


Lesenswert?

cyblord ---- schrieb:
> Du bist doch vom FACH wo ist das Problem? Die Hausfrau von nebenan kann
>
> sich vielleicht nicht mal schnell C aneignen aber es ist traurig wenn du
>
> das nicht kannst.

Gott sei dank ist nicht von mir die Rede :) ich hab lediglich diesen 
Beitrag kommentiert, weil ich deine Ausdrucksweise nicht gerade in 
Ordnung finde.

Du kannst nicht einen Automechaniker mit einem Programmierer 
vergleichen...
Und auch nicht Autos mit Programmiersprachen :)

von Walter S. (avatar)


Lesenswert?

Klaus schrieb:
> Da ich hier in diesem Forum mit der Suche ja mal gar nicht zurecht
> komme, habe ich gedacht frage ich einfach mal so nach.

links oben auf 'home' klicken,
dann kommt eine neue Seite u nd da ist rechts oben ein Feld in den man 
einen Suchbegriff eingeben kann (z.B. Java), dann auf den Button rechts 
daneben klicken

von Klaus (Gast)


Lesenswert?

Hallo zusammen,
danke für die vielen Antworten, auch wenn ein paar nicht so "nette" 
dabei sind.

Weshalb ich JAVA verwenden will ist vollgendes:

Vielleicht hätte ich das sagen sollen, ich programmiere auch Apps für 
Android und das Ziel meines Vorhabens soll sein, einenen Motor, eine 
Lampe mit einer App ein und aus zu schalten, in späteren Versionen 
möchte ich vielleicht sogar mal ein Garagentor damit öffnen.

Versteht ihr jetzt?
Ich wollte mal klein anfangen, da ich von der Materie keine Ahnung habe.

Ich hoffe für euer Verständnis
Danke

von Cyblord -. (cyblord)


Lesenswert?

Benn schrieb:

> Gott sei dank ist nicht von mir die Rede :) ich hab lediglich diesen
> Beitrag kommentiert, weil ich deine Ausdrucksweise nicht gerade in
> Ordnung finde.
Wirklich die Ausdrucksweise oder den Inhalt? Die Wahrheit tut nunmal 
weh.

> Du kannst nicht einen Automechaniker mit einem Programmierer
> vergleichen...
> Und auch nicht Autos mit Programmiersprachen :)
Nicht? Warum nicht?

Was denkst du denn sollte ein Fachinformatiker können?
Warum traut ihr denen hier so wenig zu? Bin ich der einzige der von 
Fachinformatikern irgendwas verlangt und ihr habt die bereits als Nulpen 
abgestempelt?
Na gut wenn ihr es sagt, glaube ich es halt.

gruß cyblord

von Eumel (Gast)


Lesenswert?

Benn schrieb:
> Du kannst nicht einen Automechaniker mit einem Programmierer
> vergleichen...
> Und auch nicht Autos mit Programmiersprachen :)

Man kann alles mit allem vergleichen.
Und bei Autos und Programmiersprachen kommt dann raus, dass das Prinzip 
ziemlich ähnlich ist.

von Peter II (Gast)


Lesenswert?

Klaus schrieb:
> Weshalb ich JAVA verwenden will ist vollgendes:
>
> Vielleicht hätte ich das sagen sollen, ich programmiere auch Apps für
> Android und das Ziel meines Vorhabens soll sein, einenen Motor, eine
> Lampe mit einer App ein und aus zu schalten, in späteren Versionen
> möchte ich vielleicht sogar mal ein Garagentor damit öffnen.
>
> Versteht ihr jetzt?

nö. Was hatt die App auf dem Smartphone denn mit der Programmiersprache 
von µC zu tun?

von Eumel (Gast)


Lesenswert?

Peter II schrieb:
> nö. Was hatt die App auf dem Smartphone denn mit der Programmiersprache
> von µC zu tun?

Vielleicht denkt er, dass man beides in der gleichen Sprache 
programmieren muss damit es funktioniert ;)

von Klaus (Gast)


Lesenswert?

Wie gesagt ich bin ein blutiger Anfänger was die Microcontroller 
angeht.........

von Arc N. (arc)


Lesenswert?

Klaus schrieb:
> Hallo zusammen,
> danke für die vielen Antworten, auch wenn ein paar nicht so "nette"
> dabei sind.
>
> Weshalb ich JAVA verwenden will ist vollgendes:
>
> Vielleicht hätte ich das sagen sollen, ich programmiere auch Apps für
> Android und das Ziel meines Vorhabens soll sein, einenen Motor, eine
> Lampe mit einer App ein und aus zu schalten, in späteren Versionen
> möchte ich vielleicht sogar mal ein Garagentor damit öffnen.

Das wird doch schon konkreter...
Z.B.
http://www.microchip.com/pagehandler/en-us/technology/smartphoneaccessory/tools/android.html
oder
http://www.ftdichip.com/Android.htm

von Ingo (Gast)


Lesenswert?

Die Kernqualifikation eines Informatikers sollte sein, strukturiert zu 
denken und verschiedene Problemlösestrategien zu entwickeln. 
Programmiersprachen sind die Handwerkzeuge dazu.

Du schaffst es Nichteinmal rauszufinden was ein Arduino ist. Ich 
bezweifele das du einen uC zum Laufen kriegst, die Datenblätter sind 
Englisch, Rechenleistung ist nur begrenzt verfügbar. Guck dir das 
Tutorial an, wenns was für dich ist, dann versuch es, wenn nicht bleib 
beim PC.

von Klaus (Gast)


Lesenswert?

Ingo schrieb:
> Du schaffst es Nichteinmal rauszufinden was ein Arduino ist. Ich
>
> bezweifele das du einen uC zum Laufen kriegst, die Datenblätter sind
>
> Englisch, Rechenleistung ist nur begrenzt verfügbar. Guck dir das
>
> Tutorial an, wenns was für dich ist, dann versuch es, wenn nicht bleib
>
> beim PC.


Hallo, bitte vertausche mal nicht die Kommentare, ich habe gefragt ob es 
mit einem Arduino funktioniert.

Benn schrieb:
> Habe weiter oben was von Adruino gelesen,
>
>
>
> kann mir jemand erklären was das ist? Ist das auch ein Microkontroller?

Das war jemand ganz anderes!!!!!!!

von Cyblord -. (cyblord)


Lesenswert?

Wie rechtfertigst du deinen großartigen Anhang "Anwendungsentwicklung"? 
Weil du schonmal Java programmiert hast? Ist das 
"Anwendungsentwicklung"? Aber ok, ich weiß jetzt wo ich so jemanden 
einzuordnen habe. Dachte bisher da ginge mehr.

von Mark B. (markbrandis)


Lesenswert?

Klaus schrieb:
> Das war jemand ganz anderes!!!!!!!

Es existiert bereits eine Lösung um dieses Problem zu vermeiden.

von Klaus (Gast)


Lesenswert?

Ich habe schon mehr programmiert, nicht nur Java.
Java gehörte in meiner Ausbildung zu einer der Hauptprogrammiersprachen.
Falls du es genau wissen willst, habe ich auch PHP/HTML/JAVASCRIPT, 
Delphi, C# gemacht und derzeit programmiere ich ABAP und JAVA

Bist du jetzt zufrieden?

von Kan a. (Firma: Basta) (kanasta)


Lesenswert?

Ich liebe es, wenn "Leute vom Fach" HTML als Programmiersprache 
bezeichnen.

von Klaus (Gast)


Lesenswert?

Das gehörte halt mit dazu in der Ausbildung, mein Gott ihr seid 
vielleicht Erbsenzähler wahnsinn

von Kan a. (Firma: Basta) (kanasta)


Lesenswert?

Klaus, als Erbse solltest du froh sein, hier nicht übersehen zu werden.
In der Woche bewerben sich bei mir 10 Inder, die eine längere Liste als 
du aufweisen können. Pff...

von Klaus (Gast)


Lesenswert?

Da wo ich derzeit arbeite brauche ich keine längere Liste, da verdiene 
ich mit einer prog. Sprache mehr als genug....

Naja mir egal, was hier geschrieben wird, ich verabschiede mich von 
hier, blöd anreden lassen muss ich mich hier nicht von den Experten 
hier.

von spess53 (Gast)


Lesenswert?

Hi

>'Falls du es genau wissen willst, habe ich auch PHP/HTML/JAVASCRIPT,
>Delphi, C# gemacht und derzeit programmiere ich ABAP und JAVA

Mit was du schon mal etwas gemacht hast ist uninteressant. Was davon 
beherrschst du wirklich aus dem FF?

MfG Spess

von Kan a. (Firma: Basta) (kanasta)


Lesenswert?

Auf Wiedersehen, Herr Troll.
Bitte bei HTML bleiben und die Mikrocontroller mit deinen 
"Java-Kenntnissen" verschonen...

von Klaus (Gast)


Lesenswert?

Auf Wiedersehen, Herr KANAKasta

von Jürgen (Gast)


Lesenswert?

Können wir wieder zurück zum Thema kommen :)
Glaube hier sind wir sehr weit abgeschweift :)
Was haltet ihr von seiner Idee mit der App?

von fonsana (Gast)


Lesenswert?

Jürgen schrieb:
> Was haltet ihr von seiner Idee mit der App?

Das steht und faellt mit der Absicherung gegen Angreifer.
Und der TO erweckt den Eindruck, als haette er DAS nicht drauf.

fonsana

von Jürgen (Gast)


Lesenswert?

Wenn du über WLAN eine Verbindung aufbaust müsstest du doch geschützt 
sein oder nicht?

von Kai S. (kai1986)


Lesenswert?

Hallo,

Klaus schrieb:
> Weshalb ich JAVA verwenden will ist vollgendes:
>
> Vielleicht hätte ich das sagen sollen, ich programmiere auch Apps für
> Android und das Ziel meines Vorhabens soll sein, einenen Motor, eine
> Lampe mit einer App ein und aus zu schalten, in späteren Versionen
> möchte ich vielleicht sogar mal ein Garagentor damit öffnen.
>
> Versteht ihr jetzt?
> Ich wollte mal klein anfangen, da ich von der Materie keine Ahnung habe.


Dein Vorhaben unterteilt sich in mehrere Bereiche. Es könnte z.B. so 
aussehen

Smartphone - Schnittstelle - Steuergerät - Licht

Dabei wird die Schnittstelle z.B. Bluetooth oder WLAN sein und das 
Steuergerät wird ein Mikrocontroller oder ein PC sein, der dann über 
einen Ausgang das Licht schaltet. Die Grenze zwischen PC und µC ist 
hierbei eher unscharf.

Ein einfacher Aufbau des Ganzen könnte z.B. mit einem Raspberry Pi 
umgesetzt werden, da dieser ein "kleiner PC mit Ein- und Ausgangspins" 
ist.
Alternativ kann man auch einen 8-Bit µC nehmen und ihn ans Ethernet 
anschließen. Es gibt Projekte, bei denen mit einem ATMega ein kleiner 
Webserver gebaut wurde.

Auf einem Raspberry Pi (ARM µC mit 700MHz) kann man das ganze dann 
vielleicht in Java umsetzen (verbreitet ist das wohl eher Python). Auf 
einem ATMega mit maximal 20MHz Takt wirst du kein Java nutzen können, da 
deren Rechenleistung den Rechnern von vor 15-20 Jahren entspricht.

Daher kommen auch die abfälligen Kommentare, da ein µC eher klein ist 
und somit hardwarenah programmiert werden sollte/muss. Die Grundlage von 
Java im Gegenzug ist, möglichst hardwarefern zu programmieren um 
größtmögliche Unabhängigkeit/Portabilität zu erreichen, was allerdings 
viel Rechenleistung benötigt.


fonsana schrieb:
> Das steht und faellt mit der Absicherung gegen Angreifer.
> Und der TO erweckt den Eindruck, als haette er DAS nicht drauf.

Noch kann er das vermutlich nicht, das ist aber IMMER die 
Ausgangssituation bei einem Lernprozess.

Gruß Kai

von ... (Gast)


Lesenswert?

Für alle eine Zusammenfassung zum Thema Programmiersprache für 
Mikrocontroller:

C - sehr gute Wahl

Assembler - naja, wer sich auch gern Streichhölzer unter die Fingernägel 
schiebt, kann das machen

Bascom - ok, ist halt für die Germanistik-Programmierer, die es lesbarer 
mögen

C++ - geht, wenn der Mikrocontroller genug Speicher hat, wo ich dann mit 
Objekten um mich werfen kann

Java - doof

C# - doof

Delphi - doof

JavaScript - ganz doof

PHP - ganz doof

HTML - noch doofer

von PittyJ (Gast)


Lesenswert?

Ich wüßte noch nicht mal, wie man mit HTML programmieren könnte, sprich 
eine einfache Schleife hinbekommt. Ich dachte immer, das wäre schon 
Javascript.

Achja: Wetter - extrem doof

von Stefan (Gast)


Lesenswert?

Den zahlreichen nutzlosen und wenigen hilfreichen Beiträgen entnehme 
ich, dass Klaus mit einem Android Gerät diverse Verbraucher ein/aus 
schalten möchte. Die dazu nötige Hardware möchte er auf Basis eine 
Mikrocontrollers realisieren.

Dazu empfehle ich einen Mikrocntroller mit Ethernet und/oder Bluetooth 
Schnittstelle, denn die kann man sowohl mit Java als auch mit Javascript 
einfach benutzen.

Guckst Du hier: http://stefanfrings.de/avr_io/index.html

Mit der dort vorgestellten Firmware kannst Du Dich ganz auf die 
Programmierung der App konzentrieren. Die Firmware für den 
Mikrocontroller ist schon fix und fertig.

Weiterhin scheinst es nötig zu sein, ein wenig über C und die Grundlagen 
der Mikrocontroller zu lernen, eventuell auch etwas über die Peripherie 
(wie man Relaise ansteuert und so). Ganz zufällich habe ich auch dazu 
etwas vorbereitet :-)

Guckst Du hier: http://stefanfrings.de/mikrocontroller_buch/index.html

von Matthias (Gast)


Lesenswert?

Marwin schrieb:
> cyblord ---- schrieb:
>> Hausfrauenprogrammierprache und bist nicht in der Lage dich in C
>> einzuarbeiten? Wie traurig ist das?
>
> Sind schon lustig solche Kommentare, wenn man bedenkt was fuer eine
> panische Angst die meisten "C-Experten" hier vor C++ haben.

Lediglich vor dem Overhead den viele so einfach anmutenden Konstrukte 
erzeugen. C++ auf einem Mikro einzusetzen erfordert eine Kenntnis des 
Sprache die weit über das Beherrschen der hochsprachlichen Konstrukte 
hinausgeht.
Die haben die wenigsten "C++-Experten" die ich kenne auch nur annähernd.

von Bill (Gast)


Lesenswert?

Klaus schrieb:
> Ich habe schon mehr programmiert, nicht nur Java.
> Java gehörte in meiner Ausbildung zu einer der Hauptprogrammiersprachen.
> Falls du es genau wissen willst, habe ich auch PHP/HTML/JAVASCRIPT,
> Delphi, C# gemacht und derzeit programmiere ich ABAP und JAVA
>
> Bist du jetzt zufrieden?

Du musst dich hier nicht rechtfertigen. Warum hier manche so pampig sind 
weiss man jetzt auch nicht.
Nur wenn du einen Einstieg in die MCU-Welt suchst, mach es gleich 
richtig. Es wird keine akzeptable Lösung geben bei der du deine MCU in 
JAVA programmieren kannst.
Mein Rat:
1. Kauf dir für 10 Euronen ein Freedom-Board: 
http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/kinetis_kl2_freedom_board?CMP=KNC-EU-KNODEFreedomBoard&s_kwcid=TC|20989|freescale%20freedom||S|e|19499882228
2. Mach deine ersten Schritte darauf mit mbed.org -> 
http://mbed.org/blog/entry/mbed-enabled-Freescale-FRDM-KL25Z-board/
3. Wenn du mehr willst kannst du spaeter dein Projekt aus mbed nach ARMs 
MDK-ARM exportieren und dort mit einer professionellen Umgebung 
weiterentwickeln: http://www.keil.com/arm/mdk.asp

Das Ganze kostet wie du siehst nicht mehr als einen Appel und ein Ei 
(10-15 Euro fuer das Freedom-Board) und am Ende kannst du eine MCU 
programmieren wie es auch die Industrie täte.

von Rene (Gast)


Lesenswert?

Wenn ich hier so die Kommentare lese kommt mir dieser Sprich in den 
Sinn:

"Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen"

(Georg Christoph Lichtenberg 1742 - 1799)

von Rene (Gast)


Lesenswert?

^Sprich^Spruch

von Cyblord -. (cyblord)


Lesenswert?

Klaus schrieb:
> Ich habe schon mehr programmiert, nicht nur Java.
> Java gehörte in meiner Ausbildung zu einer der Hauptprogrammiersprachen.
> Falls du es genau wissen willst, habe ich auch PHP/HTML/JAVASCRIPT,
> Delphi, C# gemacht und derzeit programmiere ich ABAP und JAVA
>
> Bist du jetzt zufrieden?

Ne. Interessiert doch nicht. Und hat mit dem Thread nichts zu tun. Habe 
noch nie einen Schreiner gesehen der Stolz erzählt mit welchen 
Schraubendrehern und mit welchen Hobeln er arbeiten kann. Wäre auch 
irgendwie lächerlich oder? Programmiersprachen sind deine Werkzeuge und 
da solltest du dich nicht selbst beschränken indem du eine Liste führst 
was du kannst und damit implizierst was du alles nicht kannst.
Du musst das richtige Werkzeug für dein Problem wählen. Dein Problem 
ist, du willst einen Microcontroller programmieren. Das richtige 
Werkzeug dafür ist C. Wenn du nun sagst du kannst über deine kleine 
Liste mit Werkzeugen leider nicht hinaus, mehr gibts nicht, dann ist das 
für eine Fachkraft eine Schande.

gruß cyblord

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

> ... dann ist das für eine Fachkraft eine Schande.

Nein, er ist halt nur ein Codierer und spricht JAVA. Deshalb spricht er 
auch etwas HTML...

Ein Programmierer kann auch mit Papier und Bleistift seine Programme 
schreiben.

Es soll sogar welche geben die im HEX-Editor und Maschinensprache direkt 
in der Binärdatei arbeiten :) Denen ist die Sprache total egal, die 
machen Opcode.

von Rene (Gast)


Lesenswert?

cyblord ---- schrieb:
> Das richtige
> Werkzeug dafür ist C. Wenn du nun sagst du kannst über deine kleine
> Liste mit Werkzeugen leider nicht hinaus, mehr gibts nicht, dann ist das
> für eine Fachkraft eine Schande.

Da bin ich anderer Meinung. Wenn alle nur das machen würden, was andere 
für richtig halten, gäbe es keine Innovation mehr.
Klar, ist Java sicher nicht das optimalste aber offensichtlich gibt es 
die Möglichkeit, also weshalb nicht versuchen was es taugt?

Grüsse,
R.

von Cyblord -. (cyblord)


Lesenswert?

Rene schrieb:
> Da bin ich anderer Meinung. Wenn alle nur das machen würden, was andere
> für richtig halten, gäbe es keine Innovation mehr.
> Klar, ist Java sicher nicht das optimalste aber offensichtlich gibt es
> die Möglichkeit, also weshalb nicht versuchen was es taugt?

Äh ja. Was neues zu versuchen ist schon in Ordnung, aber wenn die 
Motivation dazu das eigene Unvermögen ist, die etablierte Lösung 
umzusetzen dann wirkt das etwas lächerlich. Wenn er dann mal der C und 
Controller Crack ist, dann darf er über Java auf Controllern 
philosophieren und uns auf neue Wege führen. Bis dahin ist das alles nur 
eine Ausrede um die eigene Inkompetenz zu kaschieren.

gruß cyblord

von temp (Gast)


Lesenswert?

Für die Aufgabe "Licht anschalten" könnte man sich auch eine rudimentäre 
JVM in C schreiben, die Bytecode von nem EEPROM oder ner SD-Card 
interpretiert, das sollte ein AVR noch hinbekommen ;)

von Marc Rupprath (Gast)


Lesenswert?

Hallo;

vielleicht von Interesse:http://www.stm32java.com/portal/

Gruß

von Dirk (Gast)


Lesenswert?

Mit Java degradiert man einen 32 Bit Controller auf das Geschwindigkeits 
Niveau einer Weinbergschnecke.

Dazumal fehlt dem Anwendungsprogrammierer oft jeglicher Zusammenhang zu 
systemspezifischer Hardware wie Interfaces , Schnittstellen ,Realtime 
Verhalten.

Java wurde nicht für embedded Anwendungen konzipiert.
Auf X86 Windows, Linux, Andoid mag das wegen der Portierbarkeit mit 
immer
ähnlichen Ein/Ausgabe Medien sinnvoll sein.

Mann sollte einfach mal die Kirche im Dorf lassen.
Durch solche Programmiertechniken enstehen heute immer mehr Fehler, da 
oft jegliches Verständnis zwischen HW & SW fehlt

Dirk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.