ich muss für ein Wetterstationsprojekt ein paar Sensoren auslesen, dafür wollte ich einen kleinen Sensorhub bauen (Arduino Nano v3 liegt hier rum).
Die Sensoren: DS18B20, DHT22, Adafruit TSL2591, Adafruit MAX9814.
Da ist jetzt I2C, 1wire und Analogeingang bunt gemischt. Wenn ich jetzt nach den Samples gehe und die entsprechenden Libraries für i2c und 1wire referenziere, habe ich alleine mit einer lib schon fast den ganzen Speicher vom Nano voll.
Kann mir jemand erklären wie ich im Nano ohne Libs die Sensorenwerte möglichst speichersparend abfrage? 2KB SRAM sollte für alle Sensorwerte reichen bis die gesendet wurden? Was das angeht wäre dann noch wichtig: wie übertrage ich am besten die gesammelten Sensordaten über ~20m CAT5-Kabel?
Bekomme ich am Nano irgendwo einen 2. I2C Bus hin, oder nehme ich SPI oder gar just den UART für eine einfache serielle Verbindung? Was ist mit dem Raspberry Pi 3 die beste Wahl?
Da ist jetzt I2C, 1wire und Analogeingang bunt gemischt. Wenn ich jetzt nach den Samples gehe und die entsprechenden Libraries für i2c und 1wire referenziere, habe ich alleine mit einer lib schon fast den ganzen Speicher vom Nano voll.
Bitte verlinke die Bibliothek, die den ganzen Speicher vom Nano füllt. Mir ist für die gelisteten Sensoren keine bekannt, die so verschwenderisch mit Speicher umgeht, was nicht heissen will, dass es das nicht gibt.
Kann mir jemand erklären wie ich im Nano ohne Libs die Sensorenwerte möglichst speichersparend abfrage?
So wie es die Libs auch machen. Allzu viel sparen wirst Du nicht, wenn Du das Rad neu erfindest.
Was das angeht wäre dann noch wichtig: wie übertrage ich am besten die gesammelten Sensordaten über ~20m CAT5-Kabel?
RS-485 dürfte die beste Wahl sein. Alternativ wäre natürlich Ethernet eine Möglichkeit, wenn Cat5 zur Verfügung steht.
Bekomme ich am Nano irgendwo einen 2. I2C Bus hin, oder nehme ich SPI oder gar just den UART für eine einfache serielle Verbindung?
Ich hoffe, Du wolltest nicht mir I2C über die 20m gehen. Mit viel Hardware-Aufwand kriegst Du vielleicht eine Verbindung hin, aber zuverlässig wird das nie. SPI fällt ohnehin weg, bleibt also UART, weshalb ich RS-485 vorgeschlagen habe (differentielle Übertragung, TTL-UART bringst Du wahrscheinlich nicht 20m weit, ausser Du hast eine sehr störarme Umgebung).