Jump to content

MasterBrickControl?


pluto
 Share

Recommended Posts

Hallo

 

Ich frage mich, ob es vorstellbar wäre, eine Art MasterBrick Control zu entwickeln. Das könnte ein kleiner MINI PC Sein, der mit einem MasterBrick Verbunden wird und somit als kleiner PC Fungiert. Der Raspberry PI ist zwar schon nicht schlecht, aber etwas zu unpraktisch und zu Teuer, um davon mehrere zu kaufen und zu betreiben.

 

Das MasterBrick Control könnte außerdem über den Brick-Damon Programmiert werden. Der Brick-Damon übersetzt die Anweisungen, die über TCP/IP kommen, so dass der MasterBrick Control diese versteht.

 

Das Control könnte z.b. mit etwas Ram ausgestattet sein, mit einem sehr kleinen Mikrocontroller, sowie einem Strom-Anschloss z.b. über ein Akku-Set oder über ein Netz-Teil. Außerdem sollte später noch eine Speicher Einheit per SD Karte hinzu kommen.

So, dass Daten auch gespeichert werden können.

 

Wenn das alles deutlich Günstiger als der PI wäre, wäre es ein Großer Vorteil.

(Der PI ist schon günstig, so ist das nicht, ich habe auch ein)

 

Was haltet ihr im Allgemeinen davon? Würde das zum Konzept Passen?

Das würde perfekt zu eurer Wetterstation passen.

 

Außerdem könnte man damit nette LED-Animationen erstellen oder ein Ein und Ausschalter für den PI. Aus meiner Sicht wäre das eine Perfekte Ergänzung zum Konzept.

Link to comment
Share on other sites

Ich habe noch nicht so ganz verstanden was du möchtest.

 

Möchtest du einen "PC" haben auf dem du dein Programm schiebst, so dass es standalone ausgeführt wird?

 

Oder möchtest du von außen Steuern (Brickd)? Falls ja, dann gibt es hierfür doch schon die WiFi Extension und bald die Ethernet Extension

Link to comment
Share on other sites

Soweit ich es verstanden hab möchte er einen programmierbaren Brick auf dem er ein Programm ausführen kann um zum Bleistift Daten zu sammeln oder irgendwelche Aktionen auszulösen. Zum Bleistift ist Temp < 10°C Setze RelaisBricklet Relais 1 auf Ein (Heizung an).

Also sozusagen eine Mini SPS wenn man es genau nimmt.

Link to comment
Share on other sites

Nun, ich möchte Tinkerforge ohne PC nutzen. Im Moment ist ja immer ein PC Notwendig.

 

Mini PC trifft es schon sehr gut. Der Mini PC ist mit Minimal RAM ausrüstet sowie einen kleinen Mikrocontroler.

Den man Programmieren kann. Per BrickD. Ich schreibe ein Programm z.b. welches LED'S zum Blicken Bringt. Das Programm schiebe ich dann per BrickD auf den MasterBrick Control.

Wo es dann ausgeführt wird. der BrickD muss das Programm in die Entsprechende Codierung Übersetzten.

Link to comment
Share on other sites

Soll der Brickd die jeweilige Programmiersprache also nach C (Brick-Sprache) übersetzen und auch compilieren?

 

Wenn ja: Halte ich einfach mal für unmöglich.

 

Wenn nein: Kommt dann, wenn es soweit ist...

 

 

P.S.: Ich glaube, unter "Allgemeine Diskussionen" ist was zu On-Device-Programming, schau da mal, ob es auf dich zutrifft.

 

P.P.S.: Günstiger als der Pi geht glaube ich schlecht bei deinen Anforderungen...

 

Link to comment
Share on other sites

So meine ich das nicht. Ich habe den Thread nur Oberflächlich gelesen, werde ihn mal genauer lesen. Meine Idee, basiert darauf das es egal ist mit welcher Programmier Sprache gearbeitet wird.

 

Da der BrickD das Programm übersetzt.

 

Zum Beispiel:

Ich möchte eine LED zum Blicken bringen. Was ist dafür an Code erforderlich?

 

Den Code für das Beispiel schreibe ich(So in meiner Vorstellung) in Pascal und gebe den BrickD die Anweisung(Das könnte eine eigene Methode sein), dass das Programm(TCP Anweisungen) zum MasterBrickControl gesendet wird. Was passiert hier bzw. was soll hier passieren?

 

Der BrickD muss den Code jetzt übersetzten. in der Programmierung, kenne ich das so:

Ich schreibe ein Programm sagen wie in Pascal und dann wird es Kompiliert. Dabei wird unter anderem Maschinen Code erzeugt(Oder sowas ähnliches. Ich denke ihr wisst wie ich das meine, oder?).

 

In diesen Fall müsste es ganz ähnlich sein. Nur einfacher. Weil ein PC hat ja viel mehr Möglichkeiten, als jetzt der MasterBrickControl(Das soll jetzt keine Beleidigung sein).

 

Ich muss aber auch gestehen, dass ich nicht genau weiß, wie so ein Mikrocontroller(Oder was auch immer) Programmiert wird.

 

Ich kann mir schon vorstellen, dass es klappen könnte. Jedenfalls wäre das eine Prima Ergänzung zum Konzept...

