Ich plane ein Projekt, bei dem ich etwa ein Dutzend Temperatur- und Feuchtigkeitssensoren im Haus und im Garten platzieren muss. Diese würden sich mit einem zentralen Arduino im Haus verbinden, der die Daten protokollieren und an eine andere Datenbank senden würde.
Ich habe im Internet nach Lösungen gesucht, die für lange Kabelwege funktionieren. Für Temperatursensoren habe ich 1-Wire gefunden, insbesondere DS18B20-Sensoren. Es scheint jedoch keine Feuchtigkeits- und Drucksensoren zu geben, die 1-Wire verwenden.
Was ist der einfachste Weg, um ein solches Netzwerk von Sensoren zu realisieren? RS485 scheint auch mit langen Kabeln gut zu funktionieren (mein längster Lauf wird weniger als 50 Meter betragen, die meisten im Bereich von 5 bis 10 m), aber meines Wissens würde es an jedem Ende einen Mikrocontroller erfordern, was die Komplexität erhöhen würde.
Wenn Sie eine kabelgebundene Option verwenden müssen, klingt es so, als hätten Sie lange Kabellängen und Sie müssen sowohl für eine Fernkommunikation als auch für eine Gleichstromversorgung über große Entfernungen entwerfen.
Für die kabelgebundene Kommunikation ist RS-485, wie Sie erwähnt haben, nicht schlecht und kann von einem UART angesteuert werden, was in der Software einfach ist. CAN ist auch ein guter Kandidat und bringt weitere Vorteile, wenn Sie bereit sind, mehr Software zu entwickeln (oder nicht, je nachdem, welchen Code Sie von der Stange finden). Ich würde SPI oder I2C vermeiden - diese sollen auf einem Board sein und nicht so lange Strecken zurücklegen.
Sowohl für RS-485 als auch für CAN wäre es am besten, wenn Sie ein Twisted-Pair-Kabel in die Hände bekommen könnten, und es wäre ein Bonus, wenn Sie ein Verbundkabel mit einem Twisted-Pair- und einem DC-Strompaar finden könnten. Obwohl es für den Heim- / Hobbygebrauch wahrscheinlich immer noch gut genug funktionieren würde, wenn Sie kein Twisted Pair auf den Datenleitungen hätten.
Für Gleichstrom müssen Sie einen Spannungsabfall und auch einen gewissen Schutz gegen ESD, blitzinduzierte Effekte (Sie haben dort eine lange Antenne) und auch kurzgeschlossene Leiter für den Fall, dass Ihr Kabel beschädigt wird, entwerfen.
Wenn Wireless im Spiel ist, dann ist ein Zigbee-Netzwerk der richtige Weg. XBEE von Digi wäre ein ausgezeichneter Anfang. Sie müssten Ihre Fernbedienungen jedoch separat oder mit Batterien mit Strom versorgen, was möglich ist, aber ein weiterer Designschritt ist. Das XBEE-Netzwerk könnte direkt von Ihrem Datenbank-PC über USB verwaltet werden, wodurch der Arduino-Teil übersprungen wird.
Für Signale im Bereich von 5-10 Metern würde ich auf jeden Fall einfachen UART bei niedrigen Baudraten ausprobieren: Wenn der Spannungsabfall in den Drähten nicht zu groß ist, funktioniert es einfach. Für längere Verbindungen, die einen Spannungsabfall aufweisen, würde ich RS-232-Treiber für UART ausprobieren: Diese sind billiger als RS-486 und funktionieren gut für Entfernungen von bis zu 300 Metern bei niedrigen Geschwindigkeiten.
Rohan
Bimpelrekkie
Vicatcu
Russell McMahon
Russell McMahon