Spørsmål:
Når Raspberry Pi foretrekkes fremfor Arduino
Meenie Leis
2017-12-08 01:05:28 UTC
view on stackexchange narkive permalink

Vi gjør noen prosjekter i timene. En av vennene mine gjør en vær- og fuktighetsstasjon ved hjelp av bringebær Pi med et par sensorer og LCD. Jeg har litt erfaring i Arduino. Så jeg spurte henne, hvorfor gjør hun det ikke ved hjelp av en Arduino? Hun sa Pi er mer 'kraftig'. I hvilke aspekter er den kraftigere enn Arduino? Når skal jeg gå for Raspberry Pi over Arduino?

Det er faktisk kraftigere. Likevel et overskudd for en "værstasjon". RPi er en fullverdig * datamaskin *. Arduino er en ganske dum og svak mikrokontroller.
Overskyting. Hm jeg følte det samme :-)
Som forklart i svarene, har hver sin styrke. Noen prosjekter kan til og med ha nytte av å bruke _both_. Se svarene på dette noe beslektede spørsmålet: [Hvorfor koble arduino med Rasberry pi?] (Https://arduino.stackexchange.com/questions/25060)
@EugeneSh. Likevel slår den alltid Pi på oppetid, strømforbruk, GPIO-utgangsstrøm, har ADC, og driverbibliotekene for WiFi-skjold bryter ikke i drift. Prøv å holde en live WiFi-kobling med en Pi i to uker ...
Arduinos slår vanligvis også en Pi når det gjelder sikkerhet, et fullt operativsystem har absolutt flere utnyttelser enn en Nano som kjører noen hundre linjer med kode. : D
Fem svar:
Nick Gammon
2017-12-08 07:20:26 UTC
view on stackexchange narkive permalink

Påstanden om at Pi er mer "kraftig" er litt misvisende. Hva betyr egentlig "kraftig"? Og er det relevant å lage en værstasjon?

Jeg lagde en temperatur- og fuktighetssensor som beskrevet her ved hjelp av en Atmega328P (prosessoren som er i Arduino Uno). Det estimerte gjennomsnittlige strømforbruket er 42 µA, som har gjort det mulig å kjøre fra 3 x AA-batterier i et par år før de trengte utskifting. Jeg tror du vil finne at Pi med sin mer "kraftige" prosessor og ekstra komponenter ikke ville være i stand til å gjøre det.

Jeg ser fra et raskt søk at Pi bruker 80 mA til 240 mA når inaktiv (avhengig av modell). Dette ville få en Pi-drevet værstasjon til å spise gjennom batteriene 2000 ganger så raskt. Kanskje det ville være en vurdering.

Pi er egentlig en Unix-PC på et tavle, noe som betyr at den går gjennom den normale oppstartssekvensen med en mulighet for feil som oppstår under oppstart. For å se hva disse feilene er, må du koble til et tastatur og skjerm, eller koble via et nettverk til det fra en annen PC.

Jeg vil ikke kjøre ned Pi - det er en fin billig Unix datamaskin på et lite brett. Men Arduinos (mange av dem) er noe enklere å programmere. Du trenger ikke å bekymre deg for operativsystemet for en start. For en værstasjon som tar en lesning hvert 5. minutt, hvem bryr seg om Pi kan ta lesingen "50 ganger raskere"?


Hurtig utvinning fra søvn

I ha et svar om å la seriedata vekke en Arduino - etter litt eksperimentering var jeg i stand til å få Atmega328P til å våkne fra den dypeste søvnen (260 nA - ja 0.260 µA!) innen 6 klokkesykluser (750 ns ). Jeg tviler på at du kunne oppnå det på Pi, enten det lave strømforbruket, eller å våkne opp under et mikrosekund.

Dette var raskt nok til å oppdage startbiten i seriedata på 9600 baud, behandle starten bit, og deretter resten av innkommende byte uten å miste data.

Feilpoenget er ganske bra. Fordi pi gjør alle vanlige linux ting som å skrive til lagring, mister den strømmen, det kan ende opp med å bryte operativsystemet der som en arduino skal kunne slås av og på uten problemer.
KingDuken
2017-12-08 01:41:13 UTC
view on stackexchange narkive permalink

Noe av et meningsfylt spørsmål, men jeg vil gi tilbakemelding. Det avhenger av forskjellige ting:

  • Hvor mye UX og UI du vil gi til klienten din
  • Hvor enkelt kan du programmere det
  • Hvilket er en billigere løsning
  • Hvor raskt vil du at programmet skal kjøres
  • Hva er mer holdbart og hvor lenge vil du bruke enheten

For å forhindre at dette svaret blir langt, vil jeg gjøre en rask sammenligning fra mine erfaringer med begge deler.

Arduino: Billig, enkel å programmere, i stand til fleksibilitet med UX og UI men har veldig begrenset minne. Arduino er vanligvis bra for noe som bare kan fullføre oppgaver alene. Jeg har skrevet statsmaskiner og har brukt den til PLS-er med en Arduino. Det er en god enhet for et billigere budsjett. Arduino er imidlertid ganske skjøre.

Raspberry Pi: Dyrere, mye kraftigere når det gjelder prosesseringshastighet, har mye mer minne, ekstremt bra for UX- og UI-enheter. som er under utvikling, bra for kunstig intelligens, tilstandsmaskiner, PLCer osv. Også veldig bra for datalogging, bildebehandling og radiofrekvensapplikasjoner. Du kan også starte et operativsystem på det (f.eks. Linux / Unix). Med andre ord, en Raspberry Pi kan brukes som en datamaskin mens Arduino ... vel jeg antar at det kommer an på hvordan du definerer, "datamaskin" LOL.

Så hvis du prøver å gjøre noe så enkelt som å bruke sensorer og lysdioder, vil jeg gå for Arduino Uno.

Ja. Jeg antar at Arduino er bedre for sensorrelaterte prosjekter. Jeg tror også Pi bruker mer strøm.
Ikke glem at det er flere Arduinos enn bare Arduino UNO, for eksempel er DUE en 32-biters MCU som kan brukes til oppgaver som normalt ikke passer for en standard mikrokontroller som DSP.
@A.J. Før jeg redigerte svaret mitt, snakket jeg om Due, men jeg fant ikke noe formål med å inkludere det fordi funksjonaliteten fremdeles er den samme som 8-biters søsken ... Jeg har sett folk skrive sine egne operativsystemer med Due , som er ganske en bragd.
Raspberry pi er kraftigere, men en mikrokontroller er mer konsistent. Hvis du trenger å skyve en verdi ned på en ledning med veldig spesifikke tidsinnstillinger, trenger du en arduino fordi det å ha et fullstendig operativsystem på bringebær-pi betyr at det noen ganger vil være forsinkelser fra operativsystemet som planlegger andre oppgaver først.
altai
2017-12-08 01:34:27 UTC
view on stackexchange narkive permalink

I motsetning til Arduino-kortene, er Raspberry Pi en enkeltkort-datamaskin med en firekjerners CPU, en GPU, innebygd RAM og mange eksterne enheter. Hovedforskjellen mellom Pi og Arduino (eller en hvilken som helst grunnleggende mikrokontroller) er operativsystemet. Pi kjører mange Linux-distribusjoner (Debian er den offisielle), slik at brukeren kan utføre komplekse databehandlingsoppgaver som ville være umulig å kjøre på Arduino uten eksterne kretser. Derfor vil Raspberry Pi være tilstrekkelig for all programvare som krever betydelig CPU / GPU-kraft eller minne. Husk at de fleste Arduino-er kan grensesnitt med samme type periferiutstyr som finnes på Raspberry Pi, selv om prosessorkraft kan mangle. Også grensesnitt på lavt nivå med analoge signaler er mye mer praktisk med Arduino, siden det har integrerte ADCer (analog-til-digitale omformere).

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

Når skal jeg gå for Raspberry Pi over Arduino

Det er alltid prisforskjellen, men bortsett fra det vil jeg si: Raspberry Pi kan gjøre alt Arduino kan og gjør det bedre og raskere UNNTAT oppgaver som er veldig tidskritiske. Dermed hvis du trenger å svare på hendelser i mikrosekunder eller millisekunder, eller hvis du trenger å generere signaler i størrelsesorden, trenger du en Arduino.

Bare metal-programmer på RPi vil ikke utføre noe dårligere enn Arduino for noen sanntidskrav. Folk blir bare bortskjemt med å ha OS på det.
Ja bare metal-programmer vil være for raskere enn Arduino. Cz, Pi's klokke er nesten 50 ganger raskere: D
Mitu Raj
2017-12-08 17:58:30 UTC
view on stackexchange narkive permalink

I "pure hardware" -baserte systemer, sanntidssystemer, kan du alltid foretrekke Arduino fremfor Pi med OS. Strømforbruk, pris er andre plusspoeng for UNO. Pi er alltid den beste i komplekse databehandlingsoppgaver, der operativsystemet forenkler disse oppgavene. Men du vil ikke bruke en "datamaskin" for sensorrelaterte prosjekter!



Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...