(Aus meiner Sicht)

 

Notfalls muss das MasterBrickControl eine eigene kleine ASM(ähnliche) Umgebung mitbringen. Aber damit hat der "Normale" Programmierer in der Regel nichts am Hut.

 

 

Link to comment
Share on other sites

pluto, das mag sich ja gut anhören, aber ich muss das als Utopie entlarven. Denn dass würde bedeuten, für jede Programmiersprache die man da unterstützen wollte, einen neuen Compiler zu schreiben, der dann Machinencode für Cortex-M3 (die Architektur der Mikrocontroller auf den Bricks) erzeugt.

 

Oder wenn mann nicht direkt Machinencode erzeugen wollte, dann müsste man alle zu unterstürzenden Programmiersprachen in einen Bytecode übersetzen und diesen dann auf dem Brick interpretieren. Ähnlich wie Java, C#, Python usw. auch funktionieren.

 

Ich denke, dass wird weder in der einen noch der anderen Form passieren, denn den nötigen Aufwand für sowas kann ich gerade nicht mal überblicken. Für den Fall, dass man annehmen will, dass das überhaupt sinnvoll machbar ist.

Link to comment
Share on other sites

Die Idee ist eine Andere: Nicht für jede Programmier Sprache. Sondern alles soll wie gehabt über TCP laufen. Man könnte z.b. ein Kommando Senden: Block_Begin und ein weiters Kommando Block_Ende.

Da zwischen kommen dann die Entsprechenden Anweisungen. Praktisch eine kleine Scirpt Sprache über TCP.

 

Wobei: Mir fällt gerade auf, der Weg geht ja gar nicht. Das müsste in jedenfall eine eigene Script Sprache sein, die auf den MasterBrickControl läuft nur so wäre es Vorstellbar. Glaube ich.

 

Der Aufwand dafür ist natürlich recht Groß, aber der Nutzen ebenfalls.

Link to comment
Share on other sites

@pluto: Tatsächlich läuft es ziemlich stark auf den erwähnten Thread hinaus... Beliebige Sprachen zu unterstützen wird kaum zu bewältigen sein, wenn man nun darüber diskutiert welche Sprache man unterstützen will landet man im genannten Thread.

 

Neu wäre jetzt allerdings die Idee, dass man den Code per TCP auf die Bricks bringen kann. Das könnte vielleicht auf die eine oder andere möglich sein... obwohl ich da auch nochmal Security-bedenken anbringen wollte...

 

Der Raspberry PI ist [...] zu Teuer

Wenn das alles deutlich Günstiger als der PI wäre

 

Ich befürchte übrigens, dass es bei einem neuen Brick an dieser Stelle enden würde... TF produziert in deutlich geringeren Stückzahlen...

Link to comment
Share on other sites

Wenn ich es mir recht überlege, könntest du recht haben. Ich habe das ganze nicht gut durchdacht. Aber ich gebe nicht so schnell auf.

 

Ich denke, ihr hattet bestimmt schon folgende Ideen:

1. Auf den MasterBrickControl könnte eine Art eigene Umgebung Laufen mit einem eigenen Binären Datei Format. Etwa wie ASM.Es könnte auch Text Basiert sein. Der BrickD muss dann eben prüfen, ob das Script Richtig geschrieben ist, damit der MasterBrickControl das nicht braucht.

 

Nun könnte eine API, ganz einfach eine Methode Bereitstellen, mit dem der Code auf den MasterBrickControl landet. Dabei, wäre es sogar vorstellbar, dass es Codegenartoren gibt. So wie jetzt schon.

 

2. Auf dem MasterBrickControl könnte eine Art Mini Linux laufen. Wo ein BrickD läuft.

Dann würde eine Art PC Simuliert. Der PI ist für viele Anwendungen einfach zu "Groß".

 

Ich würde die erste Idee bevorzugen. Dann würde es auch besser in das jetzige Konzept passen. Wichtig ist eben nur, dass auf dem MasterBrickControl eine eigene Script Umgebung läuft, ob Binäre oder nicht Binäre Spielt im Prinzip keine Große Rolle.

Link to comment
Share on other sites

Auf den MasterBrickControl könnte eine Art eigene Umgebung Laufen mit einem eigenen Binären Datei Format. Etwa wie ASM.

Oder wenn mann nicht direkt Machinencode erzeugen wollte' date=' dann müsste man alle zu unterstürzenden Programmiersprachen in einen Bytecode übersetzen und diesen dann auf dem Brick interpretieren. Ähnlich wie Java, C#, Python usw. auch funktionieren.[/quote']

 

Das wovon photron spricht ist genau das was du meinst :D Java-Bytecode und IL-Bytecode (.NET) sind genau das: ein cooleres Assembler ^^

Link to comment
Share on other sites

  • 2 months later...
Guest xiaomianmian

Nun könnte eine API, ganz einfach eine Methode Bereitstellen, mit dem der Code auf den MasterBrickControl Spam landet. Dabei, wäre es sogar vorstellbar, dass es Codegenartoren gibt. So wie jetzt schon.

 

photron: Spam Link entfernt, Beitrag belassen, damit darauf folgende Beiträge verständlich bleiben.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...