Einsatz von mehr als zwei 0,96 Zoll OLED Display I²C mit 128×64

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)

  • Es wuerde doch auch ohne die Arduinos gehen: Einfach ein AND in die SPI leitung

    für einen Spezialisten schreibst du etwas unverständlich,
    wo sind bei I2C die SPI Leitungen? :D (scnr)

    Da die OLEDs auf I2C bis jetzt meine jedenfalls alle dieselbe Adresse haben könnte es sogar gehen mit Analogmultiplexer, für x2 (SDA & SCL) optimal 74HCT4052 für 4 OLEDs

    Allerdings sehe ich grad nicht ob jedesmal der Init aufgerufen werden muss, jedenfalls muss man höllisch aufpassen wo man grad ist beim Schreiben

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Einsatz von mehr als zwei 0,96 Zoll OLED Display I²C mit 128×64? Schau mal ob du hier fündig wirst!

  • Ich weis, dass dies hier nicht das Arduino-Forum ist, aber ich stelle die Frage trotzdem einmal. Nachdem nun der Nano und das kleine OLED verbunden sind und testweise auch schon mal Temperatur und rel. Luftfeuchtigkeit angezeigt wird, frage ich mich wo ich zu den einzelnen Bibliotheken (DHT22, Adafruit OLED usw.) die Referenzen finde?

    Ich tue mich mit der github Seite irgendwie etwas schwer, benötige aber zum sauberen Programmieren die Referenzen.

    Ich danke schon mal für eine brauchbare Info :bravo2:

  • ich tue mich auf github auch schwer, aber da muss man durch, runterladen, notfalls einzelne Files und in die LIB Ordener packen.
    Klappt natürlich nur wenn man auf der richtigen Rubrik, PI oder AVR ist.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • ich tue mich auf github auch schwer, aber da muss man durch, runterladen, notfalls einzelne Files und in die LIB Ordener packen.
    Klappt natürlich nur wenn man auf der richtigen Rubrik, PI oder AVR ist.

    Hi!
    Ich glaub dann stehe ich schon wieder auf dem Schlauch. Also Bibliotheken einbinden ist nicht das Problem, sondern die Dokumentationen zu den Bibliotheken zu finden, das krich ich einfach nicht hin :wallbash:

    Beispiel: Im Code der Arduino-Entwicklungsumgebung markierst du im Quelltext "while" und klickst im Maus-Kontextmenü auf "Referenz". Dann öffnet sich der Internetbrowser und es wird online die Arduino-Referenz gelistet.

    Da dies, wie im Beispiel genannt, z.B. mit der Adafruit-Lib nicht klappt, suche ich händeringend nach den Bibliothekenreferenzen :denker:

  • ich weiss warum ich lieber auf dem Arduino programmiere, abgesehen davon geht manches eh nur mit Tricks oder ungenügend auf dem PI

    Ein paar Oled auf AVR ist doch kein Problem, der PI sagt was ausgegeben werden soll -> fettisch

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (4. Mai 2017 um 16:07)


  • Ich glaub dann stehe ich schon wieder auf dem Schlauch. Also Bibliotheken einbinden ist nicht das Problem, sondern die Dokumentationen zu den Bibliotheken zu finden, das krich ich einfach nicht hin :wallbash:

    Beispiel: Im Code der Arduino-Entwicklungsumgebung markierst du im Quelltext "while" und klickst im Maus-Kontextmenü auf "Referenz". Dann öffnet sich der Internetbrowser und es wird online die Arduino-Referenz gelistet.

    Da dies, wie im Beispiel genannt, z.B. mit der Adafruit-Lib nicht klappt, suche ich händeringend nach den Bibliothekenreferenzen :denker:

    Für die meisten GitHub-Libraries gibt es keine "Referenz"-Seiten, es sei denn, du baust die selbst und hängst die dir unter <Arduino-Verzeichnis>/reference ein (kanns mal nachsehen, wie das dort aufgebaut ist). Ich kenne jedoch keinen, der sich die Mühe gemacht hat...

    Ich versuche mich bei GitHub-Quellen ggf. durch den Code zu wuseln, beginnend mit den Headern: Manchmal hat der Entwickler dort einen hilfreichen Kommentar bzgl. der Nutzung der jeweiligen Methode hinterlassen... manchmal... :geek:

    Viel schlimmer ist es bei GitHub-Sourcen, wenn da Fehler gemeldet werden und diese Monatelang oder nie korrigiert werden... Projekt quasi tot ist...

  • Zitat von Zentris


    Für die meisten GitHub-Libraries gibt es keine "Referenz"-Seiten, es sei denn, du baust die selbst und hängst die dir unter <Arduino-Verzeichnis>/reference ein (kanns mal nachsehen, wie das dort aufgebaut ist). Ich kenne jedoch keinen, der sich die Mühe gemacht hat...


    Sowas hab ich mir schon fast gedacht. D.h. bei diversen Funktionen geht dann das große Rumprobieren los was z.B. welcher Aufrufparmeter bewirkt. Oder mann muss sich durch die Untiefen des Bibliothekenquellcodes wuseln :s

    Zitat von Zentris


    Ich versuche mich bei GitHub-Quellen ggf. durch den Code zu wuseln, beginnend mit den Headern: Manchmal hat der Entwickler dort einen hilfreichen Kommentar bzgl. der Nutzung der jeweiligen Methode hinterlassen... manchmal... :geek:


    Okay, hatte ich ja oben schon angerissen. Ist dann eben mehr so learning by doing - zeitintensiv für einen Anfänger-Hobby-Programmierer. Dann schreib ich je nach Forschungsergebnis eben meine eigenen Kommentare in die Bibliothekenfiles....

    Zitat von Zentris


    Viel schlimmer ist es bei GitHub-Sourcen, wenn da Fehler gemeldet werden und diese Monatelang oder nie korrigiert werden... Projekt quasi tot ist...


    Stimmt, eine saubere Modellpflege wäre da schon angebrachter. Ich denke mal ein Source nach Beseitigung des/der Fehler in Eigenregie wieder auf GitHub zu stellen ist verpönt?! :daumendreh2:

    Aber danke dir für eine kurze Hilfe :thumbs1:


  • Sowas hab ich mir schon fast gedacht. D.h. bei diversen Funktionen geht dann das große Rumprobieren los was z.B. welcher Aufrufparmeter bewirkt. Oder mann muss sich durch die Untiefen des Bibliothekenquellcodes wuseln :s
    Aber danke dir für eine kurze Hilfe :thumbs1:

    das Spiel kenne ich,

    als ich mit dem Arduino mighty mini 1284p anfing und dann die tolle fastLED LIB fand klappte das nicht.

    Es lag daran weil der ATmega1284p fürs Timing genau 10% länger brauchte, aus gewollten 30µs wurden 33µs und die WS2812b blieb unbeeindruckt!

    Ich schrieb den Entwicker an, einzige Reaktion:
    "Die LIB ist mit allen Arduino getestet worden und in Ordnung, der mighty mini 1284p ist kein Arduino."
    Er hätte keinen mighty mini, ich könnte ihm gern einen schicken ....

    Also wuselte ich mich durch den Code und fand:

    Spoiler anzeigen


    fastLED Lib zu ändern:
    z.B. C:\Programme\Arduino\libraries\FastLED\delay.h

    // hier andere CPU als AVR
    #if !defined(__MK20DX128__)
    template<int CYCLES> __attribute__((always_inline)) inline void delaycycles() {
    _delaycycles_AVR<CYCLES / 3, CYCLES % 3>();
    }
    #else
    // dann dürfte der Teil nur die AVR betreffen:
    // ..... viel unbrauchbares

    // ab hier wirds interessant:

    // Macro to convert from nano-seconds to clocks and clocks to nano-seconds
    // #define NS(_NS) (_NS / (1000 / (F_CPU / 1000000L)))

    #if F_CPU < 96000000
    #define NS(_NS) ( (_NS * (F_CPU / 1000000L))) / 1000
    #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / (F_CPU / 1000000L)


    #else // F_CPU > 96000000

    // und da hätten wir wieder:
    #define NS(_NS) ( (_NS * (F_CPU / 2000000L))) / 1000
    und ergänzen:

    #if defined(__AVR_ATmega1284P__) && (F_CPU==16000000L)


    #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / ( F_CPU * 9L/10L) / 2000000L) // also zu 90% setzen oder 10% langsamer


    #else
    // sonst lassen wir das unangetastet
    #define CLKS_TO_MICROS(_CLKS) ((long)(_CLKS)) / (F_CPU / 2000000L)
    #endif // #if defined(__AVR_ATmega1284P__) && (F_CPU==16000000L)

    #endif // der ELSE Teil von #if !defined(__MK20DX128__)


    ist ein mühsamer Weg alle Abhängigkeiten aller CPU und F_CPU zu finden
    würde aber nur auf fastLED wirken

    Bilder

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (9. Mai 2017 um 13:58)

  • So, jetzt denke ich, dass ich mit den Grundvorraussetzungen soweit bin, dass eine serielle Kommunikation zwischen zwei Arduinos und dem RaspberryPi aufgebaut werden kann. Der Pi ist vom Grundsatz her erst mal "fertig" eingerichtet, d.h. Webserver, MySQL und PHPMyadmin installiert.
    Zwei Arduino-Nano mit DHT22 und (erst mal) 0,96" OLED liegen betriebsbereit da, auf den Displays werden auch bereits Temperatur und Luftfeuchtigkeit nacheinander angezeigt.

    Ich möchte zum Kommunizieren die GPIO´s des Pi nutzen - kein USB-Seriellwandler. Das Thema Spannungsunterschiede 3,3V und 5V sind mir bewusst.

    Aaaber....: Jetzt fehlt mir allerdings der Software-Denkanstoß bzw. eine Hilfestellung wie ich die sierelle Kommunukation zwischen Pi und Arduino´s aufbauen kann. Vom Prinzip her stelle ich mir das so vor, dass der Pi zyklisch, z.B. alle 15Minuten (aber parametrierbar), die beiden Arduino´s abfragt (Temperatur, Luftfeuchtigkeit) und die übertragenen Werte dann in seine lokale MySQL schreibt.

    Als Testmuster eben erst mal nur zwei Arduinos. Im Produktivbetrieb sollen es dann nachher 6 Arduinos aus sechs verschiedenen Räumen sein.

    Ich stehe allerdings grad total auf dem Schlauch wie ich beginnen muss und wäre sehr dankbar hier von euch Profis eine Hilfestellung zu erhalten.

    Eine weitere Frage betreffend meines Projekts ist, soll ich dafür hier im Forum ein neues Thema eröffnen oder können wir das hier fortführen?


  • Ich möchte zum Kommunizieren die GPIO´s des Pi nutzen - kein USB-Seriellwandler. Das Thema Spannungsunterschiede 3,3V und 5V sind mir bewusst.

    die 3,3V zu 5V sind nicht ddas Problem, mit einem nackten AVR ginge es auch, aber nicht mit einem Arduino-Nano!

    Man "müsste" sich zwischen USB und Rx Tx klemmen, dummerweise erlaubt das der nano nicht, da ist kein trennender R dazwischen.
    Pi lauscht mit Rx am Arduino Tx klappt!(Pegelwandler dazwischen versteht sich oder Schutzschaltung wie von mir gezeigt)

    Pi sendet mit Tx an Arduino auf Rx klappte bei mir nicht, der Rx liess sich am Nano kein bischen bewegen, das schafft nur der USB Teil.

    Aber selbst wenn man die Leitung auftrennt und einen R dazwischen lötet damit externeTx den Rx wackeln lassen können, programmieren geht nicht ohne DTR, wäre ein weiterer Eingriff.

    Dann erst kann man deine anderen Probleme anpacken!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Servus jar,


    ... Aber selbst wenn man die Leitung auftrennt und einen R dazwischen lötet damit externeTx den Rx wackeln lassen können, programmieren geht nicht ohne DTR, wäre ein weiterer Eingriff. ...
    e anpacken!


    jetzt muss ich Dich aber schon mal fragen: wenn Du das schon weisst ... warum hast Du dann diese Lösung so beharrlich als einfachste empfohlen? :s
    Du erinnerst Dich an die Diskussion ab hier -> https://www.forum-raspberrypi.de/Thread-einsatz…74734#pid274734 ?

    cu,
    -ds-

  • mit USB und Hub gehts ja, er fragte ja jetzt hier nach keiner USB Lösung?
    mit mighty mini 1284p oder arduino miniPRO 328p ohne USB ginge es auch sowie beide mit einem RS485 Bus controller, vernetzt.

    Man beachte bitte die kleinen Unterschiede!

    Aus dem Zusammenhang gerissen liest sich das wirklich merkwürdig ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (6. Juni 2017 um 11:07)

  • Ja, da hast Du wohl recht.
    Da hab' ich aber dann entweder was falsch verstanden oder überlesen, denn im Zusammenhang mit der rs232 Geschichte habe ich keinen Bezug zu irgendwelchen USB Geschichten.
    Und das mit der RS485 hatte ich ja schon hier -> https://www.forum-raspberrypi.de/Thread-einsatz…74690#pid274690 vorgeschlagen.

    Naja, egal,
    cu,
    -ds-


  • rs232 Geschichte habe ich keinen Bezug zu irgendwelchen USB Geschichten.

    aber ein Nano wird ja erst mal per USB angeschlossen und kann darüber sogar vom PI programmiert werden, die 3,3V 5V Problematik entfällt auch.

    Nur auf der USB Seite ist halt Vernetzung mehrerer doof, es sei denn mit HUB und PI als USB LAN Server, gibt es kommerziell

    http://www.sysrun.de/2014/01/raspberry-pi-als-usb-server/
    http://www.virtualhere.com/

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Nachdem dann Andreas ebenfalls mit irgendwas und rs232 um die Ecke kam, das dann afair aber auch nicht genauer ausführte, habe auch ich irgendwann scheinbar nicht mehr so recht verstanden, wer jetzt was wie gemeint hatte.

    Wie mag es da dem TE gehen?
    Und darauf wollte ich eigentlich hinaus: ich denke, da besteht auf der Helferseite durchaus noch Verbesserungs-Potential ;)

    cheers,
    -ds-


  • Wie mag es da dem TE gehen?
    Und darauf wollte ich eigentlich hinaus: da besteht auf der Helferseite durchaus noch Verbesserungs-Potential ;)

    klar kann man JEDEN User bei jedem Problem neu und über alle Hürden an die Hand nehmen, aber wer will das leisten?

    Ausserdem ist eine entwicklung stets top down.

    Erst wird ein Pflichtenheft erstellt, dann ein Gerüst gezimmert, dann folgt die Ausarbeitung der Black Boxen..

    Auch klar das manche Idee nicht gleich zielführend ist, das ergibt sich und dann muss eben von vorne begonnen werden.

    Wenn der Prototyp mit dem Nano an USB läuft wechselt man eben zum miniPRO 328p mit RS485 Bus, kann also mit 2(3) Draht alle an den Bus hängen und Tx und Rx laufen lassen, FW update geht dan aber nicht, ist auch unnötig bei klaren Dingen die stehen wie DHT22, DS18B20 anzeigen oder Steuerung von Rollläden oder Licht per 433MHz oder Relais.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hi Dreamshader,


    Nachdem dann Andreas ebenfalls mit irgendwas und rs232 um die Ecke kam, das dann afair aber auch nicht genauer ausführte, habe auch ich irgendwann scheinbar nicht mehr so recht verstanden, wer jetzt was wie gemeint hatte.


    Einen Vorschlag zur Umsetzung hatte ich unterbreitet. Außer einer Bestätigung durch Jar bzgl. der Machbarkeit gab es keine Nachfrage zur näheren Vorgehensweise. Deswegen habe ich auch nichts mehr weiter dazu geschrieben. Entweder interessiert's niemanden - oder es klingt zu kompliziert.


    Das Prinzip besteht darin:
    Im Gegensatz zu dem, was nach meinem Beitrag spekulativ geschrieben wurde, wird nicht jeder RX mit jedem TX und umgekehrt verbunden, sondern ein TX mit dem nächsten RX und der RX mit dem vorigen TX. Also (versetzt) kreisförmige Topologie.

    Jeder Teilnehmer verfügt über eine Kennung, z.B. A, B, C oder was auch immer.

    Der eine Teilnehmer, der irgendwas zu senden hat, sendet einen Datensatz bestehend aus

    • eigener Kennung
    • Kennung des Empfängers
    • fortlaufender Index
    • Datenmenge
    • Daten
    • CRC


    Ein Sender sendet dann (erstmal) an seinen einzigen Empfänger - nämlich den RX, der an seinem TX verbuchselt ist. Der Sender kümmert sich um was auch immer und reagiert auf Eingänge an seinem eigenen RX.

    Der RX prüft dann, ob die Kennung seiner eigenen entspricht. Wenn ja, behält er die Daten für sich und vollführt die vorgesehenen Aktionen. Wenn die Daten für wen anderes bestimmt sind, schickt er den gesamten empfangenen Satz bestehend aus Kennung, Daten und CRC an seinen einzigen RX weiter.

    ...
    Irgendwann trifft jeder Datensatz auf den vorgesehenen Empfänger. Der prüft dann auch das CRC. Passt dieses nicht, dann schickt er den Satz mit umgekehrter Kennung weiter. Der ursprüngliche Sender erkennt dann daran, das sein betreffender Datensatz nicht "ankam" und kann daraufhin wiederholen.

    Hat der korrekte Datensatz den Empfänger erreicht, dann kann der damit anstellen, was anhand der Daten vorgesehen ist. Korrekterweise kann der Empfänger noch bestätigen, in dem er die umgekehrte Kennung, den fortlaufenden Index, das Byte ACK und passenden CRC schickt.


    Das ist nicht nur blanke Theorie sondern ist mit 115200 Baud auch noch praxiserprobt. Zugegebenermaßen funktioniert dieses Konstrukt aber nur dann, wenn Baudrate, Datensatzgröße, Sendehäufigkeit und Anzahl der Teilnehmer aufeinander angepasst sind und insbesondere nicht zuviele Teilnehmer quasi gleichzeitig auf die Idee kommen, Daten durch die Gegend zu schicken.

    Wen es interessiert: Die effektive maximale Baudrate, mit der der ursprüngliche Sender die Bestätigung erhält, berechnet sich dann zu
    Baudeffektiv = Baudrate / (Anzahl der Teilnehmer * mittlere Anzahl an gleichzeitigen Sendern)


    Wie mag es da dem TE gehen?
    Und darauf wollte ich eigentlich hinaus: ich denke, da besteht auf der Helferseite durchaus noch Verbesserungs-Potential ;)


    Man kann sich anbiedern und ständig nachfragen, ob die Antwort verstanden wurde und sich als zielführend erwies. Meiner Meinung nach liegt das aber im Verantwortungsbereich des TE, bei nicht ausreichend verständlichen Beiträgen nachzufragen.

    Es bleibt somit weiterhin ein Kunststück, aufgrund des Ausgangsthreads auf das Niveau zu schließen, auf dem man dem TE begegnen kann / sollte. Holt man ihn bei "Adam und Eva" ab, fühlt sich mancher (zu Recht) verschaukelt. Ein anderer begrüßt genau das. Man kann es nicht immer jedem recht machen. ;)


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hi Andreas,
    die Software-Logik ... so weit wollte ich gar nicht gehen.
    Ich merke halt dass, zumindest ich, sehr oft eine bestimmte Vorstellung eines Lösungsvorschlags habe, die der Verfasser eines Beitrags aber so gar nicht gemeint hatte.
    Konkretes Beispiel hier: bei rs232 denkc ich zuerst an die nackten Pins des Pi/Arduino ...
    jar's Grundidee war aber eher die USB Schnittstelle des nano ... der ja zweifelsohne ebenfalls Rx und Tx beinhaltet.
    Diese Information war bei mir zumindest irgendwann verloren gegangen und damit war für mich rs232 wieder die Pins der Teile.
    Und da frage ich mich halt, ob unser TE dem noch folgen konnte oder ob da noch was an Optimierung geht.

    cu
    -ds-

  • Hallo Masterkennie,


    sondern die Dokumentationen zu den Bibliotheken zu finden, das krich ich einfach nicht hin :wallbash:


    Da "wir" hier meistens Peripherie nutzen, die auch über Adafruit vertrieben wird, gibt es auf deren Homepage fast immer auch ein Tutorial, wie man einen Sensor oder ein Stück Hardware ansteuert. Meistens enthält die dort verwendete Library eine überschaubare Anzahl an Befehlen, die dann auch im Beispielcode des Tutorials auftauchen. Nur in seltenen Fällen handelt es sich um eine umfangreiche Bibliothek, die dann meistens auch nur zur Unterstützung von anderen Bibliotheken dient, um den Code kurz zu halten.
    Für normale Entwicklungsprojekte reicht es, die angebotenen Befehle der obersten Bibliothekenebene zu kennen. Diese ergeben sich aus den Adafruit-Tutorials, den dortigen Beispiele-Code und dem Quellcode der Library selbst.

    Die Befehle der Support-Biblitheken brauchst Du dagegen in den allerseltensten Fällen. Eigentlich nur dann, wenn Du selber Bibliotheken schreiben möchtest und Support-Bibliotheken nutzen möchtest. Nur dann bietet sich ein Studium der Support-Blibliotheken an.


    Beste Grüße

    Andreas
    Automatisch zusammengefügt:

    Hi Dreamshader,



    Ich merke halt dass, zumindest ich, sehr oft eine bestimmte Vorstellung eines Lösungsvorschlags habe, die der Verfasser eines Beitrags aber so gar nicht gemeint hatte.


    Das geht mir auch so. Das liegt wohl daran, dass jeder von uns die einfachst mögliche Lösung sieht - allerdings basierend auf dem INDIVIDUELLEN aktuellen Wissen und der EIGENEN anwendbaren Erfahrung. Und das möglicherweise noch von dem wirren Zeug gefärbt., wmoit sich jeder von uns gerade beschäftigt.

    Es ist schön, wenn sich diese Lösungsansätze decken. Dann fühlt man sich bestätigt.

    Es kann aber auch sein, dass man die Genialität eines anderen Vorschlags erkennt. Dann hat man was dazu gelernt - und ein anderer fühlt sich bestätigt. Dann hat jeder einen Nutzen gezogen.

    Oder wie in diesem Thread, dass drei Leute aneinander vorbeireden.

    [OT]
    Anekdote: Als ich bei Y-Tours war, wurde ich Zeugen eines denkwürdigen Gesprächs. Wir kamen von einer Übung zurück. Ein Kollege hat reht viel seiner Ausrüstung verloren und erstattete eine Verlustmeldung. Im Büro saß dann sein disziplinarischer Vorgesetzter und ein anderer in Uniform, mit dem wir fachlich nichts zu hatten. Ich kam in dieses Büro, um eine Unterschrift abzuholen.
    Der Vorgesetzte füllte das Formular aus und fragte den Wehrpflichtigen gelegentlich nach Details.
    Der Wehrpflichtige antwortete.
    Irgendwann ging es um Socken. Frage wurde gestellt. Antwort wurde gegeben.
    Frage wurde wiederholt. Antwort wurde wiederholt.
    Frage wurde wiederholt. Antwort wurde wiederholt.
    Frage wurde wiederholt. Antwort wurde wiederholt.
    ...
    Ich dachte mir: "Ach ist das lustig. Ich hole mir gleich einen Stuhl und setz mir dazu...!"
    ...
    Ach, ja, natürlich:
    ...
    Frage wurde wiederholt. Antwort wurde wiederholt.
    ...
    Ich dachte natürlich weiter: "Wenn jetzt nicht irgendjemand irgendwas unternimmt (Frage wechselt, Antwort wechselt), können die das fortführen, bis der Vorgesetzte in Rente geht oder der Wehrpflichtige sein Studium beginnt. Was auch zeitlich zuammenfallen könnte.

    Da war ja noch der Dritte im Büro. Der schwieg Stille auf seinem Platz und war mit Aktenstudium total beschäftigt.
    Zumindest schien das so - oder er wollte den Eindruck erwecken.
    Er murmelte ganz leise "Ihr redet aneinander vorbei..."
    lauter (aber kaum vernehmbar "Ihr redet aneinander vorbei..."
    hörbar: "Ihr redet aneinander vorbei..."

    Der Vorgesetzte "Was meinst Du damit?"
    Der Dritte ganz laut: "Ihr redet aneinander vorbei! Da hinten steht schon einer und lacht sich schief!"

    Alle drei schauten sich an. Der Dritte hatte Recht!

    Der Vorgesetzte stellte dann sachdienliche Fragen, der Wehrpflichtige antwortete konkret.

    Leider kam ich dann nicht mehr dazu, mir einen Stuhl zu holen, da ich nach dem Grund meiner Anwesenheit befragt wurde und prompt die Unterschrift bekam.
    [/OT]

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (6. Juni 2017 um 14:47)

  • Hallo in die Runde,
    da ist man mal einen Tag abwesend und hat gleich ne ganze Menge zu lesen :D

    Mein Versuch, dass wir nicht mehr so arg aneinander vorbei schreiben: Ich hab ja einige Parameter zum Bausaufbau, Leitungslängen, eingesetzte Hardware usw. schon weiter oben definiert. Genauso, wie ich nicht den USB-Port vom Nano nutzen möchte sondern die RX / TX Leitungen des GPIO vom Pi. Zur Not hängt in meiner Signatur das Pflichtenheft (derzeit nicht in der 100% aktuellen Version) zum Nachlesen (wen´s interessiert :D )

    Wegen der Verdrahtung zwischen Pi und Nano: War ich jetzt auch davon ausgegangen, dass der RX vom Pi an den TX vom Arduino sowie der TX vom Pi an den RX vom Nano verdrahtet wird und dann sollte doch die Kommunikation zwischen den Beiden schon mal laufen :s Jeder weitere Teilnehmer (Slave=Nano) wird mit seinem RX parallel zu allen Anderen RX des Nanos und mit seinem TX parallel zu allen anderen TX des Nanos verdrahtet --- oder? So wie in diesem Projekt vom JumpY das ich mir eigentlich als Lösungsansatz ausgeguckt hatte.

    Im Netz sind ja einige Tutorials zur seriellen Kommunikation zwischen Pi und Nano zu finden. Was ich aber mangels Hintergrundwissen nicht einschätzen kann ist, ob solch ein Tutorial wie dieses hier von Raspberry Pi Lab überhaupt dazu geeignet ist, im Produktivbetrieb sechs oder mehr Arduinos mit dem Pi zu verbinden.

    Zitat von Andreas


    Das Prinzip besteht darin:
    Im Gegensatz zu dem, was nach meinem Beitrag spekulativ geschrieben wurde, wird nicht jeder RX mit jedem TX und umgekehrt verbunden, sondern ein TX mit dem nächsten RX und der RX mit dem vorigen TX. Also (versetzt) kreisförmige Topologie.

    Jeder Teilnehmer verfügt über eine Kennung, z.B. A, B, C oder was auch immer.

    Der eine Teilnehmer, der irgendwas zu senden hat, sendet einen Datensatz bestehend aus

    • eigener Kennung
    • Kennung des Empfängers
    • fortlaufender Index
    • Datenmenge
    • Daten
    • CRC

    Ich danke dir Andreas für diesen Ansatz! Könntest du mir mal genauer sagen wie die einzelnen Punkte genau aussehen? Wie sie die Kennung aus, wo wird sie abgelegt? Steht sie im Quelltext des Nanos und brauche ich dann für jeden Nano seinen eigenen Quelltext? Die von dir geannten Begriffe sind mir bekannt, nur hab ich noch keine Vorstellung davon wie sie in echt/Quelltext aussehen (können).

    Es mag gut sein, dass ich der Anstifter wilder Spekulationen bin da ich evtl. selbst nicht klar oder nicht klar genug definiert habe was eigentlich passieren soll. Dieses Feadback kann mir aber nur von euch gegeben werden. D.h. was fehlt euch konkret an Infos um mich bei meinem Projekt unterstützen zu können :s :)

    Also aktuelles Ziel und ein Meilenstein ist, die Serielle Kommunikation mehrer Nanos mit dem Pi über die GPIO des Pi´s. Zu übertragen sind Temperatur- und Luftfeuchtigkeitswerte, der Pi soll sie in einer parametrierbaren Intervalle von den Nanos abrufen.

    Wenn das erledigt ist bin ich schon mal einen (für mich persönlich) großen Schritt weiter und dann folgen erst weitere Ziele.

    Einmal editiert, zuletzt von Masterkennie (7. Juni 2017 um 10:33)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!