Wenn Raspberry Pi gegenüber Arduino bevorzugt wird

7

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?

Meenie Leis
quelle
3
Es ist in der Tat mächtiger. Noch ein Überschwingen für eine "Wetterstation". RPi ist ein voll ausgestatteter Computer . Arduino ist ein ziemlich dummer und schwacher Mikrocontroller.
Eugene Sh.
Überschwingen. Hm ich fühlte mich irgendwie genauso :-)
Wie in den Antworten erläutert, hat jeder seine eigenen Stärken. Einige Projekte können sogar von beiden profitieren . Siehe die Antworten auf diese etwas verwandte Frage: Warum Arduino mit Rasberry Pi verbinden?
Edgar Bonet
2
@ EugeneSh. Trotzdem übertrifft es Pi immer in Bezug auf Betriebszeit, Stromverbrauch, GPIO-Ausgangsstrom, ADC und die Treiberbibliotheken für WiFi-Abschirmungen brechen im Betrieb nicht. Versuchen Sie, zwei Wochen lang eine Live-WLAN-Verbindung mit einem Pi
aufrechtzuerhalten
2
Arduinos schlagen normalerweise auch einen Pi in Bezug auf Sicherheit, ein vollständiges Betriebssystem hat mit Sicherheit mehr Exploits als ein Nano, der ein paar hundert Codezeilen ausführt. : D
Avamander

Antworten:

7

Etwas von einer meinungsgebundenen Frage, aber ich werde ein Feedback geben. Es kommt auf verschiedene Dinge an:

  • Wie viel UX und UI möchten Sie Ihrem Client geben?
  • Wie einfach können Sie es programmieren
  • Welches ist eine billigere Lösung
  • Wie schnell soll das Programm ausgeführt werden?
  • Was ist haltbarer und wie lange möchten Sie das Gerät verwenden?

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.

KingDuken
quelle
1
Ja. Ich denke, Arduino ist besser für sensorbezogene Projekte. Ich denke auch, dass Pi mehr Strom verbraucht.
Vergessen Sie nicht, dass es mehr Arduinos als nur das Arduino UNO gibt. Beispielsweise ist das DUE eine 32-Bit-MCU, die für Aufgaben verwendet werden kann, die normalerweise nicht für einen Standard-Mikrocontroller wie DSP geeignet sind.
@AJ Bevor ich meine Antwort bearbeitet habe, habe ich über das Due gesprochen, aber ich habe keinen Zweck gefunden, es aufzunehmen, da die Funktionalität immer noch die gleiche ist wie bei den 8-Bit-Geschwistern ... Ich habe gesehen, wie Leute ihre eigenen Betriebssysteme mit geschrieben haben der Due, was eine ziemliche Leistung ist.
KingDuken
Raspberry Pi ist leistungsfähiger, aber ein Mikrocontroller ist konsistenter. Wenn Sie einen Wert mit sehr spezifischen Zeitabläufen nach unten drücken müssen, benötigen Sie ein Arduino, da ein vollständiges Betriebssystem auf dem Himbeer-Pi manchmal zu Verzögerungen führt, wenn das Betriebssystem zuerst andere Aufgaben plant.
Qwertie
9

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.

Nick Gammon
quelle
1
Der Fehlerpunkt ist ziemlich gut. Da der Pi all die normalen Linux-Aufgaben wie das Schreiben in den Speicher ausführt, verliert er an Leistung und kann das Betriebssystem beschädigen, wenn ein Arduino ohne Probleme ein- und ausgeschaltet werden kann.
Qwertie
6

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.

altai
quelle
4

Wann sollte ich mich für Raspberry Pi über Arduino entscheiden?

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
2
Bare-Metal-Programme auf RPi werden für Echtzeitanforderungen nicht schlechter als Arduino abschneiden. Die Leute werden nur durch das Betriebssystem verwöhnt.
Eugene Sh.
Ja, Bare-Metal-Programme sind zu schnell als Arduino. Cz, Pis Uhr ist fast 50-mal schneller: D
Mitu Raj
2

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!

Mitu Raj
quelle