Freigeben über


IoT-Geräteauswahlliste

Diese IoT-Geräteauswahlliste soll Partnern einen Ausgangspunkt bei IoT-Hardware bieten, um Prototypen und Proof of Concepts schnell und einfach zu erstellen. [^1]

Alle aufgeführten Boards unterstützen Benutzer mit sämtlichen Erfahrungsniveaus.

Hinweis

Diese Tabelle soll keine vollständige Liste sein oder Lösungen für die Produktion bieten. [^2] [^3]

Sicherheitsempfehlung: Außer für Azure Sphere empfiehlt es sich, diese Geräte hinter einem Router und/oder einer Firewall aufzubewahren.

[^1]: Wenn Sie mit der Hardwareprogrammierung noch nicht vertraut sind, empfehlen wir für die MCU-Entwicklungsarbeit die Verwendung von VS Code Arduino Extension oder VS Code Platform IO Extension. Bei der SBC-Entwicklungsarbeit programmieren Sie das Gerät wie einen Laptop, d. h., direkt auf dem Gerät. Der Raspberry Pi unterstützt die VS Code-Entwicklung.

[^2]: Geräte in der Verfügbarkeit von Supportressourcen, gängige Boards, die für Prototypen und PoCs verwendet werden, und Boards, die anfängerfreundliche IDs wie Arduino IDE und VS Code-Erweiterungen unterstützen; Beispiel: Arduino-Erweiterung und Plattform-IO-Erweiterung. Der Einfachheit halber wurde die Anzahl der Geräte auf der Liste <6 gehalten. Andere Teams und Einzelpersonen haben sich möglicherweise dafür entschieden, andere Boards basierend auf ihrer Interpretation der Kriterien zu verwenden.

[^3]: Um Geräte in die Produktion zu bringen, sollten Sie einen PoC mit einem bestimmten Chipsatz, STM32 von ST oder der Mikrochip-Boardserie Pic-IoT Breakout testen, ein benutzerdefiniertes Board entwerfen, das für geringere Kosten als die hier aufgeführten MCUs und SBCs hergestellt werden kann, oder sogar FPGA-basierte Dev-Kits erkunden. Sie sollten außerdem eine Entwicklungsumgebung für professionelle Elektrotechnik wie STM32CubeMX oder browserbasierte ARM mBed-Programmierung verwenden.

Inhalte

`Section` Beschreibung
Beginnen Sie hier Ein Leitfaden zur Verwendung dieser Auswahlliste. Enthält vorgeschlagene Auswahlkriterien.
Auswahldiagramm Ein visuelles Element, das allgemeine Auswahlkriterien mit möglichen Hardwareoptionen zusammenfasst.
Terminologie- und ML-Anforderungen Terminologie- und Akronymdefinitionen sowie Geräteanforderungen für Edge Machine Learning (ML).
MCU-Geräteliste Eine Liste der empfohlenen MCUs (Microcontroller Units, Mikrocontrollereinheiten), z. B. ESP32, mit technischen Spezifikationen und Alternativen.
SBC-Geräteliste Eine Liste der empfohlenen SBCs, z. B. Raspberry Pi, mit technischen Spezifikationen und Alternativen.

Beginnen Sie hier

Verwenden dieses Dokuments

Verwenden Sie dieses Dokument, um IoT-Terminologie und Überlegungen zur Geräteauswahl besser zu verstehen sowie ein IoT-Gerät zur Prototyperstellung oder zur Erstellung eines Proof of Concept auszuwählen. Wir empfehlen die folgende Vorgehensweise:

  1. Lesen Sie den Abschnitt „Was bei der Auswahl eines Boards überlegt werden sollte“, um Anforderungen und Einschränkungen zu identifizieren.

  2. Verwenden Sie die „Visuelle Auswahl der Anwendung“, um mögliche Optionen für Ihr IoT-Szenario zu identifizieren.

  3. Überprüfen Sie anhand der MCU- oder SBC-Gerätelisten Gerätespezifikationen, und vergleichen Sie sie mit Ihren Anforderungen/Einschränkungen.

Was bei der Auswahl eines Boards überlegt werden sollte

