Hallo zusammen,
ich habe ein kleines System entwickelt welches auf Arduino Nanos und einem Raspberry Pi basiert. Dazu habe ich mehrere Arduino Nanos im Haus verteilt (bzw. sie kommen dahin) und einen zentralen Raspberry Pi. Die Kommunikation läuft über RS485-MODBUS.
Das ganze funktioniert auch soweit, allerdings sollen die Arduino Nanos in einem Neubau fest in die Wand eingebaut werden. (Unterputzdose, darüber Tapete) Jetzt habe ich allerdings ein bisschen Sorge, falls ein Ausfall ist oder ich die Software nachträglich noch ändern muss/möchte, was vermutlich vorkommen wird. Wie bekomme ich das elegant gelöst? Falls ein Arduino den Dienst quittiert, würde ich eigentlich gerne den Serial Monitor lesen können um zu sehen was los ist, für einen Austausch muss die Dose natürlich sowieso geöffnet werden. Für eine Softwareänderung hätte ich allerdings gerne ein Lösung wo ich die Tapete nicht öffnen müsste, ich kenne die Programmiermöglichkeiten davon allerdings nicht so wirklich. Ein USB-Kabel zu jedem Nano legen ist nicht möglich, da die Leitungslänge scheinbar zu lang ist um dann darüber noch ein Signal zu bekommen. Kann man den Arduino im Festeinbau nicht irgenwie per RX/TX progammieren, dann würde ich dazu die entsprechenden Kabel direkt mitverlegen und mir frei zugänglich machen.
Ich denke hier gibt es Leute die damit Erfahrung haben, ich bin auch für andere Ideen gerne offen. Leider muss der Arduino an der Stelle hängen, da daran ein RFID-System hängt welches nicht beliebig weit davon weg sein kann.
Kannst du statt der Nanos keine Module mit dem ESP8266 nehmen? Kosten in etwa gleichviel, werden wohl auch von der IDE unterstützt und du kannst die Firmware per WLAN updaten
Ich habe eine ähnliche "Problematik", der ich so entgegnet bin, dass die nanos (bei mir in Lampen fest verbaut) möglichst wenig Inteligenz bekommen haben, sondern nur die Kommunikation (nrf24) und Funktionen wie PWM zu bewerkstelligen.
Die eigentliche Intelligenz habe ich der Zentrale verpaßt- diese gibt (bei mir) Helligkeit, Farbe, Sättigung, Fading- Dauer etc. vor. Wenn ich etwas ändern möchte, muss ich in der Regel nur an der Zentrale etwas ändern.
Darüber hinaus könntest du den USB- Anschluß leichter zugänglich machen.
Und ich habe auch schon eine Variante gesehen, wo man einen Arduino via bluetooth neu programmieren konnte... aber das wird aufwändiger sein und wahrscheinlich jeweils einen 2. nano erfordern.
Ich werde morgen gezielter auf irgendwelche Fragen/Anmerkungen eingehen, mir ist aber gerade noch ein Gedanke gekommen:
Ich nutze die RDM630-Reader von Watterott für diesen Zweck: Hier ein Link
Bislang bekomme ich die Daten über den Pin1 (UART, richtig?) Wie lang ist dazu die maximale Kabellänge, weiß das jemand? Ich habe gerade einfach mal ein 10m Stück dazwischen getan welches ich hier rumfliegen hatte und das reicht aus. Möglicherweise komme ich auf genügend Länge (sagen wir mal 25m), dann könnte ich mir die Position sparen und den Arduino direkt neben den Pi hängen. Möglicherweise kann ich mir sogar mehrere Arduinos sparen, wenn ich mir einen geeigneten hole mit 4 Seriellen Schnittstellen. (3x RFID + 1x Computer)
Jetzt steht da noch etwas von RS232. Sehe ich das richtig, dass die Leser direkt RS232 onboard haben und ich somit den Bus auf RS232 umrüsten könnte und mehrere Reader auf einen Bus hängen oder stören die sich da? Dann müsste ich mir mal RS232 Bausteine besorgen und könnte mir evtl. sogar die ganzen Arduinos sparen und direkt an den Pi gehen. (Da weiß ich wohl nicht ob die Leser alle eine eigene ID haben damit ich die auseinander halten kann oder nicht.) Aber wenn die Kabellänge reichen würde, wäre das schon perfekt und ich könnte mir eine ganze Station sparen..
nein, RS232 ist das nicht, das wird oft als genereller ausdruck für seriell verwendet.
aber Du könntest die dinger aufmotzen, und zwar so, daß sie RS232 oder, besser, RS485 können. also einfach einen atmel-chip dran, der nichts anderes macht, als das, was der reader einliest, weiter an der raspi sendet. jeder atmel bekommt eine ID und prüft im besten fall, ob eine rückmeldung vom pi kommt, daß das signal korrekt empfangen wurde. wenn nicht, sendet er nochmals.
so hättest Du einen dummen client, den Du nie apdaten mußt.
andere frage: womit versorgt Du den reader mit strom? mußt Du da nicht ohnehin wegen batteriewechsel dran?
weitere möglichkeit: in den deckel der dose eine einbau-usb.buchse einkleben. dann hast Du nur ein kleines loch für einen micro-usb-stecker.
Hallo Eisbaer, die Idee hatte ich kurz aufgefasst, ich habe allerdings das Problem das das Projekt ziemlich zügig fertiggestellt werden muss. (Ich teste da schon insgesamt 1 Jahr rum weil ich nie richtig Zeit finde, hätte es eigentlich einsatzfähig und jetzt kommt die Sache mit der Position im Haus)
Die Stromversorgung habe ich mit Netzwerkkabeln getestet, läuft bis 25 Meter problemlos. Ich habe Platinen erstellt auf denen eine RJ45 Buchse ist, die anders belegt ist (also mit Stromlitzen und Signalleitungen).
Die USB-Buchse wäre theoretisch möglich, hatte ich auch schon gedacht, sieht aber nicht wirklich gut aus..
Das mit dem "aufmotzen" habe ich mir auch schon gedacht. Ich habe RS485 Bausteine hier, die habe ich ja normalerweise an dem Arduino sitzen. Die Kommunikation damit funktioniert, allerdings alles andere als "einfach", weil ich kein 4-Wire sondern 2-Wire RS485 eingesetzt habe. Habe das aber gelöst, indem der Arduino einen Digitalen Pin setzt der ebenfalls am Raspberry Pi hängt und darüber der Pi dem Arduino die Daten ausließt die ich brauche. (Register) Für einfaches Datenweiterleiten habe ich das nicht konzipiert und müsste auch meine ganzen Platinen umbasteln. (Da hängt noch deutlich mehr drauf was dann an andere Stelle müsste)
Ich habe in einem anderen Forum etwas interessantes gelesen:
Ich habe das mit RDM6300 Readern und PL2303 USB To RS232 Convertern gelöst. Zwischen den Readern und der Antenne habe ich einfach eine Litze verlegt, hat bei mir bis 4m problemlos funktioniert, klappt bestimmt auch noch bei größerer Entfernung.
Bei 6 Readern wirst du allerdings noch einen USB Hub benötigen.
Da geht es um meine Problematik, es steht allerdings nichts von der Reichweite, ich habe irgendwie 15m im Kopf bei RS232. Würde es also funktionieren, wenn ich z.B. 15 Meter geschirmtes Kabel bis an den Leser lege und diese USB-TTL Teile direkt in den Pi stecke (oder einen aktiven Hub dazwischen wäre auch kein Problem), oder muss dazwischen oder davor noch irgend ein Bauteil? Vielleicht schafft man auch (maximal) 25m mit 9600Baud (die der Leser fest hat), dann wäre die Sache sehr sehr einfach und elegant gelöst. Hast du zufällig Erfahrung mit solchen Teilen?
JumpY:
Die USB-Buchse wäre theoretisch möglich, hatte ich auch schon gedacht, sieht aber nicht wirklich gut aus..
Nicht Standard-USB, sondern Micro-USB und Co.. Die Buchsen sind doch so klein, dass ich mich frage, ob die jemandem in über 2m Höhe auffallen. Du könntest sie ja auch noch mit einem Papier/Tapeten-Schnipsel abdecken.
Alternative: Du könntest unter den Abdeckungen der nächsten Steckdose/Schalters den USB-Anschluss anbringen. Ich würde es wegen der Trennung zu 230V nur außerhalb der Anschlussdose machen. Falls die Lichtschalter nur Schwachstrom-Impulse für die Steuerung liefern, wäre das natürlich ideal zur Unterbringung des USB-Anschluss.
Oh, darüber habe ich noch garnicht nachgedacht. Das Haus wo ich das einbaue ist nicht mein eigenes und dient als "Versuchsobjekt" von mir und dem Besitzer. Der hat aufjedenfall eine Loxone Haussteuerung, soweit ich weiß sind alle Schalter nur Impulsaktoren für die Steuerung, der Rest läuft über die Steuerung. Da muss ich mal mit ihm sprechen wie und wo ich da am besten drankäme. Trotzdem möchte ich vorher noch die Alternative mit dem TTL-RS232 Wandler nachsehen, das wäre eigentlich schon zu schön um wahr zu sein. (Weil ich dann etliches Zeug weglassen könnte... Aktuell schalte ich eigene Relais direkt an den Arduinos und damit ein großes Relais im Schaltschrank. Wenn der Pi jetzt direkt neben der Steuerung und den Relais hängt, könnte ich über die Steuerung die Relais direkt schalten und hätte viel Kabel und Fehlerpotential gespart..)
Vielleicht stößt ja noch jemand hier drauf und kann etwas zu den TTL-Teilen sagen.
PS: Frohe Ostern
PS2: Gerade mal mit 15Meter CAT5 und mit 20Meter 0,14mm² Litze getestet, funktioniert beides auf Anhieb. Das hört sich garnicht schlecht an..