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

  • Hi Dreamshader,



    Hi jar,
    und wie willst Du sechs Arduino und einen RPi per rs232 vernetzen? :s
    Meines Wissens ist UART resp. rs232 nicht busfähig, oder sehe ich da was falsch?


    Du kannst Doch jedem Teilnehmer des seriellen Netzwerkes eine Kennung zuteilen und jedem Teilnehmer ein Protokoll aufsetzen.
    Ein Sender sendet dann an einen Teilnehmer irgendwelche Daten / Kommandos inkl. der individuellen Kennung (Absender, Sender).


    Der erste Empfänger (unabhängig von der Netztopologie) prüft

    Code
    Isses für mich?


    Wenn ja, wertet er die empfangenen Daten aus und reagiert darauf.
    Wenn nein, schickt er das empfangene Zeugs unverändert weiter - bis der richtige Empänger es aufschnappt.
    Der richtige Empfänger kann dann noch ein ACK oder dergleichen zurückschicken - dann weiß der Sender, dass sein Zeugs angekommen ist.


    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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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 jar,
    und wie willst Du sechs Arduino und einen RPi per rs232 vernetzen? :s
    Meines Wissens ist UART resp. rs232 nicht busfähig, oder sehe ich da was falsch?


    1. können alle gleichzeitig lauschen!
    2. macht man ein Protokoll das nur der Angesprochene antworten darf, die anderen haben ein Zeitfenster wo sie still sind.
    3. gibt es Buswandler RS232 zu RS485 z.B.
    http://www.elv-zeiterfassung.d…oads/Prospekt_Wandler.pdf
    https://www.expertdaq.de/konve…u-rs485-konverter/ex9520/



    ABER für die Fernprogrammierbarkeit würde ich an der Sammelstelle im Sternpunkt entweder 6 Serielle bereitstellen oder einen Multiplexer Umschalter und Slave für Slave adressieren, die Slave warten dann bis sie ein Kommando zum talken bekommen


    Slave1 hier kommen deine Befehle, nun schicke mir deine Daten zurück.
    Slave2 hier kommen deine Befehle, nun schicke mir deine Daten zurück.
    Slave3 hier kommen deine Befehle, nun schicke mir deine Daten zurück.


    oder eben als BUS umgemodelt, aber das ist doofer fürs flashen



    Du kannst Doch jedem Teilnehmer des seriellen Netzwerkes eine Kennung zuteilen und jedem Teilnehmer ein Protokoll aufsetzen.


    genau, aber für fernproggen ist Umschalter besser

    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)

    Edited once, last by jar ().

  • Hi Andreas,


    ....
    Du kannst Doch jedem Teilnehmer des seriellen Netzwerkes ...


    mal' das spasshalber mal auf: Du müsstest jeden Rx-Pin mit jedem Tx-Pin verbinden ... mit anderen Worten jeder hört alles.
    Vom Durcheinander der Senderei mal ganz abgesehen ... ist ja zunächst mal nichts synchronisert.
    Also in meinen Augen, sorry, ... aber vollkommener Mumpitz hoch drei.
    Statt dessen an die Arduinos so ein Teil dran: http://www.ebay.de/itm/10PCS-M…o-MAX485CSA-/331738719086
    Und an an den Raspi so was: http://www.ebay.de/itm/USB-to-…3-Drive-New-/272416671726
    Kabel verbinden, feddisch ... Um dem Ganzen noch den letzten Schliff zu geben Modbus-Protokoll ( siehe -> Projekt von JumpY <- ). In diesem Fall erfolgt die Abfrage ja durch den Master (Pi) so dass die Signal-Leitung, die wir damals brauchten entfällt.


    Warum sich da mit rs232 so verkopfen?


    cu,
    -ds-


  • Also in meinen Augen, sorry, ... aber vollkommener Mumpitz hoch drei.


    schaff dir mal ne Brille an ;)



    Statt dessen an die Arduinos so ein Teil dran:
    Warum sich da mit rs232 so verkopfen?


    weil man den Arduino miniPRO herrlich aus der IDE updaten kann, über RS232, wenn eh schon 8 Adern in die Dose gehen ich für die Länge 2 max3232 nutze beiderseits, dann ist es ein leichtes per USBser den Arduino zu flashen und 6 USB an HUB ist ja kein Problem.


    Das würde ich machen, die ganze Busumsetzung für serielle Busse ist machbar aber bei Sternverkabelung unnötig.

    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)

  • Du ja ... dabei vergisst Du, dass unser TE vermutlich schon froh ist, wenn er überhaupt mal was auf den Teilen angezeigt bekommt.
    Wie oft wird man so ein Anzeigeprogramm neu flashen, nachdem es fertig und funktionsfähig ist?
    Und dann soll der arme Kerl auch noch sechs rs232 per Software synchronisieren und ein eigenes Protokoll implementieren?
    Meinst Du nicht, dass hier der eine oder andere etwas über das Ziel hinausschiesst?


    Apropo Arduino: der Pro Mini dürfte der kleinste sein. Geflasht wird der über einen FTDI-Adapter ( sowas z.B.: http://www.ebay.de/itm/FT232RL…ort-DETE203-/272519766747 )
    Pinheader (female) auf dem Pro Mini gelötet ... Dose auf, flashen, Dose zu ... falls es denn mal sein muss.


    cu,
    -ds-


  • Du ja ... dabei vergisst Du, dass unser TE vermutlich schon froh ist, wenn er überhaupt mal was auf den Teilen angezeigt bekommt.


    nee vergesse ich nicht,
    ist in der Arduino Umgebung leicht umgesetzt



    Wie oft wird man so ein Anzeigeprogramm neu flashen, nachdem es fertig und funktionsfähig ist?


    da fragt ein perfekter Softie den Hardwaremichel?


    Wenn du wüsstest wie oft im mein Rolladenprogramm schon umgeflasht hatte damit alles was rein soll einigermassen läuft.
    Mit jeder Funktion die ich endlich reinbekommen hatte habe ich auch neue Fehler reinbekommen, kaum denke ich es ist fertig sehe ich neue Fehler, nicht gravierendes aber stört mich halt, ich glaube ich flashe die noch nächstes Jahr um.
    Ich bin halt kein studierter Progger und taste mich langsam ans Optimum ran.



    Und dann soll der arme Kerl auch noch sechs rs232 per Software synchronisieren und ein eigenes Protokoll implementieren?


    wozu Protokoll?


    ein Hub kauft man, 6 USB seriell, kauft man, wieso sync?
    Er fragt USB1 ab und liest aus oder schickt Daten, dito für 2, 3, 4, 5 & 6.


    Das ist am PI und PC simpel zu programmieren, keine Zeitprobleme, keine Sync Probleme und wenn er grafisch die Luftfeuchte anzeigen will nimmt er was aus der Arduino Kiste, Daten hinschicken oder messen und anzeigen.



    Meinst Du nicht, dass hier der eine oder andere etwas über das Ziel hinausschiesst?


    NÖ, ich habe eine umsetzbare Lösung für Nichtprofiprogger ohne komplizierte Protokolle, was wäre deine Lösung?



    Apropo Arduino: der Pro Mini dürfte der kleinste sein. Geflasht wird der über einen FTDI-Adapter ( sowas z.B.: http://www.ebay.de/itm/FT232RL…ort-DETE203-/272519766747 )
    Pinheader (female) auf dem Pro Mini gelötet ... Dose auf, flashen, Dose zu ... falls es denn mal sein muss.


    ach was, jetzt nervst du, hältst du mich für blöd?


    und zwischen dem miniPRO und den FTDI ist rs232 mit 6 Pins, klappt prima auch mit einem Kabel dazwischen und für die Reichweite, an jedem Ende einen max3232 für 90 Ct. auf Platine (der Vorteil ist auch die perfekte Umsetzung über USB per MAX3232 von Arduino 5V zu PI 3,3V, damit können beide perfekt leben.



    cu,


    dito Juli im Breisgau

    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)

    Edited once, last by jar ().

  • Naja ... ich bin da halt anderer Meinung, u.a. weil der TO die komplette Software aus dem Projekt von JumpY in vereinfachter Form (ohne Signalisierung) übernehmen könnte.
    Aber "ausbaden" muss es unser TO ...


    btw: jar ... Du planst das mit fünf/sechs zusätzlichen rs232 auf dem Pi machen zu wollen. Falls ja, wäre das imho durchaus mal eine Erwähnung wert ... ;)


    cu,
    -ds-


  • Naja ... ich bin da halt anderer Meinung, u.a. weil der TO die komplette Software aus dem Projekt von JumpY in vereinfachter Form (ohne Signalisierung) übernehmen könnte.
    Aber "ausbaden" muss es unser TO ...


    ich wäre bei dir wenn ich persönlich (vielleicht irrtümlich) nicht Fernprogrammierung im Hinterkopf hätte.


    Ich bin bei dir wenn das Teil gleich mit einer Programmierung läuft und "nur" anzeigen soll, dann genügt eine Tx Leitung an die alle mit Rx hängen
    Atmel1 zeige 22°C
    Atmel2 zeige 18°C
    Atmel3 zeige 6°C


    usw.

    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)

    Edited once, last by jar ().


  • ach was, jetzt nervst du, hältst du mich für blöd?


    Ich denke das war noch mal eine Info für mich :)


    Ich werde mir jetzt erst mal einen Satz Hardware aus China kommen lassen und dann sehe ich auf dem Schreibtisch ja wie oft ich aus welchen Gründen auch immer umflashen muss. An dieser Stelle danke ich euch aber erst mal für die Infos, damit kommt ich sicher ne Runde weiter :bravo2:

  • So, heute gibt es ein kleines Update. Der Psotmann war gestern da und hat zumindest schon mal so viel Hardware geliefert, dass ich ein bißchen zusammenstecken und scripten konnte.


    Meine derzeitigen "Basteleien" hänge ich hier in den Trööt mal mit dran da es ja noch kein konkretes Projekt mit einem eindeutigen roten Faden ist - was ich bei Zeiten evtl. auch mal ändern sollte.... Lasten- bzw. Pflichtenheft wird von mir noch erstellt.


    Zunächst erst mal habe ich also den aus China stammenden Arduino NANO sowie den DHT22 mit "onboard Pullup" auf das Breadboard gesteckt, verdrahtet und einfach mal ein kleines Script zum auslesen der Messwerte erstellt welches Diese dann auf dem Seriellmonitor ausgegeben hat - für mich das erste Erfolgserlebnis :D



    Es war dann zwar schon spät am Abend, aber ich wollte die Messwerte unbedingt noch mal schnell visualisieren. Also hab ich meine myAVR-Kiste ausgebuddelt (vor 12 Jahren mal die Bausätze und Lehrbücher/Hefte gekauft, verlötet und dann mangels Erfolg wieder in die Kiste verschwinden lassen) und ein 16x2 Zeichen LCD mit ans Breadboard gesteckt.


    Was soll ich sagen, bin dann gestern sehr zufrieden ins Bett verschwunden :D :D



    Einzig das Zeichen für ° (Grad) Celsius hab ich dann nicht mehr raussuchen können :angel: Und der Temperaturmesswert erscheint mir doch sehr hoch, ich saß jedenfalls nicht mit kurzer Hose und T-Shirt am Schreibtisch und ich bin auch kein Frostköttel :stumm:



    To be continued.....


  • So, heute gibt es ein kleines Update....
    Meine derzeitigen "Basteleien" hänge ich hier in...
    Arduino NANO sowie den DHT22 mit "onboard Pullup" auf das Breadboard gesteckt,



    ich verstehe jetzt nicht ganz was du mir damit sagen möchtest :helpnew: :)


    echt jetzt?


    das man auch mit Arduino schnell zum Erfolg kommen kann, das ein Nokia LCD weniger Verdrahtung braucht und evtl. günstiger ist.


    Was wolltest du denn sagen? das du mit Steckbretter und Arduino arbeitest (wie Millionen andere auch)

    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)

  • Quote from jar


    Was wolltest du denn sagen? das du mit Steckbretter und Arduino arbeitest (wie Millionen andere auch)


    Nun, da ich mich in dieser Materie- und in diesem Forum hier noch als blutiger Anfänger bezeichne, Besserung gelobe und mich gestern Abend einfach über dieses kleine Erfolgserlebnis gefreut habe. Das wollte ich zum Ausdruck bringen.


    Da stelle ich mir jetzt grad die Frage ob ich für das Projekt was ich anfänglich mal schlampig versucht habe zu definieren ein neues Thema eröffnen soll oder ob ich das Pflichtenheft hier dran hängen soll :denker:


    Ich kapiere aber immer noch nicht, warum du etwas von Kapern schreibst.... Ich kann doch in meinem Thema dran hängen was ich möchte - oder sehe ich das falsch? --- nun gut, das ist der Sache nicht dienlich und ich vermute grad das ich dermaßen auf dem Schlauch stehe das wir aneinander vorbei reden :) :denker:


    Ich hab dann jedenfalls mal das Pflichtenheft auf Stand - sodass Interessierte nun bei Veröffentlichung evtl. besser nachvollziehen können worum es hier eigentlich auf der ersten Seite im ersten Posting ging.

  • Ich fand deines interessant und arbeite ja auch so!
    Ich wollte deinen Thread eben nicht kapern und mit meinem Zeugs vollmüllen, das endet meist stets im Durcheinander und die Antworten können dann nicht mehr zielgerichtet sein, denn DEIN Projekt solltest DU beantworten und ich meine.


    Deswegen habe ich nur den Link zu MEINE Projekte bei dir eingestellt, damit du und andere wissen es gibt noch mehr und jeder Interessierte zielgerichtet passend dort fragen kann.

    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)

  • Aaah, jetzt hat´s bei mir "klick" gemacht :thumbs1: :bravo2:





    Automatisch zusammengefügt:
    [hr]
    Nun hab ich mal angefangen einen roten Faden in mein Projekt zu bekommen. Den Begriff „angefangen“ habe ich deswegen gewählt, da es aufgrund von Unkenntnissen oder Projekterweiterungen durchaus dazu kommen kann, dass sich weitere Grob- oder Feinziele ergeben. Oder aber auch, dass aus eventuellen Gründen Grob- und oder Feinziele verworfen werden können.
    Bitte steinigt mich nicht wenn die ein- oder andere laienhafte Formulierung oder Fragestellung zustande kommt, mit dem RaspberryPI sowie auch mit den Arduinos habe ich bisher nicht gearbeitet. Hinsichtlich Programmierung in Hochsprache, Scriptsprache usw. bin ich nicht ganz unbewandert – aber das Wissen ist stark eingerostet. Die C Bibel „Programmieren in C“ staubt schon sehr lange im Bücherregal ein. Ihr habt es mit einem gelernten Energieelektroniker zu tun, elektrisch bin ich Fachkraft – saß aber auch hier schon lange nicht mehr an der Werkbank und bin auf eure Erfahrungen angewiesen.
    Bei der Definition der Arbeitspakete sind sicherlich auch Wunschvorstellungen dabei. Über Sinn oder Unsinn muss nicht diskutiert werden. Wenn ein Funktionswunsch jedoch technisch nicht umsetzbar ist, dann bitte ich um eine Mitteilung und entferne das entsprechende Paket.
    Damit bedanke ich mich zunächst schon mal im Voraus an eurem Interesse und ggfs. eurer Unterstützung.

    Zur Projektbeschreibung:
    Es sollen bei uns im Obergeschoss in insgesamt sechs Räumen (Flur, Kinderzimmer 1, Kinderzimmer2, Badezimmer, Schlafzimmer und Büro/Spitzboden) die Raumtemperaturen und relativen Luftfeuchtigkeitswerte gemessen und direkt an der Messstelle visualisiert werden. Zusätzlich sollen für später geplante Auswertungen und Statistiken die Messwerte zentral über einen RaspberryPI gesammelt- und in eine MySQL-Datenbank abgelegt werden. Die Statistiken sollen dann auf PC-Bildschirmen oder TV-Geräten einsehbar sein. Letzteres ist aber hier Prio2. Die MySQL-Datenbank und ihr Webserver befinden sich auf dem NAS im Keller mit direkter Anbindung an den Gigabit-Switch. Die Datenübertragung der Messwerte sowie auch der SQL-Daten wird per Kupferleitung erfolgen, nicht per Funk.

    Geplante Hardware:
    Die Visualisierung der Messwerte, sowie ein freundlicher Hinweistext zum Stoßlüften bei erhöhten Luftfeuchtigkeitswerten, wird über ein 0.96" I²C 128X64 White OLED Modul erfolgen. Da die Displays nur auf zwei verschiedene Bus-Adressen eingestellt werden können (es aber insgesamt mind. Sechs OLED´s zum Einsatz kommen) wird hinter jedes OLED ein Arduino NANO oder ein Arduino PRO Mini gepflanzt. Dieser übernimmt dann sozusagen die Vermittlung zwischen einerseits Visualisierung über OLED und Datenübertragung zur zentralen Sammelstelle RaspberryPI – höchstwahrscheinlich über RS485. Die Arduinos müssen nicht aus der Ferne geflasht werden können – wäre aber ein nettes nicetohave welches allerdings erst einmal auf Prio3 liegt.

    Unterbringung der Hardware, Verdrahtung:
    Die Hardware zum Messen, Visualisieren und weiterleiten an den zentralen RaspberryPI befindet sich in jedem der oben genannten Räume in einer tiefen Unterputzdose. Zu jeder Unterputzdose sind bereits zwei J-Y(St)Y 2x2x0,8 Leitungen, also acht Adern verlegt, die Elektroinstallationsarbeiten sind bereits abgeschlossen und an der Verdrahtung kann und soll nichts mehr verändert werden. Die Leitungslängen für die J-Y(St)Y variieren zwischen 3,0m Messstelle Flur zum RasPI bis hin zu knapp 20m von der Messstelle Büro zum RasPI.




    Arbeitspakete:
    1. Aufbau einer Testschaltung, Arduino NANO, DHT22 und LCD per Breadboard auf dem Schreibtisch, simples Programm für die Erfassung und Visualisierung der Raumtemperatur und der rel. Luftfeuchtigkeit erstellen. Meldetexte /Grafiken für erhöhte Luftfeuchtigkeitswerte erstellen



    2. Umstellung der OLED-Helligkeit je nach Tageszeit, sozusagen eine Nachtfunktion, hier ist noch unklar woher das Uhrzeitsignal kommen soll/kann und in wie weit ein OLED „dimmbar“ ist.



    3. Beschaffung eines RaspberryPI im Hutschienengehäuse mit Hutschienennetzteil und Aufsetzen bzw. einrichten des Betriebssystems. -> Ich vermute fast hier geht die meiste Zeit bei drauf bis der RasPI komplett eingerichtet ist. Des Weiteren habe ich heute noch keinerlei Vorstellung/Ahnung wie die Softwareschnittstelle zwischen Arduino und RasPI aufgebaut ist und funktioniert



    4.[font="Times New Roman"] [/font]Herstellung einer seriellen Verbindung (RS485 ??) zwischen dem Breadboard-Arduino auf dem Schreibtisch und dem RasPI -> hier hört dann meine Vorstellungskraft erst mal auf, z.B. von Busprotokollen und deren Erstellung habe ich (noch) keine Ahnung.



    5. Herstellung einer LAN-Verbindung vom RasPI zur MySQL-Datenbank, Einrichten der Datenbankstruktur und Ablegen von Testwerten, oder reellen Messwerten, je nach Projektfortschritt.



    6. Umzug des Testsystems ins Produktivsystem, d.h. die Hardware zieht vom Schreibtisch/Werkbank ins Haus um.



    7. Platzhalter +++ Änderungen und Ergänzungen +++



    Freundliche Hinweise und Ergänzungen falls ich etwas unklar definiert haben sollte nehme ich natürlich gern mit auf.

  • OLED ist nicht dimmbar, deswegen mag ich die Nokia LCD5110
    wenige Meter geht besser seriell mit RS232, weiter mit Pegelumsetzer MAX3232 aber kein Bus halt

    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)

  • Es wuerde doch auch ohne die Arduinos gehen: Einfach ein AND in die SPI leitung einschleifen und den zweiten Eingang mit einem Signal voneinem GPIO versorgen. Kabel sind ja da, fuer ein Extra-Signal und es sollten genut GPIOs verfuegbar sein, fuer jedes DISPLAY einen zusaetzlichen. Die Software sorgt dann darum, dann nut ein DISPLAY die SPI Daten beommt. Wenn jetzt jemand Sorgen wegen des Bidirektionalen Busses hat, es gibt auch Bidirektionale Logic-Schalter.