Berücksichtigen Sie beim Auswählen eines Geräts für Ihren IoT-Prototyp die folgenden Kriterien:

  • Mikrocontrollereinheit (MCU) oder Single Board Computer (SBC)

    • Eine MCU wird für einzelne Aufgaben bevorzugt, z. B. das Sammeln und Hochladen von Sensordaten oder maschinelles Lernen am Edge. Außerdem senken MCUs tendenziell die Kosten.
    • Ein SBC wird bevorzugt, wenn Sie mehrere verschiedene Aufgaben benötigen, z. B. das Sammeln von Sensordaten und das Steuern eines anderen Geräts. Dies kann auch in den frühen Phasen bevorzugt werden, wenn es viele Optionen für mögliche Lösungen gibt – mithilfe eines SBC können Sie viele verschiedene Ansätze ausprobieren.
  • Verarbeitungsleistung

    • Speicher: Überlegen Sie, wie viel Arbeitsspeicher (in Bytes), Dateispeicher und sonstiger Speicher zum Ausführen von Programmen für Ihr Projekt benötigt werden.

    • Taktfrequenz: Überlegen Sie, wie schnell Ihre Programme ausgeführt werden müssen oder wie schnell das Gerät mit dem IoT-Server kommunizieren muss.

    • Ende der Lebensdauer: Überlegen Sie, ob Sie ein Gerät mit den aktuellsten Features und Dokumentationen benötigen oder ob Sie ein nicht mehr unterstütztes Gerät als Prototyp verwenden können.

  • Stromverbrauch

    • Leistung: Überlegen Sie, wie viel Spannung und Strom das Board verbraucht. Ermitteln Sie, ob eine Stromversorgung über eine Wandsteckdose unmittelbar verfügbar ist oder ob Sie für Ihre Anwendung einen Akku benötigen.

    • Verbindung: Überlegen Sie die physische Verbindung mit der Stromquelle. Wenn Sie Akkuleistung benötigen, überprüfen Sie, ob ein Akku-Verbindungsport auf dem Board verfügbar ist. Wenn es keinen Akku-Konnektor gibt, suchen Sie ein anderes vergleichbares Board, oder überlegen Sie andere Möglichkeiten zum Hinzufügen von Akkustrom zu Ihrem Gerät.

  • Inputs and outputs

    • Ports und Pins: Überlegen Sie, wie viele und welche Arten von Ports und I/O-Pins für Ihr Projekt möglicherweise erforderlich sind. * Zusätzliche Überlegungen umfassen die Frage, ob Ihr Gerät mit anderen Sensoren oder Geräten kommunizieren wird. Wenn dies zutrifft, identifizieren Sie, wie viele Ports diese Signale erfordern.

    • Protokolle: Wenn Sie mit anderen Sensoren oder Geräten arbeiten, überlegen Sie, welche Hardwarekommunikationsprotokolle erforderlich sind. * Sie benötigen beispielsweise CAN, UART, SPI, I2C oder andere Kommunikationsprotokolle.

    • Strom: Überlegen Sie, ob Ihr Gerät andere Komponenten wie Sensoren ein- und ausschalten wird. Wenn Ihr Gerät andere Komponenten ein- und ausschaltet, identifizieren Sie die Spannung und die Stromausgabe der verfügbaren Strompins des Geräts, und ermitteln Sie, welche Spannung/welchen Strom Ihre anderen Komponenten benötigen.

    • Typen: Ermitteln Sie, ob Sie mit analogen Komponenten kommunizieren müssen. Wenn Sie analoge Komponenten benötigen, identifizieren Sie, wie viele analoge I/O-Pins für Ihr Projekt erforderlich sind.

    • Peripheriegeräte: Überlegen Sie, ob Sie ein Gerät mit integrierten Sensoren oder anderen Features wie einem Bildschirm, Mikrofon usw. bevorzugen.

  • Entwicklung

    • Programmiersprache: Überlegen Sie, ob Ihr Projekt höhere Programmmiersprachen (über C/C++ hinaus) erfordert. Wenn dies zutrifft, identifizieren Sie die gängigen Programmiersprachen, die Sie für die Anwendung benötigen (beispielsweise erfolgt Machine Learning oft in Python). Überlegen Sie, welche SDKs, APIs und/oder Bibliotheken für Ihr Projekt hilfreich oder erforderlich sind. Identifizieren Sie, in welchen Programmiersprachen diese unterstützt werden.

    • IDE: Überlegen Sie die Entwicklungsumgebungen, die das Gerät unterstützt, und ob dies die Anforderungen, Fähigkeiten und/oder Vorlieben Ihrer Entwickler erfüllt.

    • Community: Überlegen Sie, wie viel Unterstützung Sie wünschen/benötigen, um eine Lösung zu erstellen. Überlegen Sie beispielsweise, ob Sie lieber mit Beispielcode beginnen möchten, ob Sie Rat oder Hilfe zur Problembehandlung benötigen, oder ob Sie von einer aktiven Community profitieren würden, die neue Beispiele generiert und die Dokumentation aktualisiert.

    • Dokumentation: Schauen Sie sich die Gerätedokumentation an. Identifizieren Sie, ob sie vollständig und einfach einzuhalten ist. Überlegen Sie, ob Sie Schaltschemata, Beispiele, Datenblätter oder andere Arten von Dokumentation benötigen. Wenn dies zutrifft, informieren Sie sich in einer Suche, ob diese Elemente für Ihr Projekt verfügbar sind. Berücksichtigen Sie die Software-SDKs/APIs/Bibliotheken, die für das Board geschrieben werden, und überlegen Sie, ob diese Elemente Ihren Prozess der Prototyperstellung erleichtern würden. Identifizieren Sie, ob diese Dokumentation verwaltet wird, und von wem.

  • Security

    • Netzwerk: Überlegen Sie, ob Ihr Gerät mit einem externen Netzwerk verbunden ist oder ob es hinter einem Router und/oder einer Firewall aufbewahrt werden kann. Wenn Ihr Prototyp mit einem externen Netzwerk verbunden werden muss, empfehlen wir die Verwendung von Azure Sphere, da dies das einzige zuverlässig sichere Gerät ist.

    • Peripheriegeräte: Überlegen Sie, ob es bei einem der Peripheriegeräte, mit denen sich Ihr Gerät verbindet, drahtlose Protokolle gibt (z. B. WLAN, BLE).

    • Physischer Standort: Überlegen Sie, ob Ihr Gerät oder eines der Peripheriegeräte, mit denen es verbunden ist, für die Öffentlichkeit zugänglich ist. Wenn dies zutrifft, empfehlen wir, das Gerät physisch unzugänglich zu machen. Beispielsweise in einem geschlossenen, gesperrten Kasten.

Visuelle Auswahl der Anwendung

Hinweis

Diese Liste ist nur für Schulungszwecke vorgesehen; sie soll keine Produkte unterstützen.

Tabelle, die allgemeine Auswahlkriterien mit möglichen Hardwareoptionen zeigt.

Terminologie und ML-Anforderungen

Dieser Abschnitt enthält Definitionen für eingebettete Terminologie und Akronyme sowie Hardwarespezifikationen für Visuelles, Akustisches und Sensoranwendungen für maschinelles Lernen (ML).

Terminologie

Terminologie und Akronyme werden in alphabetischer Reihenfolge aufgeführt.

Begriff Definition
ADC Analog zu digitalem Konverter; konvertiert analoge Signale aus verbundenen Komponenten wie Sensoren in digitale Signale, die vom Gerät gelesen werden können
Analoge Pins Werden zum Verbinden von analogen Komponenten verwendet, die kontinuierliche Signale wie Fotoresistoren (Lichtsensoren) und Mikrofone verwenden
Taktfrequenz Gibt an, wie schnell die CPU Anweisungen abrufen und interpretieren kann
Digitale Pins Werden zum Verbinden von digitalen Komponenten verwendet, die binäre Signale wie LEDs und Schalter enthalten
Flash (oder ROM) Verfügbarer Arbeitsspeicher zum Speichern von Programmen
IDE Integrierte Entwicklungsumgebung; ein Programm zum Schreiben von Softwarecode
IMU Inertiale Messeinheit
IO- (oder I/O-)Pins Input/Output (Eingabe-/Ausgabe)-Pins zum Kommunizieren mit anderen Geräten wie Sensoren und anderen Controllern
MCU Mikrocontrollereinheit; ein kleiner Computer auf einem einzigen Chip, der eine CPU, RAM und IO enthält
MPU Mikroprozessoreinheit; ein Computerprozessor, der die Funktionen der zentralen Verarbeitungseinheit (Central Processing Unit, CPU) eines Computers auf einem einzigen integrierten Schaltkreis (Integrated Circuit, IC) oder höchstens in wenigen integrierten Schaltkreisen enthält.
ML Maschinelles Lernen; spezielle Computerprogramme, die komplexe Mustererkennung ausführen
PWM Pulsweitenmodulation; eine Möglichkeit, digitale Signale so zu ändern, dass analoge Effekte wie das Ändern von Helligkeit, Lautstärke und Geschwindigkeit erzielt werden
RAM (Random Access Memory) Arbeitsspeicher mit wahlfreiem Zugriff; verfügbarer Speicher zum Ausführen von Programmen
SBC Single-Board-Computer
TF TensorFlow; ein Softwarepaket für maschinelles Lernen, das für Edgegeräte entwickelt wurde
TF Lite TensorFlow Lite; eine kleinere Version von TF für kleine Edgegeräte

Hardwareanforderungen für maschinelles Lernen

Vision ML

  • Geschwindigkeit: 200 MHz
  • Flash: 300 KB
  • RAM: 100 KB

Sprache ML

  • Geschwindigkeit: 60 MHz [^4]
  • Flash: 50 KB
  • RAM: 8 KB

Sensor ML (z. B. Bewegung, Entfernung)

  • Geschwindigkeit: 20 MHz
  • Flash: 20 KB
  • RAM: 2 KB

[^4]: Die Geschwindigkeitsanforderung ist weitgehend darauf zurückzuführen, dass Prozessoren in der Lage sein müssen, mindestens 6 kHz für Mikrofone zu sampeln, damit sie menschliche Vokalfrequenzen verarbeiten können.

MCU-Geräteliste

Nachfolgend sehen Sie eine Vergleichstabelle von MCUs in alphabetischer Reihenfolge. Die Liste ist nicht als vollständig zu betrachten.

Hinweis

Diese Liste ist nur für Schulungszwecke vorgesehen; sie soll keine Produkte unterstützen. Die gezeigten Preise stellen den Durchschnitt für mehrere Vertriebspartner dar und dienen nur zur Veranschaulichung.

Boardname Preisbereich (USD) Verwendungszweck Software Geschwindigkeit Prozessor Arbeitsspeicher Onboarding von Sensoren und anderen Features IO-Pins Video Optionsfeld Akku-Konnektor? Betriebsspannung Leitfäden mit ersten Schritten Alternativen
Azure Sphere MT3620 Dev Kit ~$40 – $100 Hochgradig sichere Anwendungen C/C++, VS Code, VS 500 MHz & 200 MHz MT3620 (tri-core--1 x Cortex A7, 2 x Cortex M4) 4 MB RAM + 2 x 64 KB RAM Zertifizierungen: CE/FCC/MIC/RoHS 4 x Digital IO, 1 x I2S, 4 x ADC, 1 x RTC - Dualband 802.11 b/g/n mit Antennendiversität - 5 V 1. Azure Sphere-Beispielkatalog, 2. Azure Sphere-Wetterstation N/V
Adafruit HUZZAH32 – ESP32 Feather Board ~$20 – $25 Überwachung; IoT für Anfänger; Heimautomatisierung Arduino IDE, VS Code 240 MHz 32-Bit ESP32 (Dual-Core Tensilica LX6) 4 MB SPI Flash, 520 KB SRAM Hall-Sensor, 10 x kapazitive Touch-IO-Pins, 50+ Add-On-Boards 3 x UARTs, 3 x SPI, 2 x I2C, 12 x ADC-Eingaben, 2 x I2S Audio, 2 x DAC - 802.11b/g/n HT40 WLAN-Transceiver, Baseband, Stack und lwIP, Bluetooth und BLE 3,3 V 1. Wissenschaftliche Gefrierschranküberwachung, 2. Azure IoT SDK Arduino-Beispiele Arduino Uno WLAN Rev 2 (~$50 – $60)
Arduino Nano RP2040 Connect ~$20 – $25 Fernbedienung; Überwachung Arduino IDE, VS Code, C/C++, MicroPython 133 MHz 32-Bit RP2040 (Dual-Core Cortex M0+) 16 MB Flash, 264 KB RAM Mikrofon, 6-Achsen-IMU mit KI-Funktionen 22 x Digital IO, 20 x PWM, 8 x ADC - WLAN, Bluetooth - 3,3 V - Adafruit Feather RP2040 (HINWEIS: benötigt außerdem ein FeatherWing für WLAN)
ESP32-S2 Saola-1 ~$10 – $15 Heimautomatisierung; IoT für Anfänger; ML; Überwachung; Mesh-Netzwerk Arduino IDE, Circuit Python, ESP IDF 240 MHz 32-Bit ESP32-S2 (Single-Core Xtensa LX7) 128 KB Flash, 320 KB SRAM, 16 KB SRAM (RTC) 14 x kapazitive Touch-IO-Pins, Temperatursensor 43 x digitale Pins, 8 x PWM, 20 x ADC, 2 x DAC Serial LCD, Parallel PCD WLAN 802.11 b/g/n (802,11n bis zu 150 Mbps) - 3,3 V 1. Sichere Personenerkennung mit Azure ML, 2. Azure Cost Monitor ESP32-DevKitC (~$10 – $15)
Wio Terminal (Seeed Studio) ~$40 – $50 Überwachung; Heimautomatisierung; ML Arduino IDE, VS Code, MicroPython, ArduPy 120 MHz 32-Bit ATSAMD51 (Single-Core Cortex-M4F) 4 MB SPI Flash, 192 KB SRAM On-Board-Bildschirm, Mikrofon, IMU, Buzzer, MicroSD-Slot, Lichtsensor, IR-Emitter, Raspberry Pi GPIO-Mount (als untergeordnetes Gerät) 26 x digitale Pins, 5 x PWM, 9 x ADC 2,4" 320x420 Color LCD Dualband 2,4Ghz/5Ghz (Realtek RTL8720DN) - 3,3 V Überwachen von Anlagen mit Azure IoT Adafruit FunHouse (~$30 – $40)

SBC-Geräteliste

Nachfolgend sehen Sie eine Vergleichstabelle von SBCs in alphabetischer Reihenfolge. Die Liste ist nicht als vollständig zu betrachten.

Hinweis

Diese Liste ist nur für Schulungszwecke vorgesehen; sie soll keine Produkte unterstützen. Die gezeigten Preise stellen den Durchschnitt für mehrere Vertriebspartner dar und dienen nur zur Veranschaulichung.

Boardname Preisbereich (USD) Verwendungszweck Software Geschwindigkeit Prozessor Arbeitsspeicher Onboarding von Sensoren und anderen Features IO-Pins Video Optionsfeld Akku-Konnektor? Betriebsspannung Leitfäden mit ersten Schritten Alternativen
Raspberry Pi 4, Modell B ~$30 – $80 Heimautomatisierung; Robotik; Autonome Fahrzeuge; Steuerungssysteme; Feldwissenschaft Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, mehr 1,5 GHz CPU, 500 MHz GPU 64-Bit-Broadcom BCM2711 (Quad-Core Cortex-A72), VideoCore VI GPU 2GB/4GB/8GB LPDDR4 RAM, SD-Karte (nicht enthalten) 2 x USB 3-Anschlüsse, 1 x MIPI DSI-Anzeigeport, 1 x MIPI CSI-Kameraport, 4-poliger Stereo-Audio- und Verbund-Videoport, Power over Ethernet (erfordert HAT) 26 x Digital, 4 x PWM 2 Micro-HDMI Composite, MPI DSI WLAN, Bluetooth 5 V 1. Senden von Daten an IoT Hub, 2. Überwachen von Anlagen mit Azure IoT BeagleBone Black Wireless (~$50 – $60)
NVIDIA Jetson 2 GB Nano Dev Kit ~$50 – $100 KI/ML; Autonome Fahrzeuge Ubuntu-basiertes JetPack 1,43 GHz CPU, 921 MHz GPU 64-Bit NVIDIA CPU (Quad-Core Cortex-A57), 128-CUDA-Core Maxwell GPU-Coprozessor 2GB/4GB LPDDR4 RAM 472 GFLOPS für KI Perf, 1 x MIPI CSI-2 Connector 28 x Digital, 2 x PWM HDMI, DP (nur 4 GB) Gigabit Ethernet, 802.11ac WLAN 5 V Deepstream-Integration in Azure IoT Central BeagleBone KI (~$110 – $120)
Raspberry Pi Zero W2 ~$15 – $20 Heimautomatisierung; ML; Fahrzeugänderungen; Feldwissenschaft Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, mehr 1 GHz CPU, 400 MHz GPU 64-Bit Broadcom BCM2837 (Quad-Core Cortez-A53), VideoCore IV GPU 512 MB LPDDR2 RAM, SD-Karte (nicht enthalten) 1 x CSI-2 Kamerakonnektor 26 x Digital, 4 x PWM Mini-HDMI WLAN, Bluetooth - 5 V Senden von Daten an Azure IoT Hub und Visualisieren von Daten Onion Omega2+ (~$10 – $15)
DFRobot LattePanda ~$100 – $160 Heimautomatisierung; Hyperscale-Cloudkonnektivität; KI/ML Windows 10, Ubuntu 16.04, OpenSuSE 15 1,92 GHz 64-Bit Intel Z8350 (Quad-Core x86-64), Atmega32u4-Coprozessor 2 GB DDR3L RAM, 32 GB eMMC/4 GB DDR3L RAM, 64 GB eMMC - 6 x Digital (20 x über Atmega32u4), 6 x PWM, 12 x ADC HDMI, MIPI DSI WLAN, Bluetooth 5 V 1. Erste Schritte mit Microsoft Azure, 2. Home Monitoring System mit Azure Seeed Odyssey X86J4125800 (~$210 – $230)

Fragen? Anforderungen?

Bitte übermitteln Sie ein Problem!

Weitere Informationen

Weitere hilfreiche Ressourcen sind: