Wir machen einige Projekte im Unterricht. Einer meiner Freunde macht eine Wetter- und Feuchtigkeitsstation mit Himbeer-Pi mit ein paar Sensoren und LCD. Ich habe ein wenig Erfahrung in Arduino. Also fragte ich sie, warum macht sie das nicht mit einem Arduino? Sie sagte, Pi sei "mächtiger". In welchen Aspekten ist es mächtiger als Arduino? Wann sollte ich mich für Raspberry Pi über Arduino entscheiden?
arduino-uno
hardware
raspberrypi
performance
Meenie Leis
quelle
quelle
Antworten:
Etwas von einer meinungsgebundenen Frage, aber ich werde ein Feedback geben. Es kommt auf verschiedene Dinge an:
Um zu verhindern, dass diese Antwort langwierig wird, werde ich meine Erfahrungen mit beiden schnell vergleichen.
Arduino: Günstig, einfach zu programmieren, flexibel mit UX und UI, aber mit sehr begrenztem Speicher. Der Arduino eignet sich normalerweise für etwas, das nur Aufgaben selbst erledigen kann. Ich habe Zustandsautomaten geschrieben und sie für SPS mit einem Arduino verwendet. Es ist ein gutes Gerät für ein günstigeres Budget. Arduino ist jedoch ziemlich zerbrechlich.
Raspberry Pi: Teurer, viel leistungsfähiger in Bezug auf die Verarbeitungsgeschwindigkeit, viel mehr Speicher, extrem gut für UX- und UI-Geräte, die entwickelt werden, gut für künstliche Intelligenz, Zustandsmaschinen, SPS usw. Auch sehr gut für Datenprotokollierung, Bildverarbeitung und Hochfrequenzanwendungen. Sie können auch ein Betriebssystem darauf starten (z. B. Linux / Unix). Mit anderen Worten, ein Raspberry Pi kann als Computer verwendet werden, während der Arduino ... nun, ich denke, es hängt davon ab, wie Sie "Computer" LOL definieren.
Wenn Sie also versuchen, etwas so Einfaches wie die Verwendung von Sensoren und LEDs zu tun, würde ich mich für das Arduino Uno entscheiden.
quelle
Die Behauptung, der Pi sei "mächtiger", ist etwas irreführend. Was bedeutet "mächtig" wirklich? Und ist es wichtig, eine Wetterstation zu bauen?
Ich habe einen Temperatur- und Feuchtigkeitssensor wie hier beschrieben mit einem Atmega328P (dem Prozessor im Arduino Uno) hergestellt. Der geschätzte durchschnittliche Stromverbrauch beträgt 42 µA, sodass er einige Jahre lang mit 3 x AA-Batterien betrieben werden konnte, bevor sie ausgetauscht werden mussten. Ich denke, Sie werden feststellen, dass der Pi mit seinem "leistungsstärkeren" Prozessor und zusätzlichen Komponenten dies nicht kann.
Ich sehe aus einer Schnellsuche, dass der Pi im Leerlauf 80 mA bis 240 mA verbraucht (je nach Modell). Dies würde eine Pi-betriebene Wetterstation 2000-mal so schnell durch Batterien fressen lassen. Vielleicht wäre das eine Überlegung.
Der Pi ist wirklich ein Unix-PC auf einer Karte, was bedeutet, dass er die normale Startsequenz durchläuft und möglicherweise Fehler beim Booten auftreten. Um diese Fehler zu erkennen, müssen Sie eine Tastatur und einen Bildschirm oder eine Verbindung über ein Netzwerk von einem anderen PC aus herstellen.
Ich möchte den Pi nicht herunterfahren - es ist ein schöner billiger Unix-Computer auf einem kleinen Board. Aber die Arduinos (viele von ihnen) sind etwas einfacher zu programmieren. Sie müssen sich zunächst keine Gedanken über das Betriebssystem machen. Für eine Wetterstation, die alle 5 Minuten eine Messung durchführt, wen interessiert es, ob der Pi die Messung "50-mal schneller" durchführen kann?
Geschwindigkeit der Erholung vom Schlaf
Ich habe eine Antwort darauf, wie serielle Daten einen Arduino wecken lassen - nach einigen Experimenten konnte ich den Atmega328P innerhalb von 6 Taktzyklen (750 ns) aus seinem tiefsten Schlaf (260 nA - ja 0,260 µA!) Aufwecken lassen. Ich bezweifle, dass Sie dies auf dem Pi erreichen können, entweder durch den geringen Stromverbrauch oder durch das Aufwachen in weniger als einer Mikrosekunde.
Dies war schnell genug, um das Startbit in seriellen Daten bei 9600 Baud zu erkennen, das Startbit und dann den Rest des eingehenden Bytes zu verarbeiten, ohne Daten zu verlieren.
quelle
Im Gegensatz zu den Arduino-Boards ist der Raspberry Pi ein Single-Board-Computer mit einer Quad-Core-CPU, einer GPU, integriertem RAM und vielen Peripheriegeräten. Der Hauptunterschied zwischen dem Pi und dem Arduino (oder einem beliebigen grundlegenden Mikrocontroller) ist das Betriebssystem. Auf dem Pi werden viele Linux-Distributionen ausgeführt (Debian ist die offizielle), sodass der Benutzer komplexe Computeraufgaben ausführen kann, die auf Arduino ohne externe Schaltkreise nicht ausgeführt werden könnten. Daher ist der Raspberry Pi für jede Software geeignet, die erhebliche CPU- / GPU-Leistung oder Arbeitsspeicher benötigt. Beachten Sie, dass die meisten Arduinos mit denselben Peripheriegeräten verbunden werden können, die auch auf dem Raspberry Pi zu finden sind, obwohl möglicherweise keine Rechenleistung vorhanden ist. Außerdem ist die Low-Level-Schnittstelle mit analogen Signalen mit Arduino viel bequemer.
quelle
Es gibt immer einen Preisunterschied, aber ansonsten würde ich sagen: Der Raspberry Pi kann alles, was der Arduino kann, und es besser und schneller machen, AUSSER Aufgaben, die sehr zeitkritisch sind. Wenn Sie also auf Ereignisse in Mikrosekunden oder Millisekunden reagieren müssen oder Signale in dieser Größenordnung erzeugen müssen, benötigen Sie ein Arduino.
quelle
In "reiner Hardware" -basierten Systemen, Echtzeitsystemen, können Sie Arduino gegenüber Pi mit Betriebssystem immer vorziehen. Stromverbrauch, Preis sind weitere Pluspunkte für UNO. Pi ist immer der bessere bei komplexen Computeraufgaben, bei denen das Betriebssystem diese Aufgaben vereinfacht. Aber Sie wollen sicher keinen "Computer" für sensorbezogene Projekte verwenden!
quelle