Vergleichen von Prototyp-Plattformen: Arduino, Raspberry Pi, BeagleBone und LaunchPad

Review PZEM-004T with Arduino ESP32 ESP8266 Python & Raspberry Pi : PDAControl (Juni 2019).

$config[ads_text] not found
Anonim

Ein Blick auf die wichtigsten Vor- und Nachteile von vier populären Boards

Von Warren Miller, beitragender Autor

Eine der ersten Entscheidungen, mit denen ein Embedded-Designer konfrontiert wird, ist die Hardware-Plattform, mit der er sein Design nachweisen kann. Die richtige Prototyping-Plattform kann Wochen oder sogar Monate an Aufwand einsparen, wenn Sie vorhandene Code- und Add-On-Hardware und -Tools zum Testen und Debuggen nutzen können. Viele Embedded-Plattformen sind sogar mit Echtzeit-Betriebssystemen oder vollwertigen PC-Betriebssystemen ausgestattet. Schauen wir uns einige populäre Hardwareplattformen an und besprechen Sie einige der wichtigsten Vor- und Nachteile.

Arduino
Der Arduino verwendet einen relativ einfachen Mikrocontroller als Prozessor und hat eine native serielle Schnittstelle und ein Standardformat für Hardware-Zusatzplatinen, genannt Shields. Als eine der beliebtesten Prototyping-Plattformen gilt Arduino als einer der am einfachsten zu startenden. Es basiert auf einem relativ einfachen Mikrocontroller (ursprünglich die Atmel ATMega-Familie) und benötigt nur wenig Strom. Die Do-It-Yourself (DIY) -Community hat sich schon früh auf dem Arduino aufgehalten, so dass es ein sehr großes Ökosystem von Code, Tools, Hardware-Add-Ons ("Shields") und kompletten Projekten gibt, die Sie bei Ihrem nächsten Projekt leiten. Da der Arduino-Prozessor so einfach ist, ist es schwieriger, komplexe Echtzeit-Betriebssysteme zu verwenden, aber es hat sich als eine beliebte Plattform für die Implementierung von Anwendungen erwiesen, die mehrere Sensoren und Aktoren erfordern.

Eine Nahaufnahme des Arduino Uno. Bildquelle: arduino.com.

Raspberry Pi
Im Grunde ein Mini-Desktop-Computer auf Basis eines Multi-Core-ARM-Prozessor, der Raspberry Pi verfügt über vier USB-Anschlüsse, einen Ethernet-Anschluss, einen HDMI-Anschluss und andere, einschließlich einer Kopfzeile zum Hinzufügen von Erweiterungskarten. Es hat eine ausgezeichnete Programmierumgebung mit einer einfach zu bedienenden Grafik-Benutzeroberfläche. Der Raspberry Pi ist eine nützliche Plattform, wenn Ethernet-Konnektivität wichtig ist. Es ist außerdem leistungsstark genug, um Anwendungen zu unterstützen, die ein Echtzeitbetriebssystem oder ein Open-Source-Betriebssystem wie Linux erfordern.

Ein Blick auf den beliebten Raspberry Pi. Bildquelle: raspberrypi.org.

Beagle-Knochen
Im Wesentlichen eine Kombination der beiden oben genannten Boards, hat der BeagleBone die Flexibilität des Arduino und die Kraft des Raspberry Pi. BeagleBone basiert auf der ARM-Prozessorarchitektur und ist normalerweise mit dem bereits installierten Linux-Betriebssystem ausgestattet, so dass es eine sehr einfach zu bedienende Plattform für Anwendungen sein kann, die von Software dominiert werden. Eine lebhafte DIY-Community hat den BeagleBone übernommen, so dass eine Vielzahl von Softwareprojekten, Codebibliotheken und sogar einige Hardware-Add-Ons ("Capes" genannt) verfügbar sind.

Oben abgebildet ist der BeagleBone Blue. Bildquelle: beagleboard.org.

Launchpad
LaunchPad ist eine dem Arduino ähnliche kostengünstige Plattform mit einer einfach zu erweiternden Hardware-Architektur. Für den Anschluss von Sensoren, Displays, Aktoren, kabelloser Kommunikation und allem, was Sie benötigen, steht eine Vielzahl von Zusatzkarten zur Verfügung, die so genannten "Booster Packs". LaunchPads basieren auf verschiedenen TI-Mikrocontroller-Architekturen, darunter einige mit einer Vielzahl von Low-Power-Modi, so dass es für Low-Power-Sensorik und Steuerungsanwendungen geeignet ist. Es verfügt normalerweise über weniger Arbeitsspeicher als die anderen Plattformen und eignet sich daher am besten für einfache, stromempfindliche Anwendungen.

Oben abgebildet ist der LAUNCHXL-CC1350. Bildquelle: ti.com.

Ein genauerer Blick auf die Unterschiede
Die größten Unterschiede, die ich zwischen diesen vier Plattformen sehe, haben mit Hardware-Flexibilität und Betriebssystemunterstützung zu tun. Wenn Ihre Anwendung die Leistung eines Echtzeitbetriebssystems oder eines Linux-ähnlichen Betriebssystems benötigt, sind der Raspberry Pi oder BeagleBone wahrscheinlich die zwei besten Wahlmöglichkeiten. Diese Plattformen verfügen beide über ausreichende Ports, Speicher und Erweiterungsmöglichkeiten, um Anwendungen mit hoher Rechenleistung oder Konnektivität zu implementieren. Natürlich sollten Sie sich die verfügbaren Softwarefunktionen und -bibliotheken ansehen und diejenige auswählen, die am besten zu Ihren Anwendungsanforderungen passt.

Wenn Sie eine einfachere Anwendung haben, die kein Betriebssystem benötigt, sind das Arduino oder das LaunchPad eine gute Wahl. Der Arduino ist sehr einfach zu beginnen und ist hervorragend, wenn Sie Ihr erstes Embedded-Design beginnen oder wenn Sie nur mit einem DIY-Elektronik-Projekt beginnen möchten. Willst du Weihnachtslichter steuern oder furchterregende Spinnen in deinem Halloween-Display bewegen? Der Arduino ist eine gute Wahl. Wenn Sie eine komplexere Anwendung mit geringen Strombedarf haben und umfangreiche Erfahrungen gesammelt haben, ist das LaunchPad möglicherweise die beste Wahl. Mit dieser Option können Sie batteriebetriebene oder energieerhaltende Remote-Sensoren erstellen, die entweder drahtgebunden oder drahtlos kommunizieren. Wissen Sie, dass das LaunchPad einen etwas größeren "Fußabdruck" als andere Plattformen haben kann, so dass Sie es möglicherweise nicht direkt für umfangreiche Feldversuche verwenden können, aber Sie können es sicherlich in einem kleinen Maßstab ausprobieren.

Für welche Plattform Sie sich auch entscheiden, stellen Sie sicher, dass Sie die Vorteile der Gemeinschaft anderer Entwickler nutzen, die jede Plattform bietet. Geben Sie auch der Community einige Ergebnisse zurück, wenn es um einige Ihrer Projekte geht. Eine wichtige Gemeinschaft von Entwicklern wird es für uns alle einfacher machen, erstaunliche eingebettete Anwendungen schnell und einfach zu erstellen.