- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 9 von 9

Thema: suche Gui-software

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    07.06.2007
    Beiträge
    63

    suche Gui-software

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    gibt es eine einfache Software wo ich eine GUI zum steuern eines µc erstellen kann? Also bislang muss ich befehle (Ascii zeichen) über RS232 senden um funktionen zu starten oder stopen. Wollte das nun über eine kleine Gui vereinfachen. Wie am besten anfangen???

    Mit freundlichen Grüßen

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.10.2006
    Ort
    Bayern
    Alter
    37
    Beiträge
    313
    Blog-Einträge
    1
    Kannst du irgend eine brauchbare Programmiersprache? -> Mit was programmierst du deinen MC?

    Ansonsten kannst du jede AE-Software nehmen, die du willst, von PHP(-GTK) über VB.NET nach Delphi und C++. Was dir so einfällt

    Mfg.
    Lemon

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    07.06.2007
    Beiträge
    63
    Hallo,

    also eig "kann" ich nur eben etwas basic (basecom), gibt es ncihts einfaches wo man schon fertige regler usw hat und sie nur "zuordnen muss"? bzw Knöpfe?

    Am besten für Linux, aber Windows wäre auch i.O


    MFG

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.01.2005
    Ort
    Tokyo
    Alter
    66
    Beiträge
    242
    Hallo,
    gtkterm ist Dein Freund.

    Gruß
    pctoaster

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.08.2005
    Beiträge
    178
    Zitat Zitat von Testman3000
    gibt es eine einfache Software wo ich eine GUI zum steuern eines µc erstellen kann?
    Ein recht allgemeines 'nein' zu dieser recht allgemeinen frage.
    'Software' im sinn einer out-of-the-box lösung ist mir nicht bekannt.
    Am nähesten, zumindest ohne (textuellen) programmieraufwand sollte man dem ziel mit produkten wie z.b. lego nxt kommen, welche die für die kommunikation erforderlichen software gegenstücke für den µC und den PC enthalten und mW. eine erstellung von benutzeroberflächen per maus zulassen.

    sofern sich das µC board durch ein I/O board ersetzen lässt, gibt es die möglichkeit ein solches I/O board zu wählen für das Treiber für ein graphisches programmiersystem o.Ä (zb. Labview, robotics studio) erhältlich sind.

    aber du willst vmtl einen schon vorhandenen µC nutzen, und dazu ist es notwendig die serielle schnittstelle programmatisch anzusteuern, dh du musst programmieren (im klassischen sinne). Zwar haben ca 3650571 leute soetwas bereits für verschiedenste chips entwickelt, trotzdem konnte ich für diesen zweck keine fertiglösung für µC typ XY im internet finden, eine eigene recherche für deinen µC sei dennoch empfohlen.
    da aber in diesem fall sehr lehrreich, eine gute gelegenheit das rad selbst neu zu erfinden .


    Zitat Zitat von Testman3000
    Also bislang muss ich befehle (Ascii zeichen) über RS232 senden um funktionen zu starten oder stopen. Wollte das nun über eine kleine Gui vereinfachen.
    daran wird sich auch mit einer GUI nichts ändern, denn die zeichen müssen selbstredend trotzdem gesendet werden, nur halt implizit (zb. durch drücken eines buttons). Falls du schon als quelltext oder library verfügbare software einsetzt, mit der du diese 'zeichen' überträgst sollte es relativ einfach sein eine GUI mit dem GUI-Builder der IDE nach wahl zu erstellen.

    wenn du aber bisher mit einem terminalprogramm (zb Hyperterminal) gesendet hast , musst du dessen funktionalität ersetzen, also braucht das programm auch einen teil für die serielle kommunikation. Die gebräuchlichsten programmiersprachen bieten den notwendigen zugriff auf die serielle schnittstelle. Bei .NET z.b. kann man das CSerial Objekt bequem per GUI-builder erstellen und per property inspector einfach konfigurieren. Ein wenig komplizerter, nicht viel, ist die verwendung von weniger abstrahierenden APIs welche die serielle schnittstelle meist als file betrachten. Zur programmatischen verwendung der seriellen schnittstelle am PC stehen eine vielzahl von tutorials und beispiel code im netz.


    Zitat Zitat von Testman3000
    Wie am besten anfangen???
    du musst für dich selbst die anforderungen an eine solche software definieren, als erstes am besten aus sicht des benutzers. zb stellen sich fragen wie ob man nur befehle senden will, oder zusätzlich auch antworten des µC empfangen will, ob man den befehlen auch nutzlast, also parameter mitgeben will, ob man die kommunikation mittels prüfsumme auf datenübertragungsfehler prüfen will, etc.

    aus den dadurch gewonnenen anhaltspunkten und etwaigen rahmenbedingungen lässt sich im nächsten schritt ein protokoll für die datenübertragung erstellen. dabei gilt es verschiedenes zu spezifizieren, wie zB steuerzeichen für synchronisation, deren unterscheidbarkeit von datenzeichen, anzahl der zeichen einzelner 'befehle', bei übertragung von nutzdaten ob man variable oder fixe länge erlaubt, wie eine etwaige prüfsumme implementiert wird uvm.
    Am ende dieses schrittes hat man eine fertige protokollspezifikation die es nachfolgend zu implementieren gilt, dh es sind die sender und empfänger programmteile für uC und PC zu programmieren.
    Vieleicht genügt aber auch ein minimalprotokoll wie du es vermutlich bis jetzt benutzt: 1 zeichen für befehl, keine nutzlast, keine empfangsbestätigung, keine prüfsumme.

    für AVR uC zb kann man sich fertige implementierungen von solchen protokollen im quelltext der als open source erhältlichen bootloader ansehen. Vmtl gilt selbes für andere uC.


    bei deinem schon vorhandenen uC wirst du sehr wahrscheinlich nicht daran vorbeikommen ein protokoll zumindest (teilweise) zu implementieren. die spezifikation kannst du dir uU. 'ausleihen' (zb. von o.g. bootloadern abschauen) und eventuell sogar teile derer implementierungen in eigenen quellcode übernehmen.

    ansonsten wären produkte wie lego NXT oder I/O boards mit bereits spezifizierten protokollen und dazugehörigen implementierungen ein weg den nicht zu unterschätzenden aufwand für serielle kommunikation gegen null zu verringern.



    lg
    johns

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Hallo!
    Ich habe einen Artikel wie man GUI's erstellt im RN-Wissen erstellt:
    https://www.roboternetz.de/wissen/in...rn_des_AVR%27s
    (falls das jemandem hilft...)
    Viele Grüße,
    William

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.08.2005
    Ort
    winterthur
    Beiträge
    115
    hi,
    hier ein kleines altes c-programm unter linux & gtk
    mit rs-232 routinen (senden und empfangen)
    steuert einen microcontroller. (fahrtrichtung)

    attachment:Mover12-c.txt

    gruss
    nomad
    Angehängte Dateien Angehängte Dateien

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    @Willa

    hat die RS232 Komponente kein Event ? zum einlesen der Daten.
    Der Timer von Windows ist in meinen Augen suboptimal zum eine lesen
    der Daten. Die WM_TIMER Nachricht wird auch mal entfernt wenn das System beschäftigt ist.
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Hi!
    @NumberFive:
    Doch, ich glaube schon. Nennt sich wohl "serialport1.DataReceived". Aber da ich wenig Ahnung vom Programmieren habe, nehm ich immer gern einen Timer. Der ist so schön intuitiv... Und wenn mal der Timer nicht auslöst, dann macht er es halt erst wieder beim nächsten mal, ist ja egal (wenigstens für meine Zwecke...).
    Viele Grüße,
    William

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress