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.