Wanneer Raspberry Pi de voorkeur heeft boven Arduino

We doen enkele projecten in de klas. Een van mijn vrienden doet een weer- en vochtigheidsstation met Raspberry Pi met een paar sensoren en een LCD-scherm. Ik heb een beetje ervaring in Arduino. Dus ik vroeg haar, waarom doet ze het niet met een Arduino? Ze zei dat Pi meer 'krachtig' is. In welke aspecten is het krachtiger dan Arduino? Wanneer moet ik voor Raspberry Pi boven Arduino gaan?

7
Het is inderdaad krachtiger. Toch een doorschieter voor een "weerstation". RPi is een volledig uitgeruste computer . Arduino is een behoorlijk domme en zwakke microcontroller.
toegevoegd de auteur Deestan, de bron

5 antwoord

De bewering dat de Pi meer "krachtig" is, is een beetje misleidend. Wat betekent 'krachtig' eigenlijk? En is het relevant voor het maken van een weerstation?

Ik heb een temperatuur- en vochtigheidssensor gemaakt zoals beschreven hier met behulp van een Atmega328P (de processor die zich in de Arduino Uno bevindt). Het geschatte gemiddelde stroomverbruik is 42 μA, waardoor het gedurende enkele jaren van 3 x AA-batterijen kon lopen voordat ze moesten worden vervangen. Ik denk dat je zult merken dat de Pi met zijn meer "krachtige" processor en extra componenten dat niet zouden kunnen.

Ik zie aan de hand van een snelle zoekopdracht dat de Pi 80 mA tot 240 mA verbruikt als deze niet wordt gebruikt (afhankelijk van het model). Dit zou een Pi-powered weerstation 2000 keer zo snel door batterijen laten eten. Misschien zou dat een overweging zijn.

De Pi is echt een Unix PC op een bord, wat betekent dat het de normale opstartvolgorde doorloopt met de mogelijkheid dat er fouten optreden tijdens het booten. Om te zien wat die fouten zijn, moet je een toetsenbord en scherm aansluiten of via een netwerk verbinding maken vanaf een andere pc.

Ik wil niet over de pi lopen - het is een mooie goedkope Unix-computer op een klein bord. Maar de Arduinos (veel van hen) zijn iets eenvoudiger te programmeren. U hoeft zich geen zorgen te maken over het besturingssysteem. Voor een weerstation, elke 5 minuten een meting doen, maakt het de zorg dat de Pi het lezen "50 keer sneller" kan doen?


Snelheid van herstel van slaap

Ik heb een antwoord over het laten wekken van seriële gegevens Arduino - na wat experimenteren was ik in staat om de Atmega328P binnen zes klokcycli (750 ns) uit zijn diepste slaap (260 nA - ja 0.260 μA!) Te laten ontwaken. Ik betwijfel of je dat op de Pi zou kunnen bereiken, ofwel het lage stroomverbruik, ofwel wakker worden in minder dan een microseconde.

Dit was snel genoeg om het startbit in seriële gegevens te detecteren op 9600 baud, het startbit te verwerken en vervolgens de rest van de binnenkomende byte zonder gegevens te verliezen.

9
toegevoegd
Het foutenpunt is redelijk goed. Omdat de pi al het normale linux-materiaal, zoals schrijven naar opslag, doet, verliest het zijn kracht. Het zou het besturingssysteem kunnen breken als een Arduino zonder problemen kan worden uitgeschakeld en aangezet.
toegevoegd de auteur Qwertie, de bron

Een beetje een eigenzinnige vraag, maar ik zal wat feedback geven. Het hangt van verschillende dingen af:

  • Hoeveel UX en UI u aan uw klant wilt geven
  • Hoe gemakkelijk kun je het programmeren
  • Wat een goedkopere oplossing is
  • Hoe snel wilt u dat het programma wordt uitgevoerd
  • Wat is duurzamer en hoe lang wilt u het apparaat gebruiken

Om te voorkomen dat dit antwoord lang duurt, zal ik een snelle vergelijking maken van mijn ervaringen met beide.

Arduino: Cheap, easy to program, capable of flexibility with UX and UI but has very limited memory. The Arduino is typically good for something that can just complete tasks on their own. I've written state machines and have used it for PLCs with an Arduino. It's a good device for a cheaper budget. Arduino is pretty fragile, however.

Raspberry Pi: More expensive, a lot more powerful in terms of processing speed, has a lot more memory, extremely good for UX and UI devices that are being developed, good for artificial intelligence, state machines, PLCs, etc. Also really good for data logging, image processing, and radio frequency applications. You can also boot an operating system on it (e.g. Linux/Unix). In other words, a Raspberry Pi can used as a computer while the Arduino... well I guess it depends how you define, "computer" LOL.

Dus als je iets zo eenvoudig probeert te doen als het gebruik van sensoren en LED's, zou ik voor de Arduino Uno gaan.

7
toegevoegd

In tegenstelling tot de Arduino-boards, is de Raspberry Pi een computer met één board met een quad-core CPU, een GPU, ingebouwd RAM-geheugen en vele randapparatuur. Het belangrijkste verschil tussen de Pi en de Arduino (of een basismicrocontroller) is het besturingssysteem. De Pi voert vele Linux-distributies uit (Debian is de officiële), waardoor de gebruiker complexe computertaken kan uitvoeren die onmogelijk zonder Arduino op externe circuits kunnen worden uitgevoerd. Daarom zou de Raspberry Pi geschikt zijn voor alle software die een aanzienlijke CPU/GPU-stroom of geheugen vereist. Houd er rekening mee dat de meeste Arduino's kunnen worden gekoppeld aan hetzelfde type randapparatuur dat zich op de Raspberry Pi bevindt, hoewel de verwerkingskracht mogelijk ontbreekt. Ook low-level interfacing met analoge signalen is veel handiger met Arduino, omdat het geïntegreerde ADC's (analoog-naar-digitaal converters) heeft.

6
toegevoegd

Wanneer moet ik voor Raspberry Pi boven Arduino gaan

Er is altijd een prijsverschil maar afgezien daarvan zou ik zeggen: de Raspberry Pi kan alles wat de Arduino kan doen en het doen betere en snellere BEHALVE taken die zeer tijdkritisch zijn. Dus als je moet reageren op gebeurtenissen in microseconden of milliseconden of als je signalen in die orde van grootte moet genereren, heb je een Arduino nodig.

4
toegevoegd
Kale metalen programma's op RPi zullen niet slechter presteren dan Arduino voor realtime-eisen. Mensen worden gewoon verwend door OS erop te hebben.
toegevoegd de auteur Deestan, de bron
Ja, bare metalen programma's zullen te snel zijn dan Arduino. Cz, Pi's klok is bijna 50 keer sneller: D
toegevoegd de auteur Adarsh, de bron

In op "pure hardware" gebaseerde systemen, real-time systemen, kun je altijd Arduino boven Pi met OS verkiezen. Stroomverbruik, prijs zijn andere pluspunten voor UNO. Pi is altijd de betere in complexe computertaken, waar het besturingssysteem deze taken vereenvoudigt. Maar u wilt absoluut geen "computer" gebruiken voor sensorgerelateerde projecten!

2
toegevoegd