Hallo zusammen;
ich hätte mal eure Meinung gehört, was haltet ihr für sinnvoller und
warum.
Einleitung:
Derzeit befasse ich mich mit Microcontroller Programmierung auf der
Basis von
STM34F417 controllern. Ich habe bislang mit Linux und embedded Linux und
Android keinerlei Erfahrungen.
Ich habe ein System von mehreren Boards welche zur Zeit über CAN Daten
austauschen. Am "Master" befindet sich ein klassiches Touch LCD mit
einer Oberfläche auf der Basis der STM graphics library.
Zur Kommunikation mit "der Aussenwelt" stehen USB Device und Host, auch
OTG, und Ethernet bereit.
Ich würde nun eine gerne eine modernere Oberflächentechnologie
verwenden.
Möglichkeiten:
1. Erwerb einer kommerziellen Bibliothek für das klassische Pannel
(Segger EMwin oder ähnlich -> Kosten)
2. Erwerb eines intelligenten Touchpanels (Konfiguration des HMI am PC)
es erfolgt nur der Datenaustausch mit dem Board, HMI am PC designed).
Das Panel ist eine Art "Minicomputer"
Beispiel: Amulett technologies, und andere.
3.
Verwendung eines anderen / zusätzlichen Controllerboards, welches Linux
/ Android unterstützt.
4. Tablett PC / Handy als "inteligentes HMI Panel", angebunden an USB,
Ethernet,Bluetooth,...
Mir erscheint die letzte Variante handwerklich am vernünftigsten, aber:
Was waren eure Gründe, etwa die gesammte Automatisierung
(CAN,I2C,SPI,GPIO)
und das HMI auf einem LINUX / Android board zu implementierten statt der
Trennung: (Contollerboard = Automatisierung) <--> (Linux/Android
=HMI,Server,Netzwerk...)
Denn mein Eindruck ist folgender:
"klassische Microcontroller" (STM32 als Beispiel) sind gut darin wenn es
um die Automatisierung und hardwarenahe Programmierung, Anbindung von
Elektronischen Komponenten sind
Jedoch ist etwas die Implementierung eines HMI mit modernem look and
feel unverhältnismäßig aufwendig im Vergleich zu: Rasperry PI, und
anderen Linux / Android boards.
Die Linux / Android boards welche ich bislang nur "vom höhrensagen,
Studium verschiedener Blogs, kenne:
Sind gut darin, klassische IT Themen (Webserver, FTP,HMI.....)
kostengünstig darzustellen. Mir erscheint hier jedoch der Aufwand
"klassische Elektrotechnik, Elektronik, Busse,Sensoren) anzubinden recht
hoch(Treiberentwicklung,Einbindung der peripherie in die "Kernel"....
Also, Mein Bauchgefühl:
"Microcontrollerboards" und "Linux/Abdroidboards" sind jeweils in
besonderen Bereichen besonders geeignet.
Bis zu einem gewissem Grad kann das eine System, die Funktionen des
anderen Systems realisieren, die Grenzen verschwimmen zum Teil, der
jeweilige Aufwand wird größer umso mehr ich versuche mit der der einen
Hardware, das "spezialgebiet" der anderen Hardware zu realisieren.
Daher bin ich unsicher und wollte, fragen:
Wo belasst ihr es bei einer Trennung, wo habt ihr/ euch bewusst für oder
gegen Linux / Android als Ersatz für "klassische" Microcontroller
endschieden.
Danke für eure Gedanken ;-)
Gruß Marc
Ich binde meine Systeme jeweils per serieller Schnittstelle, welches
auch eine USB-to-Serial sein kann, an einen PCs. Das Userinterface
schreib ich jeweils in Delphi, weil's schnell geht und wenig Arbeit
erfordert.
Libraries sind keine erforderlich, resp mit der Zeit hat man seine
Komponenten.
Falls ich in Zukunft mit einen Tablet verbinden werde, dann wird meine
Wahl auf Bluetooth fallen.
Die Wahl der seriellen Schnittstelle, moeglicherweise ueber USB oder
Bluetooth, spart mir den Treiber auf der PC Seite, und das Interface auf
der Controller Seite ist auch einfach. Die Datenrate ist limitiert, aber
bisher genuegend.
Welche Stückzahlen hast du denn? 10, 100, 1000, Millionen?
Wie viel sind die Kunden bereit für die GUI zu zahlen?
Was kostet deine eigene Entwicklungsleistung?
Deine Frage lässt vermuten, dass deine Anfrage einen kommerziellen
Hintergrund hat. Dann rechne auch so. Für eine Bauchentscheidung ist das
das falsche Thema.
Am Rande: Android hat mir zur Oberflächenentwicklung bisher einen recht
guten Eindruck gemacht, die Tools kosten nichts und sind recht mächtig.
Ob es für dich aber die richtige Lösung ist, kannst du nur selbst
beurteilen.
Max
Peter Dannegger schrieb:> Wenn man sich anmeldet, kann man eigene Beiträge editieren/löschen.>> Ich hab mich schon gewundert, was "moderne Spannung und Strom" sein> soll.
Hallo Herr Danneger;
Menschen welche sich mit Bediensystemen auseinandersetzen unter
umständen bekannt: "modern UI" steht für "modern user interface" was ich
vergessen hatte zu erläutern.
Modern UI / modern UI ist eine "Phrase" für alle Arten von
Bediensystemen
welche in "Look and feel" dem bekannt ist was man von modernen
Oberflächen
vom "normalen" PC /Tablett/Smartphone kennt.
Gruß
PS:
Peter Dannegger schrieb:> Wenn man sich anmeldet, kann man eigene Beiträge editieren/löschen.>
Dann würde ich sie hiermit bitten Ihren Beitrag zu löschen.
Hallo Max;
> Deine Frage lässt vermuten, dass deine Anfrage einen kommerziellen> Hintergrund hat. Dann rechne auch so. Für eine Bauchentscheidung ist das> das falsche Thema.
Falsch vermutet.
Es ist ein rein privates Thema.
Aber auch im privaten verfolge ich denn Ansatz etwas nicht nur deshalb
zu machen, weil man es machen könnte.
Ich werde zunächst mal den Ansatz verfolgen das UI für den PC unter
Windows 7 zu erstellen.
Im nächsten Schritt für ein Tablett unter Android.
Kopplung eben über die vorhandenen Schnittstellen.
Die Idee mit der seriellen Kommunikation über Bluetooth finde ich gut,
ist vermutlich ausreichend.
Im Allgemeinen duzt man sich übrigens hier im Forum.
Bei privatem Hintergrund würde ich ganz klar auf das Android-Tablet
gehen. Tablets gibt es für 100 EUR, und die Programmierung ist nicht
wirklich schwierig.
Max
Marc Rupprath schrieb:> Modern UI / modern UI ist eine "Phrase" für alle Arten von> Bediensystemen> welche in "Look and feel" dem bekannt ist was man von modernen> Oberflächen> vom "normalen" PC /Tablett/Smartphone kennt.
Ist das so?
Eher nicht. Microsoft, Apple, Canonical und Co. versuchen zwar, die
Bedienphilosophie von Smartphones und Tablets in den PC zu drücken, aber
dieses Vorhaben ist in all den Bereichen zum Scheitern verurteilt, wo
mit dem PC wirklich (mehr oder weniger schöpferisch) GEARBEITET werden
soll.
Sprich: die sog. "modern UI" sind nutzlose Gimmicks, die nur die
stumpfsinnige gehirnkastrierte Masse des Konsumentenviehs geil findet.
Wahrscheinlich, weil es so einfacher ist, die effektiv vorhandenen drei
oder vier Funktionen einer "App" zu benutzen...
Ich für meinen Teil sehe eine gewisse Lebensberechtigung für solche UIs
vielleicht noch im Unterhaltungsbereich. Aber auch da hakelt es schnell.
Man sehe sich als abschreckendes Beispiel mal MythTV an. Solange es nur
um das reine kritiklose Konsumieren bereits aufbereiteter Medien geht,
ist das UI der Sache gewachsen und funktioniert recht ordentlich. Aber
wehe, man ist der Arsch, der mit alleiniger Hilfe des "modern UI" den
Content erlangen, aufbereiten und managen muß oder gar die Konfiguration
damit vornehmen soll. Da merkt man schnell, WIE FURCHTBAR SCHEISSE UND
UNFLEXIBEL so ein UI eigentlich ist.
Und MythTV ist nur ein Beispiel von vielen, und zwar bei weitem noch
nicht das abschreckendste...
Marc Rupprath schrieb:> Daher bin ich unsicher und wollte, fragen:> Wo belasst ihr es bei einer Trennung, wo habt ihr/ euch bewusst für oder> gegen Linux / Android als Ersatz für "klassische" Microcontroller> endschieden.
Hier ein Beispiel: Fernsteuerung eines PCs übers Netzwerk, Anschalten,
Ausschalten, Reset, Überwachung von Spannungen und Temperatur, ggf
durchleiten einer seriellen Schnittstelle. Serverboards haben so etwas
schon von sich aus drauf, sind aber sehr viel teurer.
Es gibt solche Produkte zu kaufen. Die haben ein Linux mit Webserver etc
drauf und haben einen dreistelligen Euro-Preis. Meine Lösung erreicht
das gleiche mit einem 8-Bit PIC und ist damit viel günstiger. Das
teuerste Bauteil auf dem Board ist der Ethernet-Steckverbinder.
Es muss nicht immer Linux sein. Viele Leute nehmen das nur, weil sie die
Alternativen nicht kennen.
Eine Touch UI ist eigentlich so schwierig nicht. Der wichtigste Teil ist
eine schnelle Bitblit-Funktion, die rechteckige Bildbereiche kopiert.
Damit kannst Du dann Textausgabe mit Proportionalschriften bauen,
Buttons, Fenster und all den anderen Kram. So viel ist das eigentlich
gar nicht, wenn man das geschickt macht. Punkte, Linien, Kreise, Flächen
füllen brauchst Du oft nicht einmal.
Dein STM32F417 ist allerdings für solche Dinge nicht die optimale Wahl.
Du brauchst einen Prozessor, der einen TFT-Controller schon mitbringt
und idealerweise schon einen Rasterprozessor hat und damit den
Hauptprozessor entlastet. Dein STM hat das nicht. Es gibt Displays mit
eigenen Controllern, die wie ein SRAM an den externen Adress/Datenbus
angeschlossen werden, aber die sind deutlich langsamer und nicht die
optimale Lösung.
Es geht also auch ohne Linux, und das mit deutlich weniger Speicher.
Plus: So ein System ist sofort da und muss nicht erst booten.
fchk
Hallo c-hater;
ist ein wenig off topic, jedoch:
Scheiße und abschreckend ist eigentlich nur die Ausdrucksweise hier im
Forum.
Zur Sache:
Ich gebe dir mal recht, das die modernen Technologien mit ihren
vielfältigen
Bedien- und Grafikmöglichkeiten nicht zwangsläufig zu einer guten,
zufriedenstellen Bedienbarkeit führen.
Jedoch ist es meine Meinung, das es mit den erweiterten Möglichkeiten
in Gestaltung und Bedienung leichter Möglich ist auf die Bedürfnisse der
Bediener einzugehen.
Im Gegenzug gab es sicherlich auch früher schon gut durchdachte
Oberflächen.
Wie gesagt , was Bedienphilosophie angeht gebe ich dir in Teilen recht.
Daher wird in meinem Berufszweig auch oft auf die Hilfe von Analysten
aus dem Bereich Usability Design hinzugezogen.
Das ist aber eine ganz andere Diskussion und hier der falsche Ort dafür.
Marc Rupprath schrieb:> Scheiße und abschreckend ist eigentlich nur die Ausdrucksweise hier im> Forum.
Wenn man etwas, was wie Scheiße stinkt und wie Scheiße aussieht, nicht
mehr als Scheiße bezeichnen darf, dann haben wir die perfekte Zensur.
"Neusprech" ist dann angesagt.
> Ich gebe dir mal recht, das die modernen Technologien mit ihren> vielfältigen> Bedien- und Grafikmöglichkeiten nicht zwangsläufig zu einer guten,> zufriedenstellen Bedienbarkeit führen.
Das wirklich Schlimme ist, daß die Bedienmöglichkeiten bei genauerer
Betrachtung eben garnicht so vielfältig sind. Nur die sinnlosen und
nutzlosen Grafik- und Animationseffekte sind vielfältig. Nicht die
Bedienmöglichkeiten.
> Jedoch ist es meine Meinung, das es mit den erweiterten Möglichkeiten> in Gestaltung und Bedienung leichter Möglich ist auf die Bedürfnisse der> Bediener einzugehen.
Ja klar. Wer sein Geld damit verdient, es geistig Amputierten aus dem
Kreuz zu leiern, für den ist sowas natürlich immens wichtig, das ist
absolut einsehbar.
> Daher wird in meinem Berufszweig auch oft auf die Hilfe von Analysten> aus dem Bereich Usability Design hinzugezogen.
Klar. Eine Herde Schlipsträger mit weißen Hemden, je mehr, desto besser.
Und praktisch alle haben einen master in Medien-Design oder ähnlich
relevante Abschlüsse. Das Produkt muß ja was werden. Und diese Typen
werden das mit ihrer Kompetenz sicherstellen. Unbedingt...
c-hater schrieb:> Marc Rupprath schrieb:>>> Scheiße und abschreckend ist eigentlich nur die Ausdrucksweise hier im>> Forum.>> Wenn man etwas, was wie Scheiße stinkt und wie Scheiße aussieht, nicht> mehr als Scheiße bezeichnen darf, dann haben wir die perfekte Zensur.> "Neusprech" ist dann angesagt.
Hallo c-hater;
Ich versuche Sie respektvoll zu behandeln, versuchen Sie es doch auch
mal,
auch sich selber gegenüber. Ich wähle hier mit Absicht mal das "Sie".
Es liegt mit fern Sie zu belehren, und Sie dürfen auch Ihre Meinung
Äußern aber: Auf eine Solche Ausdrucksweise kann man sicher auch
verzichten, oder ist das etwas auf das Sie besonders stolz sind ?
> Das wirklich Schlimme ist, daß die Bedienmöglichkeiten bei genauerer> Betrachtung eben garnicht so vielfältig sind. Nur die sinnlosen und> nutzlosen Grafik- und Animationseffekte sind vielfältig. Nicht die> Bedienmöglichkeiten.
Wie gesagt: Ich gebe Ihnen damit recht, das Entwickler dazu neigen, vor
lauter technischer Möglichkeiten das eigentliche Ziel einer Oberfläche,
den Bedienern eine effektive Bedienung zu ermöglichen aus den Augen
verlieren.
>> Ja klar. Wer sein Geld damit verdient, es geistig Amputierten aus dem> Kreuz zu leiern, für den ist sowas natürlich immens wichtig, das ist> absolut einsehbar.
Wie gesagt: Die Anfrage hier war privat und sachbezogen auf meine
konkrete Anfrage, ich kann Ihrem Artikel diesbezüglich keine Hinweise
entnehmen.
Vorschlag: Machen Sie für Ihre wichtigen Anmerkungen aus Anwendersicht
einen eigenen Thread auf.
Ansonsten:
Beruflich arbeite ich seit nunmehr 2 Jahrzehnten im Bereich
Anlagenautomatisierung als Entwickler und Projektleiter für HMI Systeme
der Entsprechenden Maschinen.
Ich halte "geistig Amputiert" für keine geeignete Bezeichnung, weder für
unsere Kunden, noch die Bediener und Maschinenführer an den Anlagen
selber.
>> Daher wird in meinem Berufszweig auch oft auf die Hilfe von Analysten>> aus dem Bereich Usability Design hinzugezogen.>> Klar. Eine Herde Schlipsträger mit weißen Hemden, je mehr, desto besser.> Und praktisch alle haben einen master in Medien-Design oder ähnlich> relevante Abschlüsse. Das Produkt muß ja was werden. Und diese Typen> werden das mit ihrer Kompetenz sicherstellen. Unbedingt...
1. Nicht alle Designer tragen Schlips
Es war eine Zeit in Mode als Designer besonders lässig angezogen zu
sein.
Wie wir beide wissen: Kleider machen noch keine Leute, gilt für alle
Stilrichtungen.
2. Zur Herde:
Manchmal macht es die Größe eines Projektes / die Terminsituation
erforderlich mit mehreren Leuten zusammenzuarbeiten.
Die optimale Mannstärke zu finden ist dabei nicht immer leicht.
Was Sie als "Herde bezeichnen kenne ich als "Projektteam" oder
"Abteilung" oder auch "Arbeitsgruppe".
Dennoch, Ihnen ein feines Wochenende.
@Moderator:
Meine Frage wurde beantwortet, ich habe das Gefühl, das hier zur Sache
alles gesagt ist, Thread löschen, bitte.
Ihnen auch ein prima Wochenende.
Marc Rupprath schrieb:> Ich werde zunächst mal den Ansatz verfolgen das UI für den PC unter> Windows 7 zu erstellen.
Ich stell mir gerade ein CAD-System mit "mUI" vor.
Lol
iTroll schrieb:
" Ich stell mir gerade ein CAD-System mit "mUI" vor."
Du arbeitest also im Bereich der Softwarentwicklung für CAD Systeme, und
auch ihr arbeitet an neuen Konzepten ?. Sicherlich interessant, aber
hier ging es um UI/ HMI Systeme für Microcontroller und /oder
Automatisierungstechnik.
Melde dich mal wenn euer Projekt entsprechend fortgeschritten ist in
einem entsprechendem Forum.
Gruß
Marc Rupprath schrieb:> Wo belasst ihr es bei einer Trennung
Die Automatisierungs-Funktion bleibt in einem Microcontroller ohne
Betriebssystem und Ethernet, betriebssicher, echtzeitfägig, klein und
ohne Updates.
Die Parametrisierung und Visualisierung sollte wenn das Gesamtsystem
eine Ethernet-Schnittstelle hat per Browser von Überall in der Welt
erfolgen können.
Bleibt die Frage, wie die Schnittstelle entsteht, auf der der TCP/IP
Stack und Mini-WebServer mit Firewall und Authentifizierung per https
läuft. Das wäre dein Touchcomputer der mit dem autonomen
Automatisierungs-uC per CAN redet. Dort kann ein Linux laufen, wenn du
die Quellen der Schnittstelle zum uC freigibst. Ohne Quellenfreigabe
halte ich Verwendung von Linux für eine Schweinerei.
Hallo MaWin;
Danke für deine Antwort:
Das ist momentan auch der beste Ansatz: Mikrocontroller +
(Touch)-Computer
zur Bedienung
"Dort kann ein Linux laufen, wenn du
die Quellen der Schnittstelle zum uC freigibst. Ohne Quellenfreigabe
halte ich Verwendung von Linux für eine Schweinerei."
Hab ich nicht so genau verstanden wie du das meinst.
Kannst du mir das noch mal erläutern bitte?
Wann genau hältst du die Verwendung von Linux für Schweinerei ?
Danke dir nochmal.
Linux ist open sources. Wer es einsetzt, sollte auch seine Quellen
veröffentlichen. Nur damit ist es möglich, diesen steuernden
Touch-Computer auch in 10 Jahren zu ersetzen, wenn deine heutuge
Softward mangels Aufwärts-Komoatibilität schon längst nicht mehr unter
dem dann üblichen Linux läuft. Dein Microcontroller mit dem
Echtzeitprogramm wird nämlich auch dann noch kaufen. Dessen Sourcen muss
du nicht veröffentlichen, aber durch den veröffentlichten Source auf dem
Touch-Computer ist die Schnittstelle dokumentiert.
Hallo MaWIn;
Open Source ist, soweit ich das bei Linux / Android verstandne habe nur
der Basis Kernal, am Hardware angepasste Images Packete
Distributionen sind das nicht unbedingt.
Was auch nicht die Frage ist: Für eine Vielzahl von Firmen ist Android /
Linux eben auch die Basis Ihrer Geschäfte, verbunden mit spezifischem
know how und Geschäftsgeheimnissen.
Nicht mal beim Rasberry PI ist alles offengelegt, soweit ich weiss ?!
Dem gegenüber steht das Open Linzx Projekt von Olimex, wo selbst das
Hardwaredesign open Source ist.
Ich bin aber eher bereit für ein Linux Development kit etwas mehr zu
bezahlen, wenn für die gesammte Hardware und Schnittstellen gut in das
system integrierte Treiber nebst API vorhanden sind und ich diese nicht
noch erst selber schreiben muss.
Für mich steht nicht der open Soure gedanke im Vordergrund, auch nicht
als Hobby.
Mich interessiert vielmehr warum jemand aus technischer Sicht:
eher Win7,oder Android,oder Linux für seine Lösung verwendet hatte.
Das wurde hier schon hinreichend beantwortet.
Dennoch danke für deine Meinung.
Dennoch danke für deine Hinweise.