Otázka:
Když se dává přednost Raspberry Pi před Arduinem
Meenie Leis
2017-12-08 01:05:28 UTC
view on stackexchange narkive permalink

Ve třídě děláme několik projektů. Jeden z mých přátel dělá meteorologickou a vlhkostní stanici pomocí maliny Pi s několika senzory a LCD. Mám trochu zkušeností v Arduinu. Takže jsem se jí zeptal, proč to nedělá pomocí Arduina? Řekla, že Pi je „silnější“. V jakých aspektech je výkonnější než Arduino? Kdy bych měl jít na Raspberry Pi přes Arduino?

Je to opravdu silnější. Přesto přestřelení „meteorologické stanice“. RPi je plně vybavený * počítač *. Arduino je docela hloupý a slabý mikrokontrolér.
Překročení. Hm, cítil jsem se trochu stejně :-)
Jak je vysvětleno v odpovědích, každý má své vlastní silné stránky. Některé projekty mohou dokonce těžit z používání _both_. Podívejte se na odpovědi na tuto poněkud související otázku: [Proč propojovat Arduino s Rasberry Pi?] (Https://arduino.stackexchange.com/questions/25060)
@EugeneSh. Přesto vždy překoná Pi při provozuschopnosti, spotřebě energie, výstupním proudu GPIO, má ADC a knihovny ovladačů pro štíty WiFi se nerozbijí. Zkuste zachovat živé WiFi spojení s Pi po dobu dvou týdnů ...
Arduinos obvykle také porazil Pi, pokud jde o bezpečnost, plný OS má určitě více exploitů než Nano s několika stovkami řádků kódu. : D
Pět odpovědi:
Nick Gammon
2017-12-08 07:20:26 UTC
view on stackexchange narkive permalink

Tvrzení, že Pi je „výkonnější“, je trochu zavádějící. Co ve skutečnosti znamená „silný“? A je relevantní výroba meteorologické stanice?

Vytvořil jsem senzor teploty a vlhkosti, jak je popsáno zde, pomocí Atmega328P (procesor, který je v Arduino Uno). Odhadovaná průměrná spotřeba energie je 42 µA, což jí umožnilo běh z 3 x AA baterií několik let, než bylo nutné ji vyměnit. Myslím, že zjistíte, že Pi s jeho „výkonnějším“ procesorem a dalšími komponentami by to nedokázalo.

Z rychlého vyhledávání vidím, že Pi spotřebuje 80 mA až 240 mA, když volnoběh (v závislosti na modelu). Díky tomu by meteorologická stanice napájená z Pi mohla dvakrát rychle přejít bateriemi. Možná by to byla úvaha.

Pi je ve skutečnosti unixový počítač na desce, což znamená, že prochází normální spouštěcí sekvencí s možností výskytu chyb během bootování. Chcete-li zjistit, jaké jsou tyto chyby, musíte připojit klávesnici a obrazovku nebo se k ní připojit prostřednictvím sítě z jiného počítače.

Nechci spustit Pi - je to pěkný levný Unix počítač na malé desce. Programování Arduinos (mnoho z nich) je ale o něco jednodušší. Pro začátek si nemusíte dělat starosti s operačním systémem. Pokud jde o meteorologickou stanici, která odečítá každých 5 minut, koho by zajímalo, zda Pi může odečíst hodnotu „50krát rychleji“?


Rychlost zotavení ze spánku

mít odpověď o tom, jak nechat sériová data probudit Arduino - po nějakém experimentování jsem dokázal přimět Atmega328P probudit se z nejhlubšího spánku (260 nA - ano 0,260 µA!) do 6 hodinových cyklů (750 ns ). Pochybuji, že byste toho mohli dosáhnout na Pi, buď s nízkou spotřebou energie, nebo probuzením za mikrosekundu.

To bylo dost rychlé na to, aby bylo možné detekovat počáteční bit v sériových datech při 9600 baudech, zpracovat start bit, a pak zbytek příchozího bajtu bez ztráty dat.

Bod chyby je docela dobrý. Protože pi dělá všechny běžné linuxové věci, jako je zápis do úložiště, ztrácí energii a mohlo by to skončit rozbitím OS, kde by arduino mělo být možné vypnout a znovu zapnout bez problémů.
KingDuken
2017-12-08 01:41:13 UTC
view on stackexchange narkive permalink

Trochu dotazovaná otázka, ale dám zpětnou vazbu. Závisí to na různých věcech:

  • Kolik UX a UI chcete svému klientovi dát
  • Jak snadno to můžete naprogramovat
  • Což je levnější řešení
  • Jak rychle chcete spustit program
  • Co je odolnější a jak dlouho chcete zařízení používat

Aby tato odpověď nebyla zdlouhavá, provedu rychlé srovnání mých zkušeností s oběma.

Arduino: Levné, snadno programovatelné, schopné flexibility s UX a Uživatelské rozhraní, ale má velmi omezenou paměť. Arduino je obvykle dobré pro něco, co může provádět úkoly samy. Napsal jsem státní stroje a použil jsem je pro PLC s Arduinem. Je to dobré zařízení pro levnější rozpočet. Arduino je však docela křehké.

Raspberry Pi: Dražší, mnohem výkonnější z hlediska rychlosti zpracování, má mnohem více paměti, extrémně dobré pro UX a UI zařízení které jsou vyvíjeny, dobré pro umělou inteligenci, stavové automaty, PLC atd. Také opravdu dobré pro protokolování dat, zpracování obrazu a vysokofrekvenční aplikace. Můžete na něm také spustit operační systém (např. Linux / Unix). Jinými slovy, Raspberry Pi lze použít jako počítač, zatímco Arduino ... myslím, že záleží na tom, jak definujete „počítač“ LOL.

Takže pokud se snažíte udělat něco tak jednoduchého protože používám senzory a LED diody, rozhodl bych se pro Arduino Uno.

Ano. Myslím, že Arduino je lepší pro projekty související se senzory. Také si myslím, že Pi spotřebovává více energie.
Nezapomeňte, že existuje více Arduin než jen Arduino UNO, například DUE je 32bitový MCU, který lze použít pro úkoly, které se běžně nehodí pro standardní mikrokontrolér, jako je DSP.
@A.J. Než jsem upravil svou odpověď, hovořil jsem o Due, ale nenašel jsem důvod, proč ji zahrnout, protože funkčnost je stále stejná jako u 8bitových sourozenců ... Viděl jsem, že lidé píší své vlastní operační systémy s Due , což je docela výkon.
Raspberry pi je výkonnější, ale mikrořadič je konzistentnější. Pokud potřebujete tlačit hodnotu dolů po drátu s velmi konkrétním časováním, budete potřebovat arduino, protože mít plný OS na malinovém pi znamená, že někdy dojde ke zpožděním, když OS nejprve naplánuje další úkoly.
altai
2017-12-08 01:34:27 UTC
view on stackexchange narkive permalink

Na rozdíl od desek Arduino je Raspberry Pi jednodeskový počítač se čtyřjádrovým CPU, GPU, integrovanou RAM a mnoha periferiemi. Hlavní rozdíl mezi Pi a Arduino (nebo jakýmkoli základním mikrokontrolérem) je operační systém. Pi provozuje mnoho linuxových distribucí (oficiální je Debian), což uživateli umožňuje provádět složité výpočetní úlohy, které by bez externích obvodů nebylo možné na Arduinu spustit. Raspberry Pi by tedy byl vhodný pro jakýkoli software vyžadující značný výkon nebo paměť CPU / GPU. Mějte na paměti, že většina Arduina může být propojena se stejným typem periferií, které se nacházejí na Raspberry Pi, i když může chybět výpočetní výkon. Nízkoúrovňové propojení s analogovými signály je u Arduina mnohem pohodlnější, protože má integrované ADC (převaděče analogově-digitální).

user3535598
2017-12-08 01:31:21 UTC
view on stackexchange narkive permalink

Kdy bych měl jít na Raspberry Pi přes Arduino

Cenový rozdíl je vždy, ale kromě toho bych řekl: Raspberry Pi může dělat vše, co Arduino umí a zvládněte to lépe a rychleji OKREM úkolů, které jsou časově velmi důležité. Pokud tedy potřebujete reagovat na události v mikrosekundách nebo milisekundách nebo pokud potřebujete generovat signály v těchto řádech, budete potřebovat Arduino.

Programy Bare Metal na RPi nebudou fungovat horší než Arduino pro jakékoli požadavky v reálném čase. Lidé jsou prostě zkaženi tím, že mají OS.
Programy holého kovu budou příliš rychlé než Arduino. Cz, hodiny Pi jsou téměř 50krát rychlejší: D
Mitu Raj
2017-12-08 17:58:30 UTC
view on stackexchange narkive permalink

V systémech založených na „čistém hardwaru“, systémech v reálném čase, můžete vždy preferovat Arduino před Pi s OS. Spotřeba energie, cena jsou další plusové body pro UNO. Pi je vždy lepší ve složitých výpočetních úlohách, kde jeho operační systém tyto úkoly zjednodušuje. Určitě ale nechcete používat „počítač“ pro projekty související se senzory!



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...