[ µController-Netzwerk ] Umsetzung Prototypen

  • Hallo zusammen,


    nachdem ich mir jetzt eine Menge Gedanken gemacht habe, wie das ganze System laufen könnte und daraus resultierend versucht habe, zunächst einmal die einzelnen Komponenten zu beschreiben, geht es jetzt an die erste Umsetzung von Prototypen.


    Realisiert habe ich jetzt erst einmal eine Art "Beschreibung" eines ATMEGA16 in C. Es folgen noch ein ATMEGA32 und eines RPi.
    Damit hätte ich zunächst mal drei Grundkomponenten.
    Diese "Beschreibungen" sind sehr detailliert, und ob alle diese Daten jemals gebraucht werden, sei mal dahingestellt. Im Moment ist es imho besser mehr Daten in die Strukturen zu packen als zu wenig.


    Spätestens mit Aufnahme des RPi werden sich die Grundstrukturen noch ändern - also erweitert werden. Dann kann es im nächsten Schritt daran gehen, die einzelnen Verbindungen zu definieren.


    ciao,
    -ds-

  • Ja hey orb :) ...


    für die AVRs nicht unbedingt ...
    Wie ich schon schrieb, denke ich, dass ich viel zu viele Details erfasst habe.


    Aus Erfahrung weiss ich aber, dass es - zumindest in meiner Welt - immer besser ist, erst mal mit zu vielen statt zu wenig Informationen zu starten.
    Sollte es sich herausstellen, dass viele Daten überflüssig sind, kann ich sie rausstreichen. Ich find das einfacher, als was reinzufrickeln.


    Eine Art verwaltungs-Oberfläche sollte schon wissen, was da so im µNode-Netz hängt. Dem einzelnen AVR oder RPi dürfte das ziemlich egal sein.
    Ausserdem steht ja immer noch die Idee im Raum, das Ganze zu dezentralisieren. So könnten Teile dieser Netztstruktur auf die einzelnen Komponenten übertragen werden.


    Ob das nun bis auf Pin-Ebene gehen muss, kann ich im Moment nicht sagen, aber es wäre denkbar alle µController zu suchen, an denen z.B. noch ein PWM-Pin frei ist.


    Ausserdem muss ich mir noch überlegen, wie die Telegramme aufgebaut sein müssen. Da fliessen die Informationen sicher auch noch mit ein.
    Wie gesagt, was davon notwendig ist, weiss ich derzeit noch nicht.
    Das überschneidet sich im Moment noch mit dem anderen Thread.


    Aber irgendwie hat das was ;) ...


    Nachdem ich jetzt das meiste, was ich zu diesem Vorhaben im Hinterkopf herumgetragen habe, als Strukturen definiert habe, kann ich mich zwischendrin als Ablenkung auch mal anderen Dingen zuwenden. Leider gehen mir langsam die Gimmicks aus und die nächste Lieferung kommt erst in ca. einer Woche ;) ...


    //EDIT:
    Wenn ich den Plan aufrechterhalte, Code zu generieren, dann brauche ich sowohl die entsprechenden Pins als auch die Einstellungen ...
    fiel mir grad noch so ein ... ich hatte mir da schon was dabei gedacht ;)




    cu,
    -ds-

  • Hallo beinander :) ...


    so, jetzt gehts an die ersten Verbindungen.


    Ich habe die Datenstrukturen noch um die RPi Daten erweitert und kann damit jetzt (hoffentlich ;)) ATMEGA16 und ATMEGA32 mit ihren verschiedenen Bauformen als auch den RPi als Modell A und Modell B in der Rev. 1 und Rev. 2 abbilden.


    Damit wären wir bei Phase 2, Stufe 1 und 2 lt. Konzept:
    Jetzt muss auf jede µNode ein Daemon, der mit jeweils einem pthread mindestens eine "Listener"-Schnittstelle überwacht.
    Zunächst werde ich das Ganze mal auf Ethernet und RS232 beschränken.


    Start des µNode daemons,
    lesen config
    installieren asynchronen socket-Listener bzw.
    installieren synchronen rs232-Listener
    warten auf eingehende Telegramme
    Telegramme auswerten und entsprechende Anforderung ausführen
    Rückmeldung zum Telegramm


    Ausserdem wird jetzt langsam ein Prototyp der grafischen Oberfläche fällig ...
    Ich hab' jetzt nicht unbedingt Lust drauf, das Ganze mit Xt und widgets zu realisieren.
    Statt dessen habe ich mir mal den Qt4-Designer rausgesucht.
    Ich mag halt nun mal keine grafischen Oberflächen, aber hier werde ich nicht drum herum kommen.
    Entsprechend mager ist auch mein KnowHow diesbezüglich. Einzig mit Xt habe ich schon mal ein Abbild einer Industrie-Anlage realisiert. Das war ähnlich zu meinem jetzigen Vorhaben, erscheint mir aber zu "altbacken" und aufwändig.
    Vielleicht hat ja jemand noch einen Tipp, mit dem das Abbilden des Netzwerks einfacher ist als mit Qt4?


    Anfangs werde ich das noch über telnet oder minicom simulieren können, aber irgendwann muss halt dann mal Butter zu die Fische ;)


    Die Oberfläche wäre dann die Admin-Node, die zunächst mal gar nichts über das Netz weiss, und sich ihre Informationen aus einer Datenbank oder einem Textfile holt.
    Alle Kommandos der Admin-Node sollen später auch als C-API zur Verfügung stehen.
    uNode_Net_init() könnte z.B. per Broadcast über rs232 und/oder TCP/IP die Daten der Master-Nodes einsammeln.


    Ok, weiter bin ich im Moment noch nicht.
    Ideen und Anregungen sowie Verbesserungsvorschläge bitte hier :) ...


    Viele Grüsse aus dem Alpenvorland,
    -ds-

  • Moin beinander,


    ich bastle ja gerade an einem µNode Prototypen. Nebenbei laufen da in meinem Hinterkopf noch Überlegungen zum Thema RS232- bzw. RS485-Bus.
    RS485 bietet ja scheinbar die Möglichkeit, dass die Teilnehmer auch untereinander kommunizieren können. Das muss ich zwar noch genauer recherchieren, aber es scheint mit der Signal-Logik zu tun zu haben.
    Und hier kommen mir gerade Zweifel in Hinblick auf RS232 ...
    Bei Punkt zu Punkt Verbindungen werden die Datenleitungen ja getauscht (Nullmodem). An einem Bus würden aber doch jetzt alle Sendeleitungen und alle Empfangsleitungen zusammen gelegt. Also könnten die Teilnehmer nur mit einem Master reden, dessen Rx und Tx-Leitung verdreht auf den Bus zugreifen.
    Sehe ich das richtig oder hab ich da noch einen Denkfehler?
    Mit anderen Worten: RS232 ist von den elektrischen Voraussetzungen für ein Bus-System zunächst mal nicht geeignet.


    Kann man das irgendwie lösen?
    Ich werde das in der nächsten Zeit mal recherchieren, aber vielleicht hat ja der eine oder andere eine zündende Idee dazu.


    cu,
    -ds-

  • Hallo Gemeinde, meine lieben Brüder und Schwestern ...


    Oops - falscher Text ;) ...
    Ich möchte das hier noch malaus der Versenkung holen. Mittlerweile bin ich zwar um einiges weitergekommen, aber immer noch mit der Umsetzung der Prototypen beschäftigt. Mit anderen Worten: die Hoffnung, sprich diese Idee, stirbt zuletzt.
    Das ergibt sich halt irgendwie, dass ich da vom Hölzchen aufs Stöckchen komme. Dafür sind aber unter anderem die Themen Kommunikation über Funk und die Ansteuerung diverser Displays erledigt.
    Auch Arduinos habe ich jetzt erstmal genügend, um die auch mit einzubauen.
    Geht halt im Augenblick etwas schleppend voran, weil ich natürlich auch bei anderen Themen meinen Senf dazu geben muss :fies: (vor allem was Open Source und Freeware betrifft).
    Aber es geht bald hier weiter ... besser gesagt -> hier <- .
    Die Ideensammlung ist auch noch aktiv.


    cheers,
    -ds-