Forum: Mikrocontroller und Digitale Elektronik STM32 - Code Ausführung auf Android via Bluetooth


von Baumarktboy77 H. (baumarktboy77_h)


Lesenswert?

Hallo Leute,

ich habe leider nichts gefunden was mir meine Frage beantwortet.

Undzwar würde ich gerne wissen, ob ich C++ code von einem STM32 aus auf 
einem Android Gerät ausführen kann via Bluetooth?

Das Gegenteil habe ich oft gesehen, LED Steuerung über eine Android app 
via Bluetooth und STM32.

Aber C++ Code von STM32 aus auf Android ausführen lassen? Ist sowas 
überhaupt möglich? Wenn ja, wie sollte ich vorgehen und wo anfangen?

Falls nicht mit STM32, mit welchen ųC wäre sowas möglich?

Viele Grüße,
Baumarktboy77

: Bearbeitet durch User
von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Nunja direkt Code von einer externen Quelle ausführen ist doch der 
Inbegriff einer Sicherhehitslücke ;)
Daher geht das auch nicht.

Was du machen kannst ist eine Webseite auszuliefern und dann wird 
Javascript im Browser des Handys ausgeführt.

Aber erzähl doch mal was es im Grpßen und Ganzen werden soll?

von Baumarktboy77 H. (baumarktboy77_h)


Lesenswert?

Mw E. schrieb:
> Nunja direkt Code von einer externen Quelle ausführen ist doch der
> Inbegriff einer Sicherhehitslücke ;)
> Daher geht das auch nicht.
>
> Was du machen kannst ist eine Webseite auszuliefern und dann wird
> Javascript im Browser des Handys ausgeführt.
>
> Aber erzähl doch mal was es im Grpßen und Ganzen werden soll?

Wieso soll es nicht gehen wenn das Android Gerät mit dem externen Gerät 
via Bluetooth verbunden ist? Ich mein andersrum geht das ja auch.

Im Großen und Ganzen möchte ich mehrere Zeilen von Code auf meinem 
Android Gerät ausführen und Werte aus meiner app lesen.

Gruß,
Baumarktboy77

von Sebastian R. (sebastian_r569)


Lesenswert?

Baumarktboy77 H. schrieb:
> Im Großen und Ganzen möchte ich mehrere Zeilen von Code auf meinem
> Android Gerät ausführen und Werte aus meiner app lesen.

Dann sind der Code auf dem STM und die App aber zwei völlig verschiedene 
Dinge.

Dazwischen braucht es dann eine Schnittstelle (Bluetooh?) und ein 
entsprechendes Protokoll.

von Stefan F. (Gast)


Lesenswert?

Android Geräte führen Android Apps aus, das kann eine Variante von Java 
Code sein, oder Binärcode für ARM7 bzw. ARM9 Prozessoren. Je nach dem, 
was im Android Gerät steckt.

STM32 Mikrocontroller führen Binärcode aus, der für den jeweiligen 
Controller geschrieben und compiliert wurde.

Beides ist untereinander nicht austauschbar. Android Geräte können einen 
Mikrocontroller-Code ausführen und Mikrocontroller können keinen Android 
Code ausführen.

von Christopher J. (christopher_j23)


Lesenswert?

Stefanus F. schrieb:
> Android Geräte können einen Mikrocontroller-Code ausführen

da fehlt wohl ein "k" :p

von Stefan F. (Gast)


Lesenswert?

Christopher J. schrieb:
> Stefanus F. schrieb:
>> Android Geräte können einen Mikrocontroller-Code ausführen
>
> da fehlt wohl ein "k" :p

ja

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Baumarktboy77 H. schrieb:
> Undzwar würde ich gerne wissen, ob ich C++ code von einem STM32 aus auf
> einem Android Gerät ausführen kann via Bluetooth?

Du kannst genau genommen noch nicht mal auf dem STM32 C++ code 
ausführen. Der kann damit garnichts anfangen. Du brauchst dazwischen 
erstmal sowas wie einen (Cross)Compiler der den C++-Code in für den 
jeweiligen Prozzesor verständlichen Maschinecode übersetzt. Und danach 
meist noch eine sogenannten Linker der dir die verschiedenen Einzelteile 
zusammenpackt und ggf. die Speicheradressen anpasst usw.
https://de.wikipedia.org/wiki/Compiler
https://de.wikipedia.org/wiki/Linker_(Computerprogramm)

Das so erstellte Firmware kannst du dann ggf. über BlueT auf deinen µC 
Transportieren wenn denn auf diesem ein entsprechender "Bootloader" 
installiert ist der BlueT unterstützt.
https://de.wikipedia.org/wiki/Bootloader

Für BlueT ist das aber eher selten, denn Bootloader wirst du dir wohl 
erstmal selber schreiben müssen und auf anderem Weg auf den µC 
übertragen(Flachen) bevor dein Vorhaben später mal funktioniert.
https://www.st.com/en/development-tools/st-link-v2.html

von Axel S. (a-za-z0-9)


Lesenswert?

Baumarktboy77 H. schrieb:
> Undzwar würde ich gerne wissen, ob ich C++ code von einem STM32 aus auf
> einem Android Gerät ausführen kann via Bluetooth?

Nein. Wie kommt man auf eine derart dämliche Idee?

> Das Gegenteil habe ich oft gesehen, LED Steuerung über eine Android app
> via Bluetooth und STM32.

"LED Steuerung" ist doch etwas ganz anderes als "C++ Code woanders 
ausführen". Der Code, der da auf jeder Seite läuft, hat immer schon 
existiert. Der wird nicht erst auf Anforderung übertragen. Bluetooth 
stellt nur einen Kommunikationskanal bereit und sagt dem Empfänger, was 
er machen soll. Dabei kann der Sender aber nur aus einem vorher 
festgelegten Funktionsumfang wählen.

Ich versuche mich mal an einem Vergleich: wenn du deine Mutter anrufst 
und fragst "Kannst du Rouladen machen, wenn ich euch am Wochenende 
besuche?", dann hast du auch nicht "über das Telefon Rouladen gekocht". 
Deine Mutter wußte vorher schon, wie man das macht. Und sie hat alle 
dazu erforderlichen Dinge wie Töpfe und Herd bei sich zu Hause stehen. 
Deine Idee ist jetzt so, als würdest du fragen, wie man deinen Herd und 
deine Kochtöpfe über das Telefon zu deiner Mutter bringen kann, damit 
sie für dich kocht.

von Baumarktboy77 H. (baumarktboy77_h)


Lesenswert?

Axel S. schrieb:
> Baumarktboy77 H. schrieb:
>> Undzwar würde ich gerne wissen, ob ich C++ code von einem STM32 aus auf
>> einem Android Gerät ausführen kann via Bluetooth?
>
> Nein. Wie kommt man auf eine derart dämliche Idee?
>
>> Das Gegenteil habe ich oft gesehen, LED Steuerung über eine Android app
>> via Bluetooth und STM32.
>
> "LED Steuerung" ist doch etwas ganz anderes als "C++ Code woanders
> ausführen". Der Code, der da auf jeder Seite läuft, hat immer schon
> existiert. Der wird nicht erst auf Anforderung übertragen. Bluetooth
> stellt nur einen Kommunikationskanal bereit und sagt dem Empfänger, was
> er machen soll. Dabei kann der Sender aber nur aus einem vorher
> festgelegten Funktionsumfang wählen.
>
> Ich versuche mich mal an einem Vergleich: wenn du deine Mutter anrufst
> und fragst "Kannst du Rouladen machen, wenn ich euch am Wochenende
> besuche?", dann hast du auch nicht "über das Telefon Rouladen gekocht".
> Deine Mutter wußte vorher schon, wie man das macht. Und sie hat alle
> dazu erforderlichen Dinge wie Töpfe und Herd bei sich zu Hause stehen.
> Deine Idee ist jetzt so, als würdest du fragen, wie man deinen Herd und
> deine Kochtöpfe über das Telefon zu deiner Mutter bringen kann, damit
> sie für dich kocht.

Wie dämlich muss man sein jede Art von Idee und Frage auf diese Art und 
Weise runterzieht und nur noch dumme Kommentare von sich gibt. Oder hast 
du dämliche Person vergessen wie man via Bluetooth daten überträgt?
Zum Beispiel eine C++ Bibliothek was schon compiled wurde und durch 
einer Interface IC auf das target Gerät übertragen wird.

Aber du bist ja der einzige Einstein hier.

Geh zu deiner Mami vielleicht macht sie dir Rouladen.

Auch wenn etwas nicht möglich ist muss man hier nicht jedem Neuling 
dämlich antworten nur im Forum einen auf cool zu machen. Jeder fragt 
irgendwann irgendwo nach Hilfe.

Erbärmlich wie ihr drauf seid.


Cya

: Bearbeitet durch User
von Mr. Meeseeks look at me (Gast)


Lesenswert?

>Baumarktboy

meinst du im Prinzip so etwas (siehe 12:20 min)
https://www.youtube.com/watch?v=f5yK09NlPzs

Also ein paar Daten hin und her schieben?

von Mr. Meeseeks look at me (Gast)


Lesenswert?

>Baumarktboy

ich dachte, ich bringe etwas Licht ins Dunkel zu der Frage, warum einige 
hier so reagieren, wie sie es tun.

Zum einen ja, ich bin bei dir, dass hier oft unnötig polemisch reagiert 
wird.
Deine Idee ist nicht "dämlich", sondern im Prinzip der Ansatz, den 
Lamda-Funktionen verfolgen.

Der Punkt liegt wo anders:
Das was du im Eingangspost beschreibst, ist einmal eine 
"User-Experience" ("eine Lampe per App via Bluetooth steuern") und 
einmal eine technische Ebene ("C++ Code von STM32 aus auf Android 
ausführen lassen").
Ersteres ist eine sehr konkrete Anwendung, während das zweite sehr viel 
generischer ist.
Dein Nickname und die Art, wie du Begriffe und Technologien zusammen 
benutzt, legen die Vermutung nahe, dass du von der Materie noch nicht 
viel Wissen hast. Was nicht schlimm wäre - daraus würde auch 
resultieren, dass deine Fragen ein Stück Interpretationsraum lassen.

Deswegen beschreibe mal deinen Know-How Hintergrund und dein ganz 
konkretes Ziel á la
"Ich will von einem Temperatursensor an einem µC Rohdaten per Bluetooth 
an ein Androidgerät schicken. Eine dortige App führt Berechnungen durch. 
Das Ergebnis kann vom µC bei Bedarf wieder abgefragt werden."

Im Anschluss stellen sich Fragen wie
"Warum C++?"
"Warum Android"
"Warum STM32"
"Warum..."

Wenn es ein Hobbyprojekt ist und die Antwort auf alle Fragen lautet 
"Weil ich Bock drauf habe", ist das völlig ok.

von Baumarktboy77 H. (baumarktboy77_h)


Lesenswert?

Mr. Meeseeks look at me schrieb:
>>Baumarktboy
>
> ich dachte, ich bringe etwas Licht ins Dunkel zu der Frage, warum einige
> hier so reagieren, wie sie es tun.
>
> Zum einen ja, ich bin bei dir, dass hier oft unnötig polemisch reagiert
> wird.
> Deine Idee ist nicht "dämlich", sondern im Prinzip der Ansatz, den
> Lamda-Funktionen verfolgen.
>
> Der Punkt liegt wo anders:
> Das was du im Eingangspost beschreibst, ist einmal eine
> "User-Experience" ("eine Lampe per App via Bluetooth steuern") und
> einmal eine technische Ebene ("C++ Code von STM32 aus auf Android
> ausführen lassen").
> Ersteres ist eine sehr konkrete Anwendung, während das zweite sehr viel
> generischer ist.
> Dein Nickname und die Art, wie du Begriffe und Technologien zusammen
> benutzt, legen die Vermutung nahe, dass du von der Materie noch nicht
> viel Wissen hast. Was nicht schlimm wäre - daraus würde auch
> resultieren, dass deine Fragen ein Stück Interpretationsraum lassen.
>
> Deswegen beschreibe mal deinen Know-How Hintergrund und dein ganz
> konkretes Ziel á la
> "Ich will von einem Temperatursensor an einem µC Rohdaten per Bluetooth
> an ein Androidgerät schicken. Eine dortige App führt Berechnungen durch.
> Das Ergebnis kann vom µC bei Bedarf wieder abgefragt werden."
>
> Im Anschluss stellen sich Fragen wie
> "Warum C++?"
> "Warum Android"
> "Warum STM32"
> "Warum..."
>
> Wenn es ein Hobbyprojekt ist und die Antwort auf alle Fragen lautet
> "Weil ich Bock drauf habe", ist das völlig ok.


Danke für dein Verständnis. Mein oder der Nickname eines anderen hat 
nichts zu sagen. Im Endeffekt heißt es auch aus dem Grund "Nickname".
Ich bin im 2. Ausbildungsjahr als Elektroniker für Geräte und Systeme 
und da wir bis jetzt nur rechnen und die "Materie" lernen bin ich zwar 
noch ein Frischling aber ich denke es ist keine Schande nicht zu wissen 
sondern eine Schande nicht zu lernen.
Und wenn ich solche Menschen hier sehe wie die junge Menschen die 
vielleicht in der Ausbildung sind, runterziehen, muss ich nur noch 
kotzen. Idioten die nichts besseres im Leben zu tun haben und der jungen 
Generation Steine in den Weg stellen. Aus dem Grund bin ich mit dem 
Forum hier fertig. Das wird meine letzte Post sein.

Zu deine Fragen, warum Cpp? Weil ich viele Arduino Projekte kreiert habe 
bzw. haben wir es auch in der Schule.

Warum STM32? STM32 lässt sich mit Cpp sehr wohl programmieren. (Habe es 
aber nicht selbst getan)

Warum Android? Iphone ist scheiße =)

Nochmals vielen Dank für deine Post.. aber ich werde woanders 
recherchieren und Hilfe suchen. Aufgeben kommt nicht in Frage doch solch 
ein Kindergarten hier werde ich definitiv auch vermeiden.

MfG
Baumarktboy77

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

... nein, ich bin nicht Axel S. , aber ich mag da auch etwas dazu sagen, 
zu den unsagbar "coolen" Ideen von Anfängern (und deren Art zu posten).

Sie schreiben gerne (wie Baumarktboy): "im großen und ganzen möchte ich 
(nur)" ... gefolgt von einer Idee.

Sollte hier ein "nur" stehen suggeriert das etwas in der Art, dass so 
etwas doch "easy" (muß ja alles auch in Englisch sein) zu realisieren 
ist.

Im Zeitalter von abartig schnelle PC's und gigantischen Speichermedien 
sowie Handy's und Tablett erscheint alles ganz "easy" und viele sind so 
technikgläubig, dass sie denken alles müsse gehen.

Um mal zu sagen: Wenn etwas sehr einfach und unkompliziert funktioniert, 
haben sich in aller Regel eine Unmenge heller Köpfe Gedanken darüber 
gemacht wie etwas gehen könnte.

Nun kommt ein ambitionierter Anwender (neudeutsch User) und glaubt, 
alles müsse doch easy sein.


Mr. Messeeks sagt es hier

Mr. Meeseeks look at me schrieb:
> während das zweite sehr viel
> generischer ist.

Es tauchen immer wieder Unmengen von "Usern" auf, die generische Dinge 
tun möchten, aber davon überhaupt keine Ahnung haben.

Sagt man diesen Usern, dass sie keine Ahnung haben werden die, die 
Sachverhalte aufzeigen als Ar***l*** bezeichnet. Sind sie nicht, sondern 
sie versuchen mit einfachen vergleichbaren Bildern zu erklären, warum 
manche Ideen Humbug sind (ich finde den Vergleich mit dem Kochen gar 
nicht so schlecht, auch wenn man hier noch andere Vergleiche hätte 
heranziehen können).

Eigentlich hätte ich fast erwartet, dass jemand antwortet: Such dir 
einen STM32-Emulator für Android und lasse in diesem Emulator den Code 
laufen. Abgesehen davon jedoch habe ich noch keine STM32 Emulator App 
gesehen (was nicht heißt dass es das nicht gibt) und zweitens ist die 
Frage, ob es das ist, was der TO will.

Viel wahrscheinlicher ist es, dass er eine APP erstellen will (für 
Android) die ihre Steuerbefehle via BT erhält, die ein STM32 aussendet.

Am wahrscheinlichsten dürfte hier sein, dass der TO aber keine Handy-App 
erstellen mag oder kann.

In diesem Sinne:

Alles easy

von Mr. Meeseeks look at me (Gast)


Lesenswert?

>Um mal zu sagen: Wenn etwas sehr einfach und unkompliziert funktioniert,
>haben sich in aller Regel eine Unmenge heller Köpfe Gedanken darüber
>gemacht wie etwas gehen könnte.

Es gibt eine Ausnahme -> Mirowellen
Da sitzten eine Unmenge heller Köpfe, die sich überlegen, wie man auf 
Krampf den tausensten Button dran machen kann, um eine 367,86 Gramm 
schwere Pizza in exakt 3,92 Minuten auf zu tauen.

